Qwen3-TTS Prompt Manager 📁
Stop re-finding reference audio
- voice_clone_prompt
- voice_clone_prompt
Once you've cloned a voice you actually like - that's the hard part - losing it because the reference file moved would be maddening. This node is the pack's answer to "make the voice an asset": it saves a voice_clone_prompt to a file on disk and loads it back later, so next time you want that voice you don't dig up the original clip, re-transcribe it, and re-run the analysis. You just load the file.
The README calls this "声音资产化" - voice asset-ization - and that's a fair description of the job.
What it does
Qwen3TTSPromptManager has a mode toggle: Save or Load.
- Save - takes a
voice_clone_promptinput (from the Voice Clone Prompt node) and writes it toComfyUI/output/qwen3tts/<save_filename>.qwen3ttsusingtorch.save. If you don't give it avoice_clone_prompt, it raises a clear error - there's nothing to save, so don't wire it up empty. - Load - reads back one of those files and returns it as a
voice_clone_promptyou can feed straight into a Voice Clone node, the Role Bank, or anywhere else aQWEN3_PROMPTis accepted.
The load_file dropdown auto-populates from whatever .qwen3tts files already exist in that folder, so loading is a pick-from-a-list rather than typing a path. save_filename defaults to my_voice_01.
Output in both modes is a single voice_clone_prompt (QWEN3_PROMPT).
How it works
It's intentionally dumb: a save/load pair around a torch.save / torch.load round-trip into a folder it creates under ComfyUI's output directory. No model, no audio analysis, no state kept in the graph - the entire "library" is just files sitting on disk. That's a feature: your saved voices are ordinary files you can back up, rename, and share with a teammate who has the same pack.
Fitting it into a workflow
Qwen3TTSLoader ─> Qwen3TTSVoiceClonePrompt ─> Qwen3TTSPromptManager (Save) ─┐
▲ │
(a voice you love) output/qwen3tts/my_voice_01.qwen3tts
│
next session: ▼
Qwen3TTSLoader ─> Qwen3TTSPromptManager (Load) ─> Qwen3TTSVoiceClone ─> audio
The classic shape: clone once, save it, and months later you can regenerate "that narrator voice" without the reference clip, the transcript, or the wait.
Gotchas
- Files live in the output folder. Not models, not a dedicated assets dir -
output/qwen3tts/. That means a "clear output" habit or a shared output folder can wipe your voice library. If a voice matters, copy the.qwen3ttsfile somewhere safe; it's just a file. - Load with nothing saved → "No history files found. Please save one first." That's the node telling you to do the save half first, not a bug.
- The saved prompt is tied to the model family. A prompt built from a 1.7B Base model is meant for Base-model generation nodes. You can't meaningfully load a cloned prompt and run it on a CustomVoice preset model - the receiving node will reject it.
- Install is the pack-wide one (git clone +
pip install -r requirements.txt+ restart); this node adds no dependencies of its own.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| mode | COMBO | 2 options: Save, Load | |
| save_filename | STRING | my_voice_01 | — |
| load_fileopt | COMBO | 1 options: no_prompts_found | |
| voice_clone_promptopt | QWEN3_PROMPT | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| voice_clone_prompt | QWEN3_PROMPT | — |