OmniVoice Model Loader
The heavy-lifter node every OmniVoice workflow starts at
- model
Every OmniVoice workflow in this pack starts at the Model Loader. It's the node that grabs the actual model - k2-fsa's OmniVoice, the zero-shot multilingual TTS that clones a voice from a short clip and speaks 600+ languages - and hands it to every Generate node downstream. No loader, no speech; it's the checkpoint node of this little TTS ecosystem.
Here's the thing about TTS in ComfyUI, though: unlike checkpoints, these models arrive through bespoke node packs with their own dependency stacks bolted on top of a system that was never designed for audio. The Loader is where most of that friction lands. Get it green once and the rest of the pack is smooth sailing.
How it works
The Loader pulls k2-fsa/OmniVoice from HuggingFace on first run - a multi-GB download that gets cached to ComfyUI/models/omnivoice/ - then loads it onto the device and dtype you pick. It's a one-shot operation per ComfyUI session; after that the model stays resident and you just keep generating. The community reports roughly 5–6.5GB VRAM in use with voice cloning, so it's a genuine GPU model, not a Kokoro-style CPU toy - though the actual generation is fast, with people measuring well over 10x real-time on newer cards.
The inputs that matter
Only three, and you mostly care about one of them:
device-cuda:0,cuda:1, orcpu. If you have a GPU, leave the default. Thecpuoption exists for honesty more than usability; expect slow generation.dtype-float16(default),bfloat16, orfloat32. Defaultfloat16is the right call for most people.bfloat16is worth a try if you're on Ampere+ and want a bit more headroom;float32is there if you're chasing precision, at double the memory.compile- the interesting one, and easy to miss. Defaultfalse. Flip it on and the loader runstorch.compile()on the model after loading: the first generation pays a 30–60 second warmup while the graph compiles, then every subsequent generation in the session is faster. The README recommends it specifically for audiobook pipelines, where you're generating chapter after chapter and the warmup amortizes away. Requires PyTorch 2.0+.
One output: model, type OMNIVOICE_MODEL, which wires into Generate (and only Generate).
Installing it
Standard for the pack - ComfyUI Manager, search "OmniVoice", install. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/ethanfel/ComfyUI-Omnivoice.git
then restart. The important bit is that Manager runs the pack's install.py, which installs the omnivoice Python package with --no-deps. Why: the omnivoice pip package pins torch==2.8.* from a CUDA 12.8 index, and installed normally it would overwrite ComfyUI's torch. The --no-deps flag skips that pin; requirements.txt covers the remaining deps safely.
Common issues
- "omnivoice failed to import" - this is the Loader's signature error, and it means the pip package didn't actually install. If you installed manually, run
pip install omnivoice --no-depsand reinstallrequirements.txt. Windows embedded Python gets the same command via.\\python_embeded\\python.exe -m pip. - The first run looks frozen. It's downloading the model from HuggingFace to
models/omnivoice/; give it time, and on a slow connection give it a lot of it. - Generation is slow and you're doing long text - flip
compileon and suffer one warmup instead of slow runs forever. - Torch version anxiety. Because the pack intentionally doesn't let omnivoice manage torch, your ComfyUI torch build needs to be reasonably recent. Old ComfyUI installs are where people hit the weirdest import errors.
If the Loader goes green and Generate still complains, the model's almost never the problem - check that a voice source is actually connected on the Generate node next.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| device | COMBO | cuda:0 | 3 options: cuda:0, cuda:1, cpu |
| dtype | COMBO | float16 | 3 options: float16, bfloat16, float32 |
| compile | BOOLEAN | false | Run torch.compile() on the model after loading. First generation will be slow (~30-60s warmup) while the graph is compiled, then every subsequent generation in the session will be faster. Recommended for audiobook pipelines. Requires PyTorch 2.0+. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model | OMNIVOICE_MODEL | — |