Nodes/ComfyUI-GGUF-Loader/Qwen3-TTS Models Loader ⚡
ComfyUI Node

Qwen3-TTS Models Loader ⚡

Downloads a Qwen3-TTS model once — and is fully offline after that

By ChrisColeTech·Created about a month ago·Updated 4 days ago· 10
Qwen3-TTS Models Loader ⚡
    • QWEN_TTS_MODEL
    repo_idQwen/Qwen3-TTS-12Hz-1.7B-CustomVoice
    sourceHuggingFace
    precisionbf16
    attentionauto
    local_model_path

    Qwen3-TTS is a real, local, open TTS that can pass for a service-quality voice - and this loader is how you get the model onto your disk without touching the command line. Pick a repo_id, hit run once, and the checkpoint downloads into models/Qwen3-TTS/<name>/. Every load after the first is fully offline, because the node always loads with local_files_only=True. No network access once the files are there, no surprise phone-homes.

    The dropdowns

    • repo_id - five presets across two sizes and three personalities:

      • Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice (default) - built-in named speakers.
      • Qwen/Qwen3-TTS-12Hz-1.7B-VoiceDesign - voice-design instructions.
      • Qwen/Qwen3-TTS-12Hz-1.7B-Base - no speaker or instruct features, just generation.
      • Qwen/Qwen3-TTS-12Hz-0.6B-CustomVoice - the small CustomVoice.
      • Qwen/Qwen3-TTS-12Hz-0.6B-Base.

      The layout follows the DarioFT convention: pick a repo, it downloads into models/Qwen3-TTS/<folder_name>/, and the speech tokenizer/codec lives inside that same repo - no separate download. If you already have a HuggingFace or ModelScope cache copy, it's migrated in place instead of re-downloaded.

    • source - HuggingFace (default) or ModelScope, for the region/mirror you actually have access to.

    • precision - bf16 (default), fp16, or fp32.

    • attention - auto (default), flash_attention_2, sdpa, or eager.

    The optional input

    local_model_path - override to point at an existing local folder containing a full model. The one requirement: it must have a speech_tokenizer/ subfolder. Leave it blank to use repo_id. This is the escape hatch for a model you already have on disk, or a variant that isn't in the preset list.

    One output

    QWEN_TTS_MODEL - a wrapper object that goes straight into Qwen3-TTS Custom Voice (the generate node). The two are a matched pair: loader here, generate there.

    How to pre-fetch by hand

    If you'd rather download outside ComfyUI (a long download through the UI risks a timeout mid-file), the README gives the exact command:

    huggingface-cli download Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --local-dir ComfyUI/models/Qwen3-TTS/Qwen3-TTS-12Hz-1.7B-CustomVoice
    

    Then just re-add the node and the loader will find it.

    Installing it

    Part of the ComfyUI-GGUF-Loader pack under 🤖 CCTech/Qwen TTS. ComfyUI Manager → search "ComfyUI-GGUF-Loader" → install → restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ChrisColeTech/ComfyUI-GGUF-Loader
    cd ComfyUI-GGUF-Loader
    pip install -r requirements.txt
    

    This node needs the qwen-tts pip package (it's in requirements.txt as an optional dependency - pip install qwen-tts if you cloned before it was there). Note this is a transformers checkpoint plus a separate codec/vocoder, not a GGUF-quantization model - the pack wraps it directly, which is why the install differs from the GGUF loaders.

    Common issues

    The first-run download is the thing that looks like a hang - a 1.7B model is a real download, and if you're on a flaky connection, pre-fetch with the CLI command above instead. If a dropdown is empty, check models/Qwen3-TTS/ for the folder the README expects. And if you point local_model_path at a folder that's missing speech_tokenizer/, the load fails - that subfolder is non-negotiable.

    Category🤖 CCTech/Qwen TTS

    Inputs (5)

    NameTypeDefaultDescription
    repo_idCOMBOQwen/Qwen3-TTS-12Hz-1.7B-CustomVoiceModels found under models/Qwen3-TTS/. To add another variant, download it with the CLI into models/Qwen3-TTS/<name>/ and re-add this node (see README).
    sourceCOMBOHuggingFace2 options: HuggingFace, ModelScope
    precisionCOMBObf163 options: bf16, fp16, fp32
    attentionCOMBOauto4 options: auto, flash_attention_2, sdpa, eager
    local_model_pathoptSTRINGOverride: an existing local folder containing a full model (must have a speech_tokenizer/ subfolder). Leave blank to use repo_id.

    Outputs (1)

    NameTypeDescription
    QWEN_TTS_MODELQWEN_TTS_MODEL