Nodes/ComfyUI-Breeze-TTS-2/Breeze TTS 2 Voice Design
ComfyUI Node

Breeze TTS 2 Voice Design

Need a voice that never existed? Type a description and Breeze invents one

By Saganaki22·Created 4 days ago·Updated a day ago· 32
Breeze TTS 2 Voice Design
  • breeze_model
  • audio
text(sigh) Welcome aboard. Your journey begins now.
instructionA warm, thoughtful young woman with a clear voice and a calm, reflective delivery.
cfg_scale4.0
max_new_tokens1500
temperature0.90
top_k50
top_p1.00
repetition_penalty1.10
depth_temperature0.90
depth_top_k50
depth_top_p1.00
seed42

Most TTS gives you two options: clone a real voice or pick from a roster of presets. Voice Design is the third door - you describe a voice in plain language and the model synthesizes one from scratch. No reference audio, no transcript, no privacy concerns about whose voice you're borrowing. It's the pack's answer to "I don't have a sample, but I know exactly who I want talking."

Where cloning is about fidelity to a source, design is about instruction-following, and the two need different settings. That's why this node defaults its cfg_scale to 4 while the clone node sits at 1.0 - higher guidance is what makes a natural-language voice description actually stick.

How it works

Instead of encoding reference audio, the node builds prompt segments from your instruction and runs the text-to-speech stack (T5Gemma2 text encoder → Qwen3-style backbone → depth decoder → 16-codebook audio codec) with a negative prompt derived from the same instruction. The CFG pulls the output toward your description. There's no reference conditioning anywhere, which is the whole point - the voice is invented, not approximated.

The mechanism has one practical consequence the README calls out directly: match the instruction language to the text language. An English voice description paired with Chinese text (or vice versa) is where design output goes weird. Keep them in the same language.

The inputs that matter

  • instruction - the whole game lives here. The default is "A warm, thoughtful young woman with a clear voice and a calm, reflective delivery." That's the shape to copy: age-ish descriptor, quality descriptors, delivery style. Think "casting director's notes," not a full paragraph.
  • text - what the invented voice says. Inline vocal events work: (laugh), (sigh), (cough) in English; [笑], [叹气] in Chinese.
  • cfg_scale - 4 is the recommended starting point. Crank it toward the max for a stricter reading of the instruction; drop it if the voice starts sounding strained or artificial.
  • seed - worth knowing this node produces a new voice each run unless you fix the seed. Set a positive seed once you've found a voice you like, or you'll chase a sound that keeps drifting.

The sampling controls (temperature, top_k/top_p, repetition_penalty, depth_*) are the same family as the clone node - leave them defaulted unless you're chasing a specific artifact like repetitive phrasing.

Wiring it up

The audio output is standard AUDIO at 24 kHz mono. Save it, or feed it into a talking-head / lip-sync pipeline. You need a breeze_model from the Load Model node first.

Installing and troubleshooting

It ships in the same pack as everything else:

cd ComfyUI/custom_nodes
git clone https://github.com/saganaki22/ComfyUI-Breeze-TTS-2

or ComfyUI Manager → search "ComfyUI-Breeze-TTS-2", then restart. The model downloads on first load into ComfyUI/models/breezetts2/.

Common gripes and their fixes: the voice comes out nothing like the description - raise cfg_scale and simplify the instruction (long, run-on descriptions dilute guidance). Output sounds tense or artificial - lower cfg_scale, or try the other builds (bf16 for max quality). Nothing comes out - check text isn't empty, since the node refuses to generate on empty input. One honest caveat: designed voices are more hit-and-miss than clones. That's the nature of the job - you're asking for a voice nobody has ever recorded, so budget a few runs per character.

CategoryBreeze TTS 2

Inputs (13)

NameTypeDefaultDescription
breeze_modelBREEZE_TTS2_MODEL
textSTRING(sigh) Welcome aboard. Your journey begins now.Text to speak. Vocal events like (laugh) (sigh) (cough) (clears throat) work inline; use [笑] [叹气] etc. in Chinese.
instructionSTRINGA warm, thoughtful young woman with a clear voice and a calm, reflective delivery.Natural-language description of the voice to create. Match the instruction language to the text language.
cfg_scaleFLOAT4.00.1–10Guidance scale. 4 is recommended for instruction-following.
max_new_tokensINT150064–3000Maximum audio frames to generate (12.5 frames per second of speech; the model stops at EOS by itself).
temperatureFLOAT0.900–2Backbone sampling temperature.
top_kINT500–1024Backbone top-k (0 disables).
top_pFLOAT1.000–1Backbone top-p (1.0 disables).
repetition_penaltyFLOAT1.100–2HF-style repetition penalty on generated backbone tokens.
depth_temperatureFLOAT0.900–2Depth decoder (codebook 1-15) sampling temperature.
depth_top_kINT500–1024Depth decoder top-k (0 disables).
depth_top_pFLOAT1.000–1Depth decoder top-p (1.0 disables).
seedINT420–21474836470 uses the current random state. A positive value is repeatable.

Outputs (1)

NameTypeDescription
audioAUDIO