Nodes/ComfyUI-Breeze-TTS-2/Breeze TTS 2 Load Model
ComfyUI Node

Breeze TTS 2 Load Model

Every Breeze TTS 2 workflow starts here — pick the right build before anything else

By Saganaki22·Created 4 days ago·Updated a day ago· 32
Breeze TTS 2 Load Model
    • breeze_model
    modelint8 hybrid (recommended)
    dtypeauto
    deviceauto
    attentionauto
    decode_modeeager
    download_if_missingtrue

    This is the front door for everything else in the pack. Clone, design, direction, multi-speaker dialogue - every one of them needs the breeze_model this node produces, so if you're new to Breeze TTS 2, start here and get the load right once.

    Breeze TTS 2 is the newest TTS engine to get the ComfyUI treatment, and this wrapper is from saganaki22 - the same author who brought you Zonos2, Higgs v3, and OmniVoice TTS nodes, so it carries the design habits those packs established: auto-downloading weights, flash-attention options, and AIMDO dynamic-VRAM integration. If you've used any of those, this will feel familiar.

    The build menu is the real decision

    The one input that actually matters is model, and the defaults are worth taking. The loader pulls from a Hugging Face mirror (drbaph/Breeze-TTS-2-comfyui) and offers four builds of the same checkpoint:

    • int8 hybrid (recommended) - the default. Backbone and text encoder quantized to INT8, depth decoder left in bf16. The README's own benchmarks say this is basically bf16 speed (RTF ~5.64 vs 5.68) at ~5.5 GiB instead of 7.5 GiB. This is the one I'd start with on anything with 8 GB of VRAM or less.
    • bf16 (best quality) - no quantization, bit-exact merged official shards. Fastest and cleanest, but it's the 7.5 GiB option. If you have the headroom, just use it.
    • int8 (smallest, slower) - every linear quantized, ~5.2 GiB. The depth decoder runs 15 skinny single-token GEMMs per frame, and at M=1–2 the INT8 per-call overhead loses to plain bf16, so the decode loop is roughly 60% slower. Only pick this if 5.2 GiB is your ceiling.
    • int8 text encoder only - decode path stays fully bf16, ~6.8 GiB. It's a cheap, quality-irrelevant VRAM cut for when you're borderline.

    The rest, briefly

    dtype (auto/bf16/fp32) and device (auto/cuda/cpu) can stay on auto for almost everyone - auto means bf16 on a GPU that supports it, fp32 otherwise. attention defaults to flash attention when flash_attn is installed and sdpa otherwise; both are fine, and sageattention is the power-user option if you've got it.

    decode_mode is the interesting one. eager (default) stays compatible with AIMDO's dynamic-VRAM paging. cuda_graphs captures the depth decode loop into CUDA graphs and runs the decode 7–9x faster - but the weights then stay fully VRAM-resident (AIMDO paging is bypassed) and the first generation spends a couple of seconds capturing the graphs. On a dedicated GPU, it's a genuine speedup; if you're juggling multiple models in VRAM, stay eager.

    Installing it

    ComfyUI Manager → search "ComfyUI-Breeze-TTS-2", or clone it in:

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

    Restart ComfyUI. The install script only adds lightweight deps (soundfile, safetensors, huggingface_hub, etc.) - it deliberately never touches torch, torchaudio, or transformers. What you need is a current ComfyUI, because this pack wants Transformers 4.57 or 5.3+, and the INT8 builds import comfy-kitchen (which ships with current ComfyUI).

    Models download automatically into ComfyUI/models/breezetts2/ when download_if_missing is on. Only the selected weights file downloads - the 0.64 GiB audio codec and tokenizer files are shared across builds. Expect roughly 5.3–7.5 GiB VRAM depending on build.

    Two things that will bite you

    First, the license. The node code is Apache-2.0, but the weights run under the BreezeBlue Research and Non-Commercial License - commercial use requires written authorization from RESONIA, INC. That's a real constraint if you're building anything paid.

    Second, if you disable download_if_missing and the file isn't where it expects it, you get an error naming the exact folder. Let it download once and forget it.

    CategoryBreeze TTS 2

    Inputs (6)

    NameTypeDefaultDescription
    modelCOMBOint8 hybrid (recommended)int8 hybrid: backbone + text encoder INT8, depth decoder bf16 — bf16 speed at 5.5 GiB (recommended). bf16: no quantization — best quality, 7.5 GiB. int8: all transformer linears INT8 — smallest at 5.2 GiB, ~60% slower decode. int8 text encoder only: decode path stays bf16 — 6.8 GiB.
    dtypeCOMBOautoauto picks bf16 on supporting GPUs, fp32 otherwise.
    deviceCOMBOautoauto uses ComfyUI's active torch device.
    attentionCOMBOautoauto uses flash_attention_2 when flash_attn is installed, else sdpa.
    decode_modeCOMBOeagercuda_graphs captures the depth decode loop into CUDA graphs: much faster, but the model weights stay fully resident in VRAM (AIMDO paging is bypassed for it) and the first generation spends a couple of seconds capturing the graphs.
    download_if_missingBOOLEANtrueDownload the selected checkpoint from Hugging Face when missing locally.

    Outputs (1)

    NameTypeDescription
    breeze_modelBREEZE_TTS2_MODEL