Nodes/ComfyUI-FL-Qwen3TTS/FL Qwen3 TTS Voice Clone
ComfyUI Node

FL Qwen3 TTS Voice Clone

Clone a voice from five seconds of audio — the node this pack is really about

By filliptm·Created 7 months ago·Updated 2 days ago· 149
FL Qwen3 TTS Voice Clone
  • model
  • ref_audio
  • voice_clone_prompt
  • audio
textHello, this is a test of voice cloning.
languageEnglish
x_vector_only_modefalse
top_k50
top_p1.00
temperature0.90
repetition_penalty1.05
max_new_tokens2048
seed-1
ref_text

This is the headline node. Feed it a ref_audio clip of someone talking - five to fifteen seconds of clean speech is the sweet spot - and it'll make that voice say whatever you put in text, in any of ten languages. Zero-shot voice cloning, no per-voice training, all local, Apache 2.0 licensed end to end. On the open-TTS spectrum from the ComfyUI world, Qwen3-TTS's cloning sits as a genuinely multilingual alternative to the English-first heavyweights, and the community response has been notably warm on clone quality - one r/StableDiffusion user called it better than their professional ElevenLabs clone for some tests.

The caveat, to be fair: it's not a real-time model. Generation runs at roughly 3.5x real-time, and while the multilingual support is the strongest in the local TTS stack, people do report an accent bleed-through on some cloned non-native voices. Great for narration and character work. Not a live voice changer.

How it works

The node needs a Base model (Qwen3-TTS-12Hz-1.7B-Base - or the 0.6B Base for lower VRAM; one user reported the small one actually captures the cloned voice surprisingly well). The loader's other variants get refused with a friendly error.

Two cloning modes, controlled by x_vector_only_mode:

  • x_vector_only_mode = false (default) - ICL mode. The model uses both the reference transcript and the reference speech codes to condition generation. This is the higher-fidelity path, and it needs ref_text - the transcript of what's actually said in the reference clip. Mismatched or missing transcript, worse clone.
  • x_vector_only_mode = true - the model uses only the extracted speaker embedding (the "x-vector"). Faster, ignores ref_text entirely, slightly less faithful. The fallback when you can't be bothered to transcribe.

The reference audio gets prepped automatically: truncated to 15 seconds, padded if it's under a second, and passed to the model, which extracts a speaker embedding plus speech codes. Then it generates and hands you a standard AUDIO output.

The inputs that matter

  • ref_audio - the voice you're cloning. Five to fifteen seconds of clean, single-speaker speech. This is the variable that matters most; a bad reference is a bad clone no matter what else you set.
  • ref_text - the transcript of the reference clip. Strongly recommended in default (ICL) mode. This is exactly what the Transcribe node in this pack is for - you can wire its output here so you never type it.
  • text - what the cloned voice says.
  • language - the ten-language list.
  • The sampling block (top_k, top_p, temperature, repetition_penalty, max_new_tokens, seed) - defaults are fine; seed = -1 means random.
  • voice_clone_prompt - an optional pre-computed prompt from the Voice Clone Prompt node. If you're generating many lines with one clone, use it; it skips the re-extraction on every call.

Output: one audio (AUDIO).

Installing

ComfyUI Manager → "FL Qwen3 TTS", or:

cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI-FL-Qwen3TTS.git
cd ComfyUI-FL-Qwen3TTS
pip install -r requirements.txt

Restart, and let the loader pull the Base model on first run.

Common issues

Where people actually get burned: feeding a longer or noisier reference than the 5–15s sweet spot (the node will silently truncate at 15s, and a truncated transcript mismatch quietly degrades the clone), and skipping ref_text in default mode. If the clone sounds off, transcribe the reference properly, then re-run. And don't forget the Base-model requirement - reaching for a CustomVoice model because you have it cached is the fastest way to an error screen.

CategoryFL/Qwen3TTS

Inputs (13)

NameTypeDefaultDescription
modelQWEN3TTS_MODEL
textSTRINGHello, this is a test of voice cloning.
ref_audioAUDIO
languageCOMBOEnglish10 options: Chinese, English, Japanese, Korean, German, French, +4
x_vector_only_modeBOOLEANfalse
top_kINT501–200
top_pFLOAT1.000.1–1
temperatureFLOAT0.900.1–2
repetition_penaltyFLOAT1.051–2
max_new_tokensINT2048128–8192
seedINT-1-1–18446744073709550000
ref_textoptSTRING
voice_clone_promptoptVOICE_CLONE_PROMPT

Outputs (1)

NameTypeDescription
audioAUDIO