Speech-God Save Character
The character database node
- character
- saved_as
Voice cloning has a reproducibility problem that nobody talks about until it bites: the reference clip lives inside your workflow. Close it, rebuild the graph, and that carefully-tuned character is gone unless you remembered to reattach the same WAV. Speech-God Save Character exists to make characters durable - it writes a character's full profile to disk so you can rebuild it anywhere, any episode, with one node.
What it saves is more than the JSON you'd expect. Each saved character produces two files in custom_nodes/ComfyUI-SpeechGod/characters/:
<name>.json- every profile parameter: name, gender, age, tone, energy, speed, accent, style prompt, scene context, reference text, and all seven micro-expression sliders.<name>.voice- the reference audio itself (the "voice embedding" the cloning engines consume), attached only if the character has a voice reference connected.
That second file is the important one. The reference audio is what actually carries the voice, so saving it alongside the profile means a loaded character is a complete voice - you don't need to find and reattach the source WAV later. The README's framing is right: it's your "character consistency across episodes" button.
The node takes one required input - character (a SPEECHGOD_CHARACTER, straight from the Character node or after Voice Evolution - and yes, saving an evolved character works, which is a neat way to keep a mid-growth snapshot). It's an output node, and it returns saved_as, a string like characters/squirrel.json (+ .voice if reference attached). Filenames are slugified from the character name, so Squirrel McFluff becomes squirrel_mcfluff.json.
Installing and using it
Same pack, same drill: Manager search "Speech-God", or git clone https://github.com/realTNEU/ComfyUI-SpeechGod into custom_nodes, then pip install -r requirements.txt into the venv and restart. Save Character is pure file I/O - no models, no engine, nothing heavy. It's an output node, so give it a click and let it run; the saved path appears in its output.
To actually use the thing you saved, the Load Character node reads the characters/ folder into a dropdown and hands you the character back, reference audio and all. Save once in your polished workflow, Load in every new project, and the voice is just there.
Two small notes: the character files live inside the custom node folder, so a pack update or a fresh clone won't carry them over - back up characters/ if your cast matters. And if you save a character with no voice reference, you're saving the parameter profile only, which will render with the default fallback voice on load. Fine for a plan; not a clone.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| character | SPEECHGOD_CHARACTER | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| saved_as | STRING | — |