💾 Save Audio & Text TH 🇹🇭
Save Audio & Text writes the voice and the script
- audio
- audio
- filename
Every ComfyUI TTS workflow ends the same way: you generated the speech, now you need it on disk. Save Audio & Text TH is this pack's finish line - you feed it the AUDIO from F5-TTS-Advance (or Narrator Switcher) plus the text, and it writes both: the audio as a file and a matching .txt of the script. Nothing glamorous, but it's the difference between a workflow that ends in a preview and one that ends in something you can actually use.
How it works
It's a dumb, reliable output node, and that's a compliment. Give it:
- audio - the AUDIO from your TTS node.
- text - the script (multiline). This is the exact text you fed in, not the cleaned transliterated version - that detail stays with the TTS node.
- filename_prefix - default
F5TTSTH. Files come out asF5TTSTH_001.wav,F5TTSTH_002.wav, and so on. - extension -
wav,flac, ormp3. Pick based on what you're handing off: wav if it's going into a video editor, mp3 if it's for casual listening.
On the way out it scans the output directory, finds the highest numbered file matching your prefix, and starts from the next index, so you never clobber an earlier take. It also forces mono - if the waveform has multiple channels it keeps only the first - which is fine for speech and exactly what a narrator workflow wants.
The output gotcha you need to know
Here's the one thing that'll confuse you: the output directory is hardcoded to /workspace/ComfyUI/output/audio_output. Not "wherever your ComfyUI lives" - literally that path. On RunPod and the container setups this pack targets, /workspace/ComfyUI is the real install location, so it's perfect there. On a local desktop install, though, it will cheerfully create /workspace/... at your filesystem root and save there, far away from the ComfyUI/output folder you were expecting. Check that path first before you assume a run failed - the audio is probably exactly where you didn't look.
Outputs
Two, and the first one is a pass-through you might not expect: audio returns the same AUDIO it received, so you can chain a preview or VHS node after the save and still see/hear the result in the UI. filename is a STRING with the generated file name (like F5TTSTH_003.wav) - wire it into any node that wants to know what got written.
Installing it
Same pack as the rest, so if you've already got F5-TTS-TH running you're done - the node is in the 🇹🇭 Thai TTS category. Fresh install:
cd ComfyUI/custom_nodes
git clone https://github.com/gordon123/ComfyUI-F5-TTS-TH.git
cd ComfyUI-F5-TTS-TH
git submodule update --init --recursive
pip install -r requirements.txt
Then restart ComfyUI. The submodule init is the step that usually gets skipped on Manager installs and bites people with "No module named 'f5_tts'" errors.
Honest take: if you're on a local machine, a generic "save audio" node with a proper output path is arguably a better fit than this one - the hardcoded /workspace path is a real downside off-RunPod. But inside this pack, on the setups it's built for, it's the natural last node in the chain, and having the script saved alongside the audio in one step is genuinely handy when you're captioning or syncing later.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | — | |
| text | STRING | — | |
| filename_prefix | STRING | F5TTSTH | — |
| extension | COMBO | wav | 3 options: wav, flac, mp3 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| filename | STRING | — |