Chatterbox TTS
The voice-cloning node that made the ElevenLabs comparison stick
- reference_voice
- AUDIO
Clone a voice from a few seconds of audio, run it on your own GPU, no API key, no per-character billing. That sentence went from fantasy to normal in 2025, and the reason is Chatterbox - Resemble AI's 0.5B open TTS. This node is the shortest path to it inside ComfyUI.
What this node is
Chatterbox TTS is a thin wrapper around resemble-ai/chatterbox: the model's own code vendored into custom_nodes with a ComfyUI-shaped face. That's worth knowing, because it tells you how to feel about it. The wrapper itself is tiny - one commit, one star, a launch-week job from May 2025 - but the thing it wraps is the real deal. Chatterbox is the open model the community actually agreed lived up to the ElevenLabs comparison, and it's MIT, so commercial use is fine. The standing split in open TTS: F5-TTS if speed dominates, Chatterbox if quality does.
How it works
The pack vendors the full model stack; the weights come from the ResembleAI/chatterbox Hugging Face repo on first run. Generation is two-stage. A 0.5B Llama called T3 predicts speech tokens from your text, then S3Gen - a flow-matching vocoder - renders those tokens into a 24 kHz waveform. The voice comes from your reference clip: a voice encoder pulls a speaker embedding out of it, and the exaggeration dial is literally fed in as an emotion conditioning vector. Give it no reference at all and it falls back to the built-in voice bundled in conds.pt. Output is a standard ComfyUI AUDIO dict, so it wires anywhere audio does.
The inputs that matter
text- multiline, your script. It gets a punctuation-normalizing pass before tokenizing, so don't worry about formatting.reference_voice(AUDIO, optional) - the zero-shot cloning reference. Wire a coreLoadAudionode in; leave it empty for the stock voice.exaggeration- 0.5 is neutral. The author's own tooltip warns that extreme values get unstable. You've been warned.cfg- labeled "CFG/Pace", i.e. guidance strength, default 0.5.temperature- sampling randomness, 0.8 default.seedanddevice(cuda/cpu) are the usual.
Output is one AUDIO. Send it to SaveAudio, or keep it in the graph to drive a talking head - the audio-driven avatar models (Wan S2V, InfiniteTalk) are exactly what this feeds.
Installing it
Install once and you get both nodes in the pack. In ComfyUI Manager, search comfyui-chatterbox, or:
cd ComfyUI/custom_nodes
git clone https://github.com/sm079/comfyui-chatterbox
Restart ComfyUI. The wrapper's dependencies (librosa, omegaconf, conformer, diffusers) install automatically. First run downloads roughly 2.1 GB - t3_cfg.pt and s3gen.pt are both around a gigabyte - into your Hugging Face cache, so go make coffee.
Gotchas
- Every run reloads the model.
from_pretrainedruns inside the node on each execution, so every generation pays a few seconds of load from disk. There's no in-graph caching. - It's pinned to the base English checkpoint. The wrapper hardcodes
t3_cfg.pt; the HF repo now also hosts Turbo and Multilingual v3 files, but this node doesn't know they exist. - Long scripts get cut. T3 caps at 1000 speech tokens per pass, and at the tokenizer's 25 tokens/sec that's roughly 40 seconds of speech. Chunk anything longer.
- Keep
exaggerationnear 0.5. Andcudaisn't optional enthusiasm - a 0.5B Llama on CPU works, but it's a "go make tea" experience.
The honest version
If you want Chatterbox in ComfyUI with the fewest moving parts, this delivers: no config, no extra services, text and a reference clip in, audio out. If you want the maintained ecosystem - SRT subtitle generation, speech editing, F5 and VibeVoice in one place - the community standard is TTS Audio Suite, which grew out of Chatterbox tooling. For a single-model wrapper, this one is refreshingly bare. That's the feature.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| exaggeration | FLOAT | 0.500.25–2 | Exaggeration (Neutral = 0.5, extreme values can be unstable) |
| cfg | FLOAT | 0.500.2–1 | CFG/Pace |
| seed | INT | 00–4294967295 | — |
| temperature | FLOAT | 0.800.05–5 | — |
| device | COMBO | 2 options: cuda, cpu | |
| text | STRING | What does the fox say? | Text to synthesize |
| reference_voiceopt | AUDIO | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| AUDIO | AUDIO | — |