Nodes/ComfyUI-QWEN3_TTS/Qwen3 TTS Voice Clone (File)
ComfyUI Node

Qwen3 TTS Voice Clone (File)

The same voice clone, but you just point it at a file path or URL

By PGCRT·Created 7 months ago·Updated 7 months ago· 9
Qwen3 TTS Voice Clone (File)
  • model
  • AUDIO
textHello, this is a test.
ref_audio_pathpath/to/audio.wav or https://example.com/audio.wav
ref_textTranscript of the reference audio
language
seed0
x_vector_onlyfalse
max_new_tokens2048
temperature1.00
top_p0.80
repetition_penalty1.10

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.

CategoryQwen3_TTS

Inputs (11)

NameTypeDefaultDescription
modelQWEN_TTS_MODEL
textSTRINGHello, this is a test.
ref_audio_pathSTRINGpath/to/audio.wav or https://example.com/audio.wav
ref_textSTRINGTranscript of the reference audio
languageCOMBO11 options: Auto, Chinese, English, Japanese, Korean, German, +5
seedINT00–18446744073709550000
x_vector_onlyoptBOOLEANfalse
max_new_tokensoptINT20481–8192
temperatureoptFLOAT1.000.1–2
top_poptFLOAT0.800.1–1
repetition_penaltyoptFLOAT1.101–2

Outputs (1)

NameTypeDescription
AUDIOAUDIO