Qwen3 TTS Voice Clone (File)
The same voice clone, but you just point it at a file path or URL
- model
- AUDIO
Qwen3 TTS Voice Clone (File) is the lazy variant of the plain Voice Clone node, and I mean that as a compliment. Instead of loading your reference audio through ComfyUI's Load Audio node and feeding the AUDIO wire in, you just paste a path or a URL into ref_audio_path and it handles the rest. Same cloning logic, same model, same output - one less node in the graph and one less wire to route.
That sounds trivial until you've wanted to clone from a recording sitting on disk without dragging it into the workflow, or pull a sample from a URL on the fly. This node is built for both.
What's different from Voice Clone
The inputs mirror the standard clone node exactly - text, ref_text (the transcript - still essential), language, seed, optional x_vector_only and the sampling sliders - except there's no ref_audio wire. Instead:
- ref_audio_path - a local file path (
/path/to/my_voice.wav) or a full URL (https://example.com/voice.wav). The README ships a working example URL (https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen3-TTS-Repo/clone.wav) so you can test the node end-to-end without hunting for a sample.
Output is a single AUDIO, ready for Preview Audio or Save Audio.
Everything that applies to the regular clone node applies here with equal force: load the Base model in the Model Loader (the CustomVoice and VoiceDesign models won't work), keep the reference audio clean, and get the transcript right. x_vector_only behaves identically - on means it uses only the speaker embedding and ignores the transcript, faster but worse.
The honest tradeoff
The convenience cuts one way: the plain Voice Clone node forces you through Load Audio, which means the clip is visible in the graph and stays in sync with your workflow. This node is a string field, so nothing validates that the path exists or the URL resolves until you hit queue - a typo or a moved file gives you a runtime error instead of a friendly warning. If you're cloning the same reference repeatedly, that's fine; if your workflow gets shared around, the AUDIO-wire version travels better because the audio is embedded in the workflow.
Install and run
Same pack, same steps: ComfyUI Manager search "Qwen3-TTS", or
cd ComfyUI/custom_nodes/
git clone https://github.com/PGCRT/ComfyUI-QWEN3_TTS
cd ComfyUI-QWEN3_TTS
pip install -r requirements.txt
then restart ComfyUI. First use downloads the Base model into ComfyUI/models/TTS/. It's the thinnest node in the pack - really a convenience shim over generate_voice_clone - but it's the one I reach for when I just want a quick clone from a file I already have, no graph ceremony.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| model | QWEN_TTS_MODEL | — | |
| text | STRING | Hello, this is a test. | — |
| ref_audio_path | STRING | path/to/audio.wav or https://example.com/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 | — |