Nodes/ComfyUI-QwenTTS/Custom Voice (QwenTTS)
ComfyUI Node

Custom Voice (QwenTTS)

Nine built-in voices, zero cloning — the fastest way to get Qwen3-TTS talking

By 1038lab·Created 7 months ago·Updated 7 months ago· 249
Custom Voice (QwenTTS)
    • audio
    textHello from Qwen3-TTS.
    speakerRyan
    model_size1.7B
    languageAuto
    instruct
    unload_modelstrue
    seed-1

    You want a character voice, a narration track, or ten seconds of dialogue - and you don't want to babysit a clone. This is the node for that. Custom Voice (QwenTTS) is the basic text-to-speech node from the ComfyUI-QwenTTS pack, and it's the one you'll reach for first: pick a speaker, type your line, get an AUDIO output. No API, no key, no reference clip required. It's the ComfyUI-native way to run Alibaba's Qwen3-TTS-12Hz models entirely on your own machine.

    What it actually does

    Under the hood this loads the Qwen3-TTS-12Hz CustomVoice model from Hugging Face (1.7B or 0.6B), encodes your text into speech tokens with the 12Hz tokenizer, and decodes them to a waveform - all local. The "CustomVoice" models ship with nine premium preset timbres, which is what the speaker dropdown is: Aiden, Dylan, Eric, Ono_Anna, Ryan, Serena, Sohee, Uncle_Fu, and Vivian. No extraction, no transcript, no finetuning. If you just need a good voice fast, this is the least fiddly TTS node in the pack.

    The node auto-selects your device in CUDA → MPS → CPU order, so it runs on Apple Silicon and CPU too - just slower. Model files are downloaded automatically to ComfyUI/models/TTS/Qwen3-TTS/ on first use, so the first run will hang for a while grabbing a multi-gigabyte model. That's expected.

    The inputs that matter

    Four required inputs, and you'll only fiddle with two of them:

    • text - the line to synthesize.
    • speaker - one of the nine preset voices.
    • model_size - 0.6B or 1.7B. The 1.7B sounds notably better; use 0.6B when VRAM is tight.
    • language - Auto plus ten languages. The README's 80%-of-problems tip: use the speaker's native language instead of Auto if you can. Mismatched language is a big source of "why does it sound wrong" threads.

    Optional inputs worth knowing: instruct is a free-text style instruction ("speak slowly and softly"), seed for reproducibility (-1 = random), and unload_models defaults to true, which clears the model from VRAM after each generation - keep it on unless you're batching.

    The single output is audio (type AUDIO), which wires straight into ComfyUI's save/preview audio nodes (or this pack's Audio Duration node if you need timing).

    How to install

    Via ComfyUI Manager (search ComfyUI-QwenTTS), or manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/1038lab/ComfyUI-QwenTTS.git
    # then install requirements - use the embedded python on Windows Portable:
    python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-QwenTTS\requirements.txt
    

    Then restart ComfyUI. This pack depends on transformers>=4.57.0, torch>=2.9.1, torchaudio, librosa, sentencepiece, and a few more - it's a heavier install than most image nodes, and it's exactly the kind of dependency stack that can clash with other packs.

    Common issues

    • Output hums or trails on past the end of the sentence. This is the Qwen3-TTS classic. The basic node fixes max_new_tokens at 2048 internally; for short text that's a lot of runway. If you hit it, switch to the Advanced variant and lower max_new_tokens to 512–1024.
    • 'Qwen3TTSTalkerConfig' object has no attribute 'pad_token_id' - a transformers 5.x nightly build. Pin transformers==4.57.3 with tokenizers<0.20.
    • CUDA out of memory - split long scripts into chunks, use 0.6B, and grab the Advanced node to force precision=bf16.

    Worth knowing for context: Qwen3-TTS launched API-only and the community grumbled before Alibaba released the weights - so this whole pack only exists because they did. It's not the clone-quality champion (Chatterbox and VibeVoice are still the likeness kings), but as a fast, local, zero-setup preset-voice generator, it's genuinely good.

    Category🧪AILab/🎙️QwenTTS

    Inputs (7)

    NameTypeDefaultDescription
    textSTRINGHello from Qwen3-TTS.Text to synthesize
    speakerCOMBORyan9 options: Aiden, Dylan, Eric, Ono_Anna, Ryan, Serena, +3
    model_sizeCOMBO1.7B2 options: 0.6B, 1.7B
    languageCOMBOAuto11 options: Auto, Chinese, English, Japanese, Korean, French, +5
    instructoptSTRINGStyle instruction
    unload_modelsoptBOOLEANtrueUnload cached models after generation
    seedoptINT-1-1–18446744073709550000

    Outputs (1)

    NameTypeDescription
    audioAUDIO