TTS WebUI Higgs V2
The TTS that takes a scene description
- audio
- wav_path
- metadata_json
Higgs Audio is ZeroothAI's take on "audio you can prompt," and V2 is the version that added proper voice cloning. The headline feature is the one nobody else here has: alongside the text you want spoken, you can give a scene_description - a sentence describing the acoustic context the speech should sit in. "In a large empty warehouse" and "in a cozy living room" don't just change the reverb, they change the delivery. It's the node in this pack that feels closest to prompt-engineering an image, applied to sound.
How it works
Standard pack plumbing: the node POSTs an OpenAI-style body to http://127.0.0.1:7778/v1/audio/speech with model: "higgs_v2", and the TTS WebUI server does the generation. You supply the spoken text, an optional reference clip for the voice, and an optional scene description; the model conditions the synthesis on both the voice and the described environment.
The inputs that matter
- text - what's said.
- scene_description - the acoustic scene. This is the differentiator. Leave it empty and you get neutral studio speech; fill it in and the model shapes the recording around it. Try it - it's the fun one.
- audio_prompt_path - reference audio for voice cloning. Higgs V2's cloning is solid; give it a clean short clip of the voice you want.
- temperature (default 0.8) - sampling randomness.
- seed - default -1 for random; set it for reproducible takes (worth it once you've found a scene+voice combo you like).
Outputs
audio (AUDIO) into a preview/save node, wav_path (STRING) when also_save_wav is on, and metadata_json (STRING) with the request details.
Installing it
ComfyUI Manager → search "TTS WebUI API nodes for ComfyUI", or:
cd ComfyUI/custom_nodes
git clone https://github.com/rsxdalv/ComfyUI-TTS-Webui
then restart. The pack only needs requests, numpy, torch. Higgs V2's model files download into the TTS WebUI server on first load, so budget for a slow first request.
When it breaks
- Scene description seems to do nothing: Higgs responds best to concrete, physical descriptions of the space and mic ("a small room with soft furniture, close mic") rather than moods. Abstract words get ignored; spaces get rendered.
- Reference file not found: paths resolve on the server, not your ComfyUI box. If the server runs elsewhere or in Docker, use a path the server can actually read.
- First call times out: model load/download server-side. Raise
timeout_sec(max 600). - Connection refused: server not running on
127.0.0.1:7778, orapi_basepoints at the wrong host.
Honest take: Higgs V2 is a niche pick, and the niche is "I want my TTS to sound like it was recorded in a place, not a booth." For plain narration, Kokoro or Chatterbox are better-sounding defaults. But the scene control is genuinely unusual, and if you're doing sound design, radio-style pieces, or anything where the acoustic context is part of the story, this is the node you'll reach for.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Hello | — |
| api_base | STRING | http://127.0.0.1:7778 | — |
| api_keyopt | STRING | — | |
| temperatureopt | FLOAT | 0.800–2 | — |
| audio_prompt_pathopt | STRING | — | |
| seedopt | INT | -1-1–2147483647 | — |
| scene_descriptionopt | STRING | — | |
| timeout_secopt | INT | 1201–600 | — |
| channels_firstopt | BOOLEAN | true | — |
| also_save_wavopt | BOOLEAN | false | — |
| save_prefixopt | STRING | tts | — |
| return_metadataopt | BOOLEAN | true | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| wav_path | STRING | — |
| metadata_json | STRING | — |