πΎ Qwen3-TTS SaveVoice
Stop re-extracting the same voice every run
- voice_clone_prompt
- audio
Every time you run VoiceClone with a raw reference clip, the model re-extracts the voice's features from scratch. That's not free, and it's not perfectly deterministic either. SaveVoice is the fix: it takes an extracted voice_clone_prompt and writes it to disk, so next time you can load it instantly with LoadSpeaker and skip the extraction entirely. It's the persistence half of the pack's voice library - the part that turns a one-off clone into a permanent asset.
How it works
The required inputs are voice_clone_prompt (the reusable features object from VoiceClonePrompt) and a filename. Hit run and the node writes three files into ComfyUI/models/qwen-tts/voices:
.qvp- a torch-saved blob of the extracted voice features. This is the important one; LoadSpeaker reads it to skip re-extraction..json- small metadata file holding theref_textyou optionally provide, plus a source/version stamp..wav- a reference audio preview, written only if you also wire anaudioinput into the node. Handy because LoadSpeaker lists voices by their audio file, so without a WAV your saved voice won't show up in that dropdown.
The optional ref_text input is worth filling in: it's saved into the metadata and comes back out of LoadSpeaker, and feeding the correct transcript back with the prompt keeps clone quality consistent. It's also just good housekeeping for a voice library.
The workflow shape
The pattern the pack intends:
VoiceClonePrompt β SaveVoice (save it once)
β
LoadSpeaker β VoiceClone (reuse forever)
Do the expensive extraction once per voice, save, and every later workflow starts from a dropdown. If you're building dialogue, save each character's voice this way and feed the LoadSpeakers into RoleBank - a reusable cast that doesn't re-extract anything.
Install
SaveVoice is part of flybirdxx/ComfyUI-Qwen-TTS ("Qwen3-TTS - Voice Synthesis & Cloning"). ComfyUI Manager: search "Qwen3-TTS". Or:
cd ComfyUI/custom_nodes
git clone https://github.com/flybirdxx/ComfyUI-Qwen-TTS
cd ComfyUI-Qwen-TTS
pip install -r requirements.txt
Restart ComfyUI. And the usual pack warning: pin transformers below 5.0 (pip install "transformers>=4.57.0,<5.0.0"), since 5.0+ breaks model loading. Note that this node itself does no model work - saving features is pure file I/O - so it's a safe node to test first after install.
Common issues
The one that trips people: save a voice without wiring in an audio input, and you get a .qvp and .json but no .wav - and LoadSpeaker only lists voices by their audio file, so it won't appear in the dropdown. Wire the reference audio into SaveVoice if you want the voice to be selectable later. Filenames get extensions appended automatically (you can type with or without .qvp), and everything lands in models/qwen-tts/voices, so don't go hunting for a save in your usual output folder.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| voice_clone_prompt | VOICE_CLONE_PROMPT | β | |
| filename | STRING | my_custom_voice | β |
| audioopt | AUDIO | β | |
| ref_textopt | STRING | β |
Outputs (0)
No outputs