RunPod Minimax TTS
Hosted TTS with emotion sliders — MiniMax Speech 02 HD
- output
MiniMax is the Chinese lab you've probably met without knowing it - the maker of the Hailuo video service - and this node is its Speech 02 HD text-to-speech endpoint (minimax-speech-02-hd) as a RunPod public endpoint. Type text, pick a voice and an emotion, and you get back an audio URL. It's the pack's answer to "I need a decent voice for a video or a demo and I don't want to run a TTS model."
Here's the honest positioning, though: TTS is the one corner of this pack where the local option is genuinely strong. Kokoro, Chatterbox, and F5-TTS run on tiny hardware - some on CPU - and the KB notes the community often prefers Chatterbox to even ElevenLabs. So this node is a convenience purchase, not a capability unlock. Where it earns its keep: you want a clean hosted voice with emotion controls, no model files, no GPU, and you're already paying for RunPod calls anyway.
How it works
Standard pack async mechanics, aimed at an audio endpoint: POST your text and voice settings to RunPod, poll until done, and the output is an audio URL string (output). Nothing runs locally. The endpoint's emotion list - neutral, happy, sad, angry, fearful, disgusted, surprised - is the headline feature, and it's genuinely useful for character dialogue.
The inputs that matter
- prompt - the text to speak. This is the script, not a description.
- voice_id - default
Wise_Woman. This is a MiniMax voice identifier; the pack gives you the default, and RunPod's docs list the available voice IDs if you want to change it. - speed (0.5–2.0), volume (0–2), pitch (−1 to 1) - the usual TTS trim knobs, all with sane defaults. Pitch at 0, speed at 1.
- emotion - the dropdown:
neutral,happy,sad,angry,fearful,disgusted,surprised. The differentiator. - english_normalization - off by default; flips text normalization for English (numbers, units) when on.
- api_key - RunPod key.
What comes out
One output (STRING) - the audio URL. As with the video nodes, hosted URLs expire after 7 days, so grab the file if you need it long-term. To actually use it in ComfyUI you'll want a node that loads audio from URL, or Save Text to keep the link.
Installing it
One of 27 nodes in tcarwash/ComfyUI_RunpodNodes. ComfyUI Manager: search ComfyUI_RunpodNodes, or
cd ComfyUI/custom_nodes
git clone https://github.com/tcarwash/ComfyUI_RunpodNodes
then restart. No extra dependencies - the pack only needs what ComfyUI already ships. Grab a RunPod key at runpod.io.
Gotchas
- Local TTS is cheaper and often better - seriously, if you have any GPU at all, Kokoro/Chatterbox/F5 beat this on cost and privacy. Use this node for the hosted convenience and the emotion controls.
- Audio URLs expire after 7 days - the README says it for the whole pack; it applies here too.
- "Job failed" - key or credits, the standard pack checks.
- The voice catalogue is MiniMax's - you're limited to whatever voice IDs the endpoint exposes; no voice cloning here.
For a quick character line or a narration track inside a bigger workflow, this is a one-node detour. Just don't let it become your default TTS if you have hardware - that's paying for something you already own.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | — | |
| prompt | STRING | Welcome to our advanced text-to-speech system | — |
| voice_id | STRING | Wise_Woman | — |
| speed | FLOAT | 1.00.5–2 | — |
| volume | FLOAT | 1.00–2 | — |
| pitch | FLOAT | 0.0-1–1 | — |
| emotion | COMBO | neutral | 7 options: neutral, happy, sad, angry, fearful, disgusted, +1 |
| english_normalization | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output | STRING | — |