Qwen3-TTS Loader 🚀
The node every Qwen3-TTS workflow starts with (and where the GBs get downloaded)
- model_obj
If you're staring at this pack and wondering where to start, start here. Every other node in ComfyUI-Qwen3-TTS that actually makes sound - Custom Voice, Voice Clone, Voice Design, the whole dialogue engine - wants a QWEN3_MODEL on its input, and this Loader is the only node that produces one. It's also where the multi-gigabyte downloads happen and where the pack's first gotcha lives, so it pays to understand it before you let it run.
What it does
The Loader wraps Alibaba's Qwen3-TTS open-weights models (the same family that's been making the rounds since the January 2026 release: 12Hz tokenizer, ten languages, Apache 2.0). You pick a model repo, it checks whether it's already on disk, downloads it if not, loads it into memory, and hands you a model_obj to wire into a generation node.
The model_repo dropdown is the important choice, because the Qwen3-TTS line splits into three jobs:
...-Base- the general model. Required for voice cloning and multi-role dialogue....-CustomVoice- the preset-speaker model (Vivian, Uncle_Fu, Ryan, and six more built-in voices)....-VoiceDesign- the natural-language voice design model ("a cute loli voice asking for candy").
Each comes in 1.7B and 0.6B sizes. On an 8GB card, the 0.6B is the comfortable pick; the 1.7B has been run fine on a 3060 per community reports, but it's tight on 8GB. If the node that follows rejects your model with a "Model Mismatch" error, this is why - you loaded the CustomVoice variant into a clone node that needs Base.
How it works
Under the hood it's fairly unglamorous: it checks ComfyUI/models/TTS/Qwen/<repo> for the files, and if they're missing (and auto_download is on) it runs a snapshot_download from either ModelScope or HuggingFace into that folder, then loads with Qwen3TTSModel.from_pretrained. The other knobs matter more than their defaults suggest:
download_source- defaults to ModelScope, which is great in China and occasionally slow or throttled elsewhere. If your first download crawls, switch to HuggingFace. It only matters when the model is missing; once it's on disk the setting is ignored.precision-bf16default, thenfp16/fp32. On MPS it silently forces fp16 because fp32 is glacial there.attn_mode-sdpadefault.flash_attention_2only sticks if you're on GPU with a half-precision dtype;sage_attentionneeds SageAttention installed, otherwise it falls back to sdpa. The README recommendspip install flash-attn --no-build-isolationon NVIDIA cards for the speed bump, but it's genuinely optional - sdpa works fine.
Output is a single model_obj of type QWEN3_MODEL.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/wanaigc/ComfyUI-Qwen3-TTS.git
cd ComfyUI-Qwen3-TTS
pip install -r requirements.txt
Or just search "ComfyUI-Qwen3-TTS" in ComfyUI Manager and restart. Either way, requirements.txt pulls in qwen-tts (the core model library), transformers, modelscope, huggingface-hub, soundfile, funasr, and ffmpeg-python. It's a real dependency stack bolted onto your environment, the same structural deal as every audio pack in ComfyUI - the ecosystem essay on this is blunt about dependency conflicts being the default failure mode for the whole audio layer.
Troubleshooting
- First run downloads multiple GB. The 1.7B repos are chunky, and the download can look hung on a slow connection. Watch the
ComfyUI/models/TTS/Qwen/folder filling up rather than the console. - Out of memory - the README's own advice: use
bf16and, on the dialogue nodes, drop the batch. Stepping from 1.7B to 0.6B is the biggest lever on an 8GB card. - Model Mismatch errors - you paired the wrong repo with the wrong generator node. Base for cloning/dialogue, CustomVoice for presets, VoiceDesign for designed voices.
- Temper expectations on speed - Qwen3-TTS doesn't stream. Community reports put a 100-word paragraph at around 45–55 seconds on a 3090 including generation. It's "wait a bit," not "watch it talk."
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model_repo | COMBO | 5 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 | |
| download_source | COMBO | ModelScope | 2 options: ModelScope, HuggingFace |
| precision | COMBO | bf16 | 3 options: bf16, fp16, fp32 |
| attn_mode | COMBO | sdpa | 4 options: flash_attention_2, sage_attention, sdpa, eager |
| auto_download | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model_obj | QWEN3_MODEL | — |