Nodes/Replicate Select/MiniMax Speech 2.8 HD (Replicate)
ComfyUI Node

MiniMax Speech 2.8 HD (Replicate)

MiniMax Speech 2.8 HD — the TTS with an emotion dial and pause markers

By Pharma-Lobby·Created 2 months ago·Updated 2 months ago· 0
MiniMax Speech 2.8 HD (Replicate)
    • audio
    text
    voice_idEnglish_Wiselady
    speed1.00
    volume1.00
    pitch0
    emotionauto
    english_normalizationfalse
    sample_rate32000
    bitrate128000
    audio_formatmp3
    channelmono
    subtitle_enablefalse
    language_boostNone

    MiniMax Speech 2.8 HD is the most controllable text-to-speech in this pack, and for narration work that's the whole game. Where most TTS nodes give you a voice dropdown and a speed slider, this one hands you an emotion selector (happy, sad, angry, calm, excited - ten of them), a pitch knob in semitones, pause markers you type straight into the text, and a voice list long enough to scroll. It also plays nicely with ComfyUI's native AUDIO type, which is the quiet technical detail that makes everything downstream work.

    TTS is the "cheap part" of any audio pipeline - the expensive compute is the video the voice drives. This node fits that: it's a cloud TTS with real production polish (MiniMax's speech models are genuinely good), and because it returns AUDIO rather than a file path, you can wire it straight into a lipsync node or SaveAudio. The pack's README specifically calls out that pattern: TTS → AUDIO → lipsync nodes via upload.

    How it works

    Standard engine around minimax/speech-2.8-hd. Your text goes up, the synthesized audio comes back, and the node converts it into a ComfyUI AUDIO dict (waveform + sample_rate). The single output is named audio and is native ComfyUI AUDIO - not a path string. That's why it can feed SaveAudio directly or upload into a lipsync model without any file juggling.

    The inputs that matter

    • text (required) - up to 10,000 characters. The neat trick: type markers like <#0.5#> to insert a 0.5-second pause. This is how you get natural pacing without post-editing.
    • voice_id - default English_Wiselady. Any MiniMax system voice, or a voice_id from MiniMax's voice-cloning model on Replicate. That's your cloning door: clone a voice elsewhere, paste its id here.
    • emotion - auto by default, plus happy/sad/angry/fearful/disgusted/surprised/calm/fluent/neutral. This is the differentiator; a "calm" vs "happy" render of the same line is dramatically different.
    • speed - 0.5–2.0x.
    • pitch - ±12 semitones. Nudge a voice up or down without changing who it is.
    • volume - 0–10, default 1.0 (the model's native gain).
    • audio_format - mp3 (default), wav/flac for lossless, or pcm for raw bytes.
    • channel - mono or stereo.
    • sample_rate - up to 44100.
    • bitrate - only applies to mp3.
    • english_normalization - improves number/date reading for English, at a small latency cost.
    • subtitle_enable - returns sentence timestamps (non-streaming only). Turn this on if you're syncing subtitles to the audio.
    • language_boost - an optional language hint; None/Automatic or pick a locale.

    Output: audio, native ComfyUI AUDIO.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/Pharma-Lobby/ComfyUI-Replicate-Select
    

    Or ComfyUI Manager → Install Custom Nodes → "Replicate Select", restart. Dependency: replicate>=1.0.7. Auth via environment variable:

    export REPLICATE_API_TOKEN=r8_...
    

    Where people get burned

    • Forgetting you can control delivery, not just content. The emotion dial and pause markers are the features; if your narration sounds flat it's because you're treating this like a basic TTS.
    • Voice cloning needs its own model. The pack's nodes only use cloned voice ids - you clone through MiniMax's separate voice-cloning model, then paste the id here.
    • mp3 vs pcm. The pcm format is raw bytes, useful for some pipelines and useless for others. Stick to wav for anything going into a lipsync node.
    CategoryReplicate Select/tts

    Inputs (13)

    NameTypeDefaultDescription
    textSTRINGText to narrate (max 10,000 characters). Use markers like <#0.5#> to insert pauses in seconds.
    voice_idoptSTRINGEnglish_WiseladyVoice to synthesize. Pick any MiniMax system voice (e.g. English_Wiselady, English_Deep-VoicedGentleman) or a voice_id returned by https://replicate.com/minimax/voice-cloning. See the full list of voi
    speedoptFLOAT1.000.5–2Speech speed multiplier (0.5–2.0). Lower is slower, higher is faster.
    volumeoptFLOAT1.000–10Relative loudness. 1.0 is default MiniMax gain. Range 0–10.
    pitchoptINT0-12–12Semitone offset applied to the voice (−12 to +12).
    emotionoptCOMBOautoDesired delivery style. Use auto to let MiniMax choose, or pick a specific emotion.
    english_normalizationoptBOOLEANfalseImprove number/date reading for English text (adds a small amount of latency).
    sample_rateoptCOMBO32000Audio sample rate in Hz.
    bitrateoptCOMBO128000MP3 bitrate in bits per second. Only used when audio_format is mp3.
    audio_formatoptCOMBOmp3File format for the generated audio. Choose mp3 for general use, wav/flac for lossless, or pcm for raw bytes.
    channeloptCOMBOmonomono for 1 channel (default), stereo for 2 channels.
    subtitle_enableoptBOOLEANfalseReturn MiniMax subtitle metadata with sentence timestamps (non-streaming only).
    language_boostoptCOMBONoneOptional language hint. Choose Automatic to let MiniMax detect the language, or pick a specific locale.

    Outputs (1)

    NameTypeDescription
    audioAUDIO