ITL Breeze TTS Voice Design Advanced
Design Advanced, Explained Without Hand-Waving
- model
- audio
Voice Design Advanced is the design node with the decoding parameters exposed: temperature, top_k, top_p, repetition_penalty and max_new_tokens on top of cfg_scale, seed and unload_after. Its defaults are the Normal node's values, so if you just want a described voice, the plain Design node is the better choice - fewer widgets between you and the thing you're making.
This one is for the moment a described voice is nearly right and you want to know why.
The two knobs that matter most here
cfg_scale (default 4.0) is already on the Normal Design node, and it's the primary control for how literally the model follows your instruction. With a designed voice there's no reference audio anchoring anything, so guidance is doing more work than it does in the clone/direction modes. If the voice is bland and generic, that's usually an instruction problem before it's a guidance problem - write a more specific description. If it's harsh, over-enunciated or warbling, guidance is the first thing to pull back.
temperature (default 0.9, range 0.05–2) is the expressiveness dial. Push it up and delivery gets more animated, with more risk of a wobble or a swallowed syllable. Pull it down toward 0.6 and you get a flatter, steadier read - good for a narration voice you're going to hear for ten minutes, bad if you wanted personality.
repetition_penalty (default 1.1, min 1.0) is the anti-stutter control. Long lines exposing a looped syllable or an over-stretched word at the end of a sentence is the classic symptom; 1.15–1.2 is the fix.
top_k (default 50, 0 disables) and top_p (default 1.0) trim the unlikely tail of the sampling distribution. You generally set one. top_p around 0.9 while top_k sits at 50 is a softer, more natural version of lowering temperature.
max_new_tokens (default 750, range 50–1500) caps length at roughly 12.5 codec frames per second of audio - 750 is about a minute. It's a shared budget with the prompt: the runtime is sized as max(1024, max_new_tokens + 512), so a long paragraph under a low cap gets truncated rather than slowed. Cutting off mid-sentence is nearly always this value, not the model.
A workflow that makes sense
Design a character on the Normal node with a fixed seed until the voice is right. Then, once you're producing real lines, move to this node and tune for consistency across them: top_p down a touch, repetition_penalty up if the same phrase trips the model twice in a row, max_new_tokens raised for your longest block of text. Keep the seed and instruction untouched while you do it, or you're changing two variables at once and learning nothing.
If fast_path is on in the loader, any change here forces a CUDA-graph re-capture - a few seconds of extra wait on the next generation. Do your tuning pass with it off, then turn it back on.
Install
Part of ComfyUI-IntoTheLatent-Utils. Manager → search ComfyUI-IntoTheLatent-Utils → install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/Into-The-Latent/ComfyUI-IntoTheLatent-Utils
pip install -r ComfyUI-IntoTheLatent-Utils/requirements.txt
First run pulls ~7.2 GB of weights into models/breeze_tts/Breeze-TTS-2/. NVIDIA GPU required, ~7.7 GiB VRAM (≈14.4 GiB with fast_path) - and because ComfyUI's model manager can't evict this model, remember unload_after if anything heavier runs later in the graph.
The honest caveat
Most users never need this node. The five sampling defaults are upstream's own, and they're good. This is a debugging tool, and the thing it most often debugs isn't the sampler - it's an instruction that was too vague to begin with. Fix the description first; reach for the numbers second.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| model | BREEZE_TTS | From ITL Breeze TTS Loader. | |
| text | STRING | What to say. Inline vocal events: (laugh), (sigh), (clears throat) in English; [笑], [叹气] in Chinese. The model is bilingual (English / Chinese) and detects the language from the text. | |
| instruction | STRING | Voice description (Design) or delivery direction (Direction): tone, pace, emotion. | |
| seed | INT | 420–4294967295 | — |
| cfg_scale | FLOAT | 4.00.1–10 | Classifier-free guidance. Upstream suggests ~4 for design / direction. |
| temperature | FLOAT | 0.900.05–2 | — |
| top_k | INT | 500–500 | 0 disables top-k. |
| top_p | FLOAT | 1.000–1 | — |
| repetition_penalty | FLOAT | 1.101–2 | — |
| max_new_tokens | INT | 75050–1500 | Caps output length; ~12.5 codec frames per second of audio. |
| unload_after | BOOLEAN | false | Free the Breeze model (~7.7 GiB VRAM) after this node runs. Turn on when an image/video model runs later in the same workflow; the next Breeze node reloads the weights. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |