Nodes/SpicyAPI/Chatterbox · Text to Speech
ComfyUI Node

Chatterbox · Text to Speech

The open-weights TTS everyone clones voices with, no install

By spicyapi-ai·Created 21 days ago·Updated 2 days ago· 2
Chatterbox · Text to Speech
  • reference_audio_url
  • audio
  • task id
◄text►
◄exaggeration0.50►
◄temperature0.70►
◄guidance_scale0.50►
◄seed0►

Why you'd reach for it

Chatterbox is the model that dragged local text-to-speech up to ElevenLabs-adjacent quality: a 0.5B Llama-backbone TTS from Resemble AI, MIT-licensed, with zero-shot voice cloning from a few seconds of reference audio and an emotion dial that was unusual for an open model when it landed in May 2025. The catch is local installs - another venv, another set of weights, another CUDA-shaped afternoon.

This node runs the same model on SpicyAPI's servers for $0.036 per run. In practice it's the "I need a voice for this talking-head clip right now" node, and it's the top half of the canonical local pipeline the KB describes: TTS makes the audio, an audio-driven avatar makes the face move. Here you get the first half without the environment work.

How it works

You write the script, the node sends it to resemble-ai/chatterbox-v1/text-to-speech, and a 24 kHz mono WAV comes back as a ComfyUI AUDIO - the same {"waveform", "sample_rate"} dict any native audio node produces. Wire it to Save Audio, or straight into a Lip Sync or Talking Avatar node. Nothing runs on your GPU, and the pack ships no dependencies at all.

Inputs you actually touch

text - up to 1,000 characters of English, read exactly as written. The tooltip is blunt and worth believing: spell sounds out, because tags like [laugh] are read aloud rather than performed. If you need "hmm" or a sigh, write the letters.

exaggeration - 0.5 default, 0 flat to 1 dramatic. This is the knob people love about Chatterbox. Push it to 0.7–0.8 for character reads; leave it near 0.5 for narration, because high exaggeration also means less predictable pacing.

temperature - 0.05 to 2, default 0.7. Variation between takes. Raise it slightly if every read sounds identical and flat; drop it toward 0.4 if the delivery wanders off-script in an unusable way.

guidance_scale - 0.1 to 1, default 0.5. How closely the read follows the text's natural pacing. The default is right most of the time; nudging it up tightens the timing on long sentences.

reference_audio_url (optional, AUDIO) - a short clip of the voice to imitate, and the reading takes on its timbre. This is the zero-shot cloning path, and 5–10 seconds of clean speech is the sweet spot; noisy references drag the result down.

Outputs: audio (AUDIO) and task id (STRING). Note the output tooltip - several results can come back in one batch, and Save Audio writes one file each.

Install

Manager → search SpicyAPI, or:

cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi

Restart, then set your key in Settings > SpicyAPI (or export SPICY_API_KEY on a server) and restart once more so the node list is built from your account. Needs Python 3.10+ and a ComfyUI new enough to ship the V3 node API; the pack adds no pip dependencies, which is genuinely rare in the audio-node space.

Common issues

  • No SpicyAPI key is set - the key goes in Settings, not on the node, and it's never written into your workflow or PNG metadata, so sharing a graph is safe.
  • Truncated or refused text - you're over 1,000 characters, or you've pasted text in another language. Base Chatterbox is English-first; the multilingual v3 is a different (local) release.
  • "It's charging me to re-run the same graph." It isn't: seeds start fixed, so a re-queue returns the first result. You only pay for a new seed or edited text.
  • Cancelling doesn't refund. Cancel stops you waiting; if the job finishes on SpicyAPI's side it's charged and the result sits in your console for up to 14 days.
  • Cloned voices and consent. Chatterbox is MIT with no content restrictions, which is exactly why the whisper of non-consensual cloning follows it around. Clone your own voice, or get permission.
CategorySpicyAPI/Audio/Resemble AI

Inputs (6)

NameTypeDefaultDescription
textSTRINGUp to 1,000 characters of English, read exactly as written. Spell sounds out; tags are read aloud.
exaggerationFLOAT0.500–1How emotional the reading is, from 0 (flat) to 1 (dramatic).
temperatureFLOAT0.700.05–2Variation between takes, from 0.05 to 2.
guidance_scaleFLOAT0.500.1–1How closely the reading follows the text's natural pacing, from 0.1 to 1.
seedINT00–2147483647This model takes no seed, so the number is never sent. Changing it makes ComfyUI run the node again: set 'control after generate' to randomize for a new result on every run; every run is billed.
reference_audio_urloptAUDIOOptional clip of the voice to imitate; the reading takes on its timbre.

Outputs (2)

NameTypeDescription
audioAUDIOSeveral results come back as a batch; Save Audio writes one file each.
task idSTRINGThe SpicyAPI task id, for the console logs or support.