Higgs Audio V3 Local TTS
Turn text into a 100-language voice (or someone else's) with a ComfyUI audio node
- model
- reference_audio
- audio
- request_json
This is the node that actually talks. Where most TTS in ComfyUI arrives as a wrapper around an HTTP service, this one takes a model already loaded by Higgs Audio V3 Model Loader and synthesizes speech through it - zero network round-trips, no separate server, and it hands you back a native ComfyUI AUDIO that plugs straight into SaveAudio or any audio consumer in your graph.
Higgs Audio v3 is the multilingual heavyweight of local TTS: a 4B Boson AI model that does zero-shot voice cloning and reads inline control tokens for emotion, style, and sound effects. That puts it in a genuinely different class from the lightweight Kokoro/Piper corner - it's a bigger, slower, nicer-sounding tool, the one you reach for when the voice is the point and not just a placeholder.
How it works
The node packs your text and sampling settings into a JSON request, hands it to the loaded pipeline (which is sitting in memory from the loader, waiting), and gets back WAV bytes that it converts into ComfyUI's AUDIO format. Two details make it friendlier than most:
- It also outputs
request_json- the exact payload that went to the model. When something sounds wrong, that's your debug view. - Voice cloning doesn't need a file path at all. Connect any ComfyUI
AUDIO- the output of another TTS node, an audio loader, whatever you have - toreference_audio, add the transcript, and the model clones that voice on the spot.
The inputs that matter
text(multiline) - the script. This is where the fun is: inline control tokens like<|emotion:amusement|>,<|style:whispering|>,<|prosody:pause|>, and<|sfx:laughter|>are passed straight through, so you can direct the performance inside the sentence rather than around it.temperature(0.8) andtop_k(50) - standard sampling dials. Lower temperature for steadier reads; this is not the knob you want to be cranking on first runs.max_new_tokens(1024) - how long the generation can get. Bump it for long paragraphs.timeout_seconds(300) - per-request timeout. The model takes a while on a 4B pipeline, so don't set this aggressively on a cold start.
Optional inputs: reference_audio (the cloning source), reference_audio_path (a local file path - only for when the runtime can actually read that filesystem, and ignored if reference_audio is connected), and reference_text (the transcript of your reference clip; cloning works much better with it).
Outputs: audio, which you wire to SaveAudio or onward into a video lip-sync chain, and request_json.
Installing it
Same pack as the loader - ComfyUI Manager, search "Higgs Audio V3", or:
cd ComfyUI/custom_nodes
git clone https://github.com/endman100/ComfyUI-HiggsAudioV3TTS
pip install -r ComfyUI/custom_nodes/ComfyUI-HiggsAudioV3TTS/requirements.txt
Restart ComfyUI after. The important part is that the loader's requirements are thin - soundfile and numpy - while the actual inference engine, SGLang-Omni, must already be in your Python environment (or pointed at via HIGGS_AUDIO_V3_PYTHON_EXECUTABLE). First run also means loading a 4B model, so budget for a slow start and a real download if you don't have a local copy in ComfyUI/models/higgs_audio/bosonai/higgs-audio-v3-tts-4b.
Common issues
- "Text cannot be empty" - the node raises if you feed it blank text. Obvious, but it's the most common first error because a TTS node with no visible output looks like a silent failure.
- Timeout errors on long or cloned generations - raise
timeout_seconds. Default 300 is fine for short reads, tight for long ones. - Reference audio problems - the README's advice is blunt and correct: connect
reference_audiodirectly rather than fighting withreference_audio_path. The path only works if the Higgs runtime and ComfyUI share a filesystem, and in a worker subprocess that's not guaranteed.
And the one thing to remember before you build a product on this: Higgs v3 ships under Boson's Research and Non-Commercial license - a real step down from v2's Apache terms. Great for personal pipelines and experiments; read the license before anything commercial.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| model | HIGGS_AUDIO_V3_MODEL | — | |
| text | STRING | Hello, how are you? | Text sent to the local Higgs Audio V3 pipeline. Inline Higgs control tokens are supported. |
| temperature | FLOAT | 0.800–2 | — |
| top_k | INT | 500–500 | — |
| max_new_tokens | INT | 10241–8192 | — |
| timeout_seconds | INT | 3005–3600 | — |
| reference_audioopt | AUDIO | Optional ComfyUI audio used for zero-shot voice cloning. | |
| reference_audio_pathopt | STRING | Optional path visible to the local Higgs pipeline. Ignored when reference_audio is connected. | |
| reference_textopt | STRING | Transcript for the reference audio. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| request_json | STRING | — |