Qwen3 TTS Voice Clone File (Fast)
Clone from a WAV path instead of a wire
- model
- AUDIO
Same job as the plain Voice Clone node - clone a voice from a reference clip and make it speak your text - with one difference: instead of taking an AUDIO wire, this one takes a path to a WAV file on disk. You type D:/voice_refs/mom_intro.wav into a string box, and that's the voice.
Which one do you reach for? If your reference clip already exists in the workflow as audio (you loaded it in-graph, or you want to chain processing before cloning), use the AUDIO-input Voice Clone node. If your reference is just a file sitting in a folder - a recording you made, a voice pack you downloaded, the same sample you use for every project - this one is less plumbing. You can even leave the workflow untouched and just swap the path to audition different voices. It's the sibling you want when the reference doesn't need to travel through the graph.
How it works
Loader setup is identical to the other clone path: a Base checkpoint (Qwen3-TTS-12Hz-1.7B-Base, or 0.6B-Base for lighter rigs). CustomVoice and VoiceDesign checkpoints can't clone, so don't bother feeding those. The node checks the path exists, then hands the file straight to the engine's zero-shot voice clone - no temp re-encoding, since it's already on disk.
The inputs you'll set:
ref_audio_path- absolute path to your WAV. The default is a Windows-style placeholder (C:/path/to/audio.wav), so if you're on Linux/macOS that first run is a paste over it. Keep the clip clean: a few seconds of single-speaker speech with no background music.ref_text- the transcript of that clip. Write it accurately; the clone prompt mixes the speaker embedding with this text, and a wrong transcript is the most common cause of a clone that doesn't sound like the source.x_vector_only- set true to skip the transcript and clone purely from the speaker embedding. Faster and more forgiving of untranscribable audio, but noticeably less faithful. Leave off for quality.text,language,seedas usual.
Output: a single 24kHz mono AUDIO clip for a preview/save node or downstream avatar work.
How to install it
Same as the rest of the pack - ComfyUI Manager, search "Qwen3-TTS", install, restart:
cd ComfyUI/custom_nodes
git clone https://github.com/YildirimMC/ComfyUI-Qwen3-TTS-Fast
pip install -r ComfyUI-Qwen3-TTS-Fast/requirements.txt
NVIDIA GPU required. The Base model auto-downloads to ComfyUI/models/TTS/ on first use.
Common issues
"Reference audio not found: ..." - the path is wrong or relative. This node needs an absolute path to a real file; it won't resolve relative to ComfyUI or your input folder. Also mind that backslash-path defaults won't work as-is on Linux/macOS.
Clone sounds nothing like the reference - check ref_text first, then the source file itself. Also confirm you're on a Base checkpoint; the error otherwise tends to be cryptic, so check the loader before blaming the audio.
Long output clamped - max_new_tokens hit the static-cache budget (max_seq_len - 256). Raise max_seq_len on the Loader and rerun; the reference audio eats into that budget too.
If you're cloning the same few voices over and over, consider pairing this with the pack's Create Clone Prompt node - extract the clone prompt once per reference, then generate with it instead of re-processing the file every run.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| model | QWEN3TTS_FAST | — | |
| text | STRING | Hello, this is a test. | — |
| ref_audio_path | STRING | C:/path/to/audio.wav | — |
| ref_text | STRING | Transcript of the reference audio | — |
| language | COMBO | 11 options: Auto, Chinese, English, Japanese, Korean, German, +5 | |
| seed | INT | 00–18446744073709550000 | — |
| x_vector_onlyopt | BOOLEAN | false | — |
| max_new_tokensopt | INT | 20481–8192 | — |
| temperatureopt | FLOAT | 1.000.1–2 | — |
| top_popt | FLOAT | 0.800.1–1 | — |
| repetition_penaltyopt | FLOAT | 1.101–2 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| AUDIO | AUDIO | — |