Nodes/Higgs v3 TTS/Higgs v3 Voice Clone
ComfyUI Node

Higgs v3 Voice Clone

The zero-shot voice clone that made this pack worth installing

By Saganaki22·Created 3 months ago·Updated 4 days ago· 71
Higgs v3 Voice Clone
  • higgs_model
  • reference_audio
  • audio
textHello! This is Higgs Audio v3 running natively inside ComfyUI.
reference_text
max_new_tokens2048
temperature1.00
top_p0.95
top_k50
seed0
longform_chunkingtrue
words_per_chunk45
pause_between_chunks0.15

This is the node people actually come to the Higgs v3 pack for. Higgs v3 Voice Clone takes one reference clip and synthesizes new speech in that voice, zero-shot - no training, no fine-tuning, just a AUDIO input and a prompt. In the wider ComfyUI ecosystem, which has historically been image-first and is only now getting serious local TTS options, this is the moment the graph starts replacing your cloud TTS. If you've been fighting Qwen3-TTS clones that drift or flatten, Higgs v3 is the current community recommendation, and this node is how you run it inside ComfyUI.

Here's the honest part: the whole game is the reference. The node internally trims the clip (silence threshold −42 dB, max 100 seconds), then conditions the model on the cleaned audio. But the single biggest lever is reference_text - an exact transcript of the reference clip. The README says it flat out: a correct transcript materially improves cloning. Feed it a clip with no transcript and you'll get a voice that's recognizably the same but weaker and less stable. Feed it an exact transcript and the clone snaps into focus.

The inputs that matter

  • reference_audio (required) - clean speech, little music or noise. Same clip reused for every longform chunk, so the voice stays consistent across a whole narration.
  • reference_text - the transcript, and the field that separates a good clone from a mediocre one. This is where the pack's Whisper node feeds in (see Higgs v3 Whisper Transcribe), though a manually corrected transcript beats raw Whisper output.
  • text - what you want spoken in that voice. Inline tags work here too: <|emotion:amusement|>, <|prosody:pause|>, <|sfx:sigh|>Ahh....
  • Everything else is the shared generation set - max_new_tokens (2048 ≈ 25–30s), temperature (0.8–1.1 natural), top_p, top_k, seed, longform_chunking, words_per_chunk, pause_between_chunks. Same defaults, same behavior as Generate.

Output is audio (AUDIO), straight into Preview Audio or Save Audio.

The emotion-tag trap

Strong emotions at the start of the prompt can overpower the speaker conditioning and make the clone drift - the README specifically flags <|emotion:sadness|> first-token as a culprit, while milder tags like amusement usually survive. This is a known model limitation, not the node picking a random speaker. The workaround: let Higgs establish the cloned voice with at least one word first, then tag.

This <|emotion:sadness|>is a short test sentence to test the text to speech.

And put the next word directly against the tag with no space: <|emotion:sadness|>is, not <|emotion:sadness|> is.

Troubleshooting, grounded

Weak clone? Clean up the reference (cut music/noise), then fix the transcript. Whisper helps, but a corrected one is better - this is the fix people skip. Long script cutting off mid-sentence? Keep longform_chunking=True and words_per_chunk around 35–55. And if you're comparing takes, use a fixed seed and the same settings - the README gives a concrete recipe (fixed seed 12345, temp 0.8, top_p 1.0, top_k 50, chunking off) for verifying delivery controls like speed.

Two footnotes before you go clone your favorite podcaster: Boson releases this for research and non-commercial use, and the license is explicit that you don't clone voices without consent. This is a genuinely impressive model - people call it "incredible" when it lands - but it's also the kind of power you keep on the right side of.

CategoryHiggs v3 TTS

Inputs (12)

NameTypeDefaultDescription
higgs_modelHIGGSV3TTS_MODEL
textSTRINGHello! This is Higgs Audio v3 running natively inside ComfyUI.Text to synthesize. Inline tags work anywhere, for example <|emotion:relief|>, <|prosody:pause|>, or <|sfx:laughter|>Haha at the exact moment it should happen.
reference_audioAUDIOReference voice clip for cloning. Use clean speech with little music/noise; the same clip is reused for every longform chunk.
reference_textSTRINGExact transcript of the reference clip. This strongly improves cloning and is reused for every chunk; Whisper output should be corrected if needed.
max_new_tokensINT204832–8192Maximum audio-code tokens per single pass. 2048 is roughly 25-30 seconds; raise it or enable chunking if speech cuts off.
temperatureFLOAT1.000–2Sampling variety. 0 is greedy and repeatable; around 0.8-1.1 is usually natural.
top_pFLOAT0.950–1Nucleus sampling cutoff. 1.0 disables it; 0.9-0.98 keeps speech expressive without wandering too much.
top_kINT500–1026Limits each codebook sample to the top K choices. 0 disables; 50 is a steady default.
seedINT00–21474836470 uses the current random state. A positive value is repeatable and is reused unchanged for every longform chunk.
longform_chunkingBOOLEANtrueSplit long text at sentence or pause-tag boundaries. Turn this on for narration; off is one direct pass and may stop early on long text.
words_per_chunkINT4520–300Target words per chunk. Around 35-55 fits the 2048-token default better; raise with max_new_tokens for longer chunks.
pause_between_chunksFLOAT0.150–2Seconds of silence inserted between longform chunks. Does not replace inline pause tags.

Outputs (1)

NameTypeDescription
audioAUDIO