Qwen3-TTS Load Speaker ⚡
Getting that saved voice back into the graph
- voice_clone_prompt
- audio
- ref_text
Load Speaker is the other half of the save/load pair. It's one dropdown, three outputs, and it's the node that makes a saved voice a thing you can build a workflow around - no reference clip to find, no re-encoding, no "which take was the good one" archaeology.
How it works
Point filename at a saved voice and the node looks for that name in models/qwen-tts/voices/, then does whatever it can with what's there:
- A cached
<name>.qvpnext to the audio gets fast-loaded into thevoice_clone_promptoutput. This is the good path: the voice is ready, and nothing needs the model at all. <name>.jsonsuppliesref_text, so the transcript you saved with the voice comes back with it.- The audio file itself is decoded into the
audiooutput.
If the .qvp is missing or unreadable, the run doesn't fail - you get a log warning, voice_clone_prompt stays None, and audio plus ref_text still come through. That's deliberate, and it's the second way to use this node: the audio output is a perfectly good AUDIO clip, so you can wire it straight into Voice Clone's ref_audio and clone from it the slow way. Same voice, one extra encode, works even when only a wav survived.
The three outputs
- voice_clone_prompt - into Qwen3-TTS Voice Clone's
voice_clone_prompt(where it takes priority overref_audio), or into Role Bank'sprompt_Nslots. - audio - the saved preview as a ComfyUI
AUDIO. Voice Clone'sref_audio, Save Audio, a preview player - or feeding it back into Voice Clone Prompt to rebuild a fresh prompt. Handy when your prompt file is stale. - ref_text - the transcript, for Voice Clone's
ref_textinput so you keep the word-level alignment instead of falling back to a bare speaker embedding.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/ChrisColeTech/ComfyUI-GGUF-Loader
pip install -r ComfyUI-GGUF-Loader/requirements.txt
qwen-tts is the entry in that file that matters for this family - and it's optional, so a plain install of the pack leaves these nodes disabled, with a single "Qwen3-TTS nodes disabled" line in the startup log rather than an error. ComfyUI Manager: search the pack title, "ComfyUI-GGUF-Loader". No model downloads happen in this node; it only reads your own files.
Where people get burned
The dropdown doesn't list the voice you just saved. The list is built from the audio files in models/qwen-tts/voices/ - .wav, .mp3, .flac only - and it's read when the node definition is built, so a fresh save needs a refresh (reload the page or restart ComfyUI) before it appears. And if you saved without the audio input connected, there's no preview file, so the voice will never appear here no matter how many times you refresh. It's still on disk as a .qvp; it just isn't visible to this node. Connect audio on Save Voice next time.
"No saved voices" is a placeholder, not a filename. On an empty folder the dropdown is a single <no saved voices> entry, and picking it raises No saved voices found rather than quietly doing nothing - which is the right call, but it means the node is red in a graph until you've saved something once.
Treat .qvp files as code, not data. The prompt is a Python pickle, and the node loads it with pickle semantics on. Only run prompt files you produced yourself; a stranger's .qvp is a stranger's code. The comment in the source says exactly that, and it's worth taking literally - the ComfyUI ecosystem's worst incident to date was a node that executed on import.
Loading is instant, generating is not. Nothing here touches a checkpoint, so pulling a saved voice back is a file read. The moment that prompt reaches Voice Clone, that node loads a *-Base checkpoint - 0.6B or 1.7B, whichever model_choice says - and the first run after a config change pays for it.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| filename | COMBO | 1 options: <no saved voices> |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| voice_clone_prompt | VOICE_CLONE_PROMPT | — |
| audio | AUDIO | — |
| ref_text | STRING | — |