Speech-God Loader
Pick your TTS engine — Speech-God's one required setup node
- engine
Every Speech-God graph starts here, and that's not a suggestion - Speech-God Generate demands a SPEECHGOD_ENGINE input, and this is the only node that produces one. Think of the Loader as the "which TTS model are we using today" switch for the whole pack. You set it once, wire it to Generate, and mostly forget it exists until you want to swap engines.
The pack ships with two interchangeable voice-cloning engines, and this node's whole job is picking between them:
- f5-tts (default) - SWivid's flow-matching zero-shot TTS. Lightweight, fast, clones a voice from a short reference clip, and auto-downloads its ~1.4 GB model into your HuggingFace cache on first use. This is the engine you should start with.
- fish-speech - the optional second engine, a heavier source install, but it understands inline emotion markers like
(excited)and(whispering)written right into the dialogue, which F5 doesn't.
Both are voice-cloning models, so every voice starts from reference audio - the Loader doesn't change that. It just decides which cloner runs.
The three inputs, which are the entire node
- engine -
f5-ttsorfish-speech. Start with f5-tts; it needs nothing butpip install f5-ttsand it just works. Switch to fish-speech when you want inline emotion markers or temperature-based variation. - device -
autopicks CUDA when available, otherwise CPU. You almost never need to touch this. - precision -
autois the sane default and the README's 8 GB and 12 GB VRAM profiles both explicitly setfp16. Just know that the setting is really only threaded through to the fish-speech engine (fp16 on CUDA); F5-TTS picks its own path internally. Either way, fp32 is there for debugging or CPU edge cases.
Output is a single engine wire of type SPEECHGOD_ENGINE. Plug it straight into Generate.
Under the hood it's just a config bundle - the Loader records {name, device, precision} and Generate reads it. The real work happens lazily: engines load on first generation and stay cached per (engine, device, precision) key. That cache is why the README tells you to stick to one engine per session and not alternate per queue - flipping engines loads both into VRAM and you'll feel it on an 8 GB card.
Installing the pack
Use ComfyUI Manager (search "Speech-God") or clone it:
cd ComfyUI/custom_nodes
git clone https://github.com/realTNEU/ComfyUI-SpeechGod
Then install the requirements into the ComfyUI venv - not system Python, this matters:
<ComfyUI>/.venv/Scripts/pip.exe install -r \
<ComfyUI>/custom_nodes/ComfyUI-SpeechGod/requirements.txt
Restart ComfyUI and the ten Speech-God nodes appear under the Speech-God category. That's it for F5 - the model downloads itself on the first generation. (If you ever want the fish-speech engine later, the README has the source-install dance for it.)
Troubleshooting and honest caveats
- "F5-TTS is not installed" - you installed into the wrong Python. Re-run the
pip install -rline above into the venv and restart. - First cold start is brutally slow - f5-tts drags in gradio, fastapi and bitsandbytes even though inference doesn't need them, and ComfyUI scans every installed package on boot. The README's fix is blunt and correct:
pip uninstallthe ones you don't need and add a Defender exclusion for the ComfyUI folder. Could not load libtorchcodec- recent torchaudio routes I/O through torchcodec, which needs FFmpeg DLLs many Windows installs lack. Speech-God detects this and silently shims with soundfile, so usually you just never see it fail.- One license asterisk. F5-TTS weights are CC-BY-NC - non-commercial. Great for personal projects, a hard stop if this is ever for a paid product.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| engine | COMBO | f5-tts | 2 options: f5-tts, fish-speech |
| device | COMBO | auto | 3 options: auto, cuda, cpu |
| precision | COMBO | auto | 3 options: auto, fp16, fp32 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| engine | SPEECHGOD_ENGINE | — |