Nodes/ComfyUI-Qwen3-TTS/Qwen3-TTS Prompt Maker
ComfyUI Node

Qwen3-TTS Prompt Maker

Cache your cloned voice once so every generation after it is instant

By DarioFT·Created 7 months ago·Updated 7 months ago· 299
Qwen3-TTS Prompt Maker
  • model
  • ref_audio
  • QWEN3_PROMPT
ref_text
ref_audio_max_seconds30

Qwen3-TTS Prompt Maker is the caching node for the pack's voice cloning. Instead of making Voice Clone re-analyze your reference clip every single time you generate a sentence, you run this node once, it extracts the voice features from that clip, and you hand the result to Voice Clone as a precomputed QWEN3_PROMPT. For one-off generation it's pointless overhead. For "I'm generating fifty lines of dialogue with the same voice," it's the difference between waiting on the reference every run and not.

Think of it as the TTS equivalent of a prompt cache for a text encoder - same idea, audio version. The reference analysis is the expensive, repeated part, and this node moves it out of the hot path.

How it works

It needs three things wired in:

  • model - a QWEN3_MODEL from the Qwen3-TTS Loader, and it has to be a Base variant. The speaker-encoder machinery that turns a reference clip into a voice embedding only lives in the Base checkpoints, so don't load CustomVoice and wonder why it fails - it'll error with a model-type mismatch.
  • ref_audio - the reference clip. Same rules as Voice Clone: short and clean wins. 1–10 seconds of solo speech is ideal.
  • ref_text - the transcription of that clip. Improves the embedding, same as in cloning.

There's one optional input, ref_audio_max_seconds (default 30, -1 disables), which auto-trims long references - the pack's hedge against the known upstream Qwen3-TTS generation hang that long reference audio can trigger. You can mostly leave it alone.

The output is a single QWEN3_PROMPT. That's the whole point: it's a reusable value, not a one-shot signal. Wire it straight into a Qwen3-TTS Voice Clone node's prompt input and every generation skips the reference analysis.

The bigger workflow

Where this gets genuinely useful is in combination with the save/load pair. The pattern the README walks through:

  1. Qwen3-TTS Prompt Maker extracts the embedding from a reference clip.
  2. Qwen3-TTS Save Prompt writes it to ComfyUI/models/Qwen3-TTS/prompts/<name>.safetensors.
  3. Later - new session, different workflow - Qwen3-TTS Load Prompt reads it back out and feeds Voice Clone.

Net effect: your cloned voice becomes a saved asset you can reuse without re-uploading the reference audio or recomputing the embedding. That's the "voice library" feature of the pack, and Prompt Maker is the extraction stage of it.

Installing

Same pack install: ComfyUI Manager (search "ComfyUI-Qwen3-TTS") or git clone https://github.com/DarioFT/ComfyUI-Qwen3-TTS into custom_nodes, then pip install -r requirements.txt by hand - ComfyUI won't do it, and the qwen-tts dependency pins transformers==4.57.3, which can downgrade a shared environment.

The only real trap is the model variant. Load a Base model and this node is boring and reliable. Load anything else and it fails with a clear model-type error - that's the fix, not a bug.

CategoryQwen3-TTS

Inputs (4)

NameTypeDefaultDescription
modelQWEN3_MODEL
ref_audioAUDIO
ref_textSTRING
ref_audio_max_secondsoptFLOAT30-1–120

Outputs (1)

NameTypeDescription
QWEN3_PROMPTQWEN3_PROMPT