ComfyUI Node

MiniMax Speech 2.8

Character voices and dialogue without a TTS model download

By Runware·Created 2 years ago·Updated about a month ago· 140
MiniMax Speech 2.8
  • speech
  • audioSettings
  • audio
numberResults1
settings.languageBoostauto
settings.turbofalse
ttlfalse
ttl_value60
outputFormatMP3

MiniMax Speech 2.8 is the text-to-speech node you didn't know the pack had until you needed narration and realized you didn't want to babysit a 5GB TTS checkpoint. It's a cloud TTS: text goes up, a finished voice track comes back as a native AUDIO tensor. What makes it more than a toy is the voice roster and the dialogue mode - you can script a two-character exchange with speaker tags and get a single audio file where the voices actually alternate.

The model is MiniMax's speech synthesis (minimax:[email protected]), hosted by Runware, which means the node is paper-thin: it packages your inputs into an API request, downloads the result, and hands it to the graph. Install the pack once (ComfyUI Manager → search Runware, or clone https://github.com/Runware/ComfyUI-Runware into custom_nodes/ and pip install -r requirements.txt), add a Runware API key in ComfyUI Settings, and you're done. No model files anywhere in the equation.

How it works - the Speech builder

This node is the one in the pack where you can't just double-click and type. It has a typed speech socket (RUNWARE_SPEECH), so you have to add the Runware Speech builder node (found under Runware/Params) and wire its output in. That builder is where the actual TTS lives:

  • text (required) - what to say. For dialogue, use speaker tags: [Sam] Hello [Bob] Hi there. The builder tooltip also mentions provider markup tags like [laugh] for emotive cues.
  • voice (required) - a dropdown of ~30 named voices (Achernar, Aoede, Charon, Zephyr, and friends). This is where MiniMax's lineup shines: real variety, not the same three synthetic voices.
  • speed, pitch, volume - all on a -50..100 scale where 0 is neutral, 100 is 2x, -50 is 0.5x. Useful and weirdly exact.

The model node itself then has a few knobs on top: settings.languageBoost (auto by default, with ~40 overrides for detection trouble), settings.turbo (faster and cheaper, potentially rougher audio - the setting the tooltip is upfront about), numberResults for alternate takes, and outputFormat (MP3/WAV/FLAC/OGG). The audio output goes straight into SaveAudio.

The bits that trip people up

  • The missing builder. New users double-click, search "Speech", find this node, and wonder why the required socket is empty. You need two nodes: the Speech builder feeds this one. It's the pack's cleanest example of the builder-socket pattern, and it's also the thing nobody explains.
  • Voice is required in the builder. No default voice - the builder won't produce a complete feature and the model node gets nothing, so you must pick one.
  • The toggle habit - most params in this pack are "enable to set X" booleans; this node is actually refreshingly direct (languageBoost and turbo are straight settings), but the ttl/ttl_value pair still follows the old toggle pattern.
  • Turbo quality - it's a genuine tradeoff, not a free win. settings.turbo off gives you the best take; on is for iterating fast or batch work where cost matters.

Is it better than a fine-tuned local TTS you've trained on your own voice? For character work, no contest - the multi-voice dialogue alone is something most local setups can't do in one pass. For a single neutral narration voice you already have locally, it's a toss-up and the choice becomes whether you'd rather pay per run or maintain the model. Either way, it's the fastest path from script to spoken audio in the pack.

CategoryRunware/Audio/minimax

Inputs (8)

NameTypeDefaultDescription
speechRUNWARE_SPEECH
audioSettingsoptRUNWARE_AUDIOSETTINGS
numberResultsoptINT11–4Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
settings.languageBoostoptCOMBOautoLanguage detection and override for Speech synthesis.
settings.turbooptBOOLEANfalseEnable faster, lower-cost generation with potentially reduced quality.
ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
outputFormatoptCOMBOMP3File format for the generated audio.

Outputs (1)

NameTypeDescription
audioAUDIO