Nodes/ComfyUI-QWEN3_TTS/Qwen3 TTS Model Loader
ComfyUI Node

Qwen3 TTS Model Loader

Every Qwen3-TTS workflow starts here — pick the right model or nothing else works

By PGCRT·Created 7 months ago·Updated 7 months ago· 9
Qwen3 TTS Model Loader
    • QWEN_TTS_MODEL
    model_name
    device
    dtype
    keep_model_loadedtrue
    use_flash_attntrue

    Qwen3 TTS Model Loader is the node at the top of every Qwen3-TTS graph in this pack. It does two jobs: it grabs the model you asked for (downloading it automatically if it isn't local) and it hands the loaded model to the generation nodes downstream. Skip it and there is nothing to generate with - the whole pack is built around that one QWEN_TTS_MODEL wire.

    This is a wrapper around Alibaba's open-weights Qwen3-TTS models, which ship Apache 2.0 like the rest of the Qwen family - no API key, no cloud call, everything runs on your machine. The one real decision you make here is which model variant you load, because the pack is opinionated about matching models to nodes.

    Picking the model matters more than anything else here

    The model_name dropdown lists five variants, and this is where people trip. There are three model "types" with two sizes each:

    • CustomVoice (1.7B and 0.6B) - feeds the Custom Voice and Batch Generate nodes
    • VoiceDesign (1.7B only) - feeds the Voice Design node
    • Base (1.7B and 0.6B) - feeds every voice-cloning node

    If you wire a VoiceDesign model into the Custom Voice node, it won't work. The README and QUICKSTART both call this out as the #1 mistake, and it's easy to make because all five names look alike. Decide what you're doing first (preset voice, described voice, or cloning), then load the matching model.

    The other settings are mostly "set once and forget":

    • device - cuda:0 is the sensible default; cuda:1 if you have a second GPU; cpu works but you'll be waiting.
    • dtype - bfloat16 is the recommended sweet spot for speed and quality. float16 if you're short on VRAM, float32 if you like slow.
    • keep_model_loaded (default true) - keeps the model cached in memory so the next generation is instant. Turn it off and the model is offloaded to CPU after each run to free VRAM for your image/video work, at the cost of a reload every time.
    • use_flash_attn (default true) - FlashAttention 2 if you have it installed; flip it off if you get an attention error.

    Where the model lives

    The loader downloads models to ComfyUI/models/TTS/ on first use, so the first run of a new model variant will stall while a 1.7B checkpoint comes down from Hugging Face. If you're in China or the download crawls, export HF_ENDPOINT=https://hf-mirror.com before starting ComfyUI, or pre-download with huggingface-cli download Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --local-dir ./models/TTS/Qwen3-TTS-12Hz-1.7B-CustomVoice.

    Installing the pack

    Install once via ComfyUI Manager (search "Qwen3-TTS"), or manually:

    cd ComfyUI/custom_nodes/
    git clone https://github.com/PGCRT/ComfyUI-QWEN3_TTS
    cd ComfyUI-QWEN3_TTS
    pip install -r requirements.txt   # qwen-tts, soundfile, transformers, accelerate
    

    pip install flash-attn --no-build-isolation is optional and gets you 2–3x faster generation, but it's a pain to build - the loader happily runs without it. Restart ComfyUI, and you'll see the pack's nodes under the Qwen3_TTS category.

    Troubleshooting

    • "qwen-tts not installed" - you didn't install requirements. Run pip install qwen-tts and restart.
    • First run hangs or errors on load - it's downloading a multi-GB model; check the console for the download path and progress.
    • Out of memory - drop to the 0.6B variant or float16, or set keep_model_loaded to false so it frees VRAM after each generation.
    • Flash attention error - disable use_flash_attn; you're not missing much if you didn't build it.

    The loader also prints a handy stat block to the console after each run - RTF (real-time factor), samples/sec, and VRAM before/after. It's the fastest way to see whether bfloat16 vs float16 is actually costing you speed.

    CategoryQwen3_TTS

    Inputs (5)

    NameTypeDefaultDescription
    model_nameCOMBO5 options: Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice, Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign, Qwen/Qwen3-TTS-12Hz-1.7B-Base, Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice, Qwen/Qwen3-TTS-12Hz-0.6B-Base
    deviceCOMBO3 options: cuda:0, cuda:1, cpu
    dtypeCOMBO3 options: bfloat16, float16, float32
    keep_model_loadedBOOLEANtrue
    use_flash_attnoptBOOLEANtrue

    Outputs (1)

    NameTypeDescription
    QWEN_TTS_MODELQWEN_TTS_MODEL