omnivoice
One text box to speech — with optional voice cloning, no local model
- ref_audio_url
- api_config
- audio_blob
- model_type
- speaker
- workflow_id
- raw_json
Type a sentence, get a voice back. CivitaiTextToSpeechVllmOmniOmnivoice is the "omnivoice" variant of Civitai's cloud text-to-speech: give it text, it synthesizes audio on Civitai's servers and hands you a native AUDIO output you can wire into a preview, save, or further processing. No local TTS model, no VRAM, no PyTorch install - just a Buzz charge per clip. If you've ever wanted a TTS node that Just Works with zero setup, this is that node.
It lives in the Civitai/Audio/omnivoice menu of Civitai's official ComfyUI pack. The interesting part is ref_audio_url: wire in a short sample of someone's voice and a transcript of that sample, and it does zero-shot voice cloning - the same TTS pipeline's standard trick, but hosted. That makes it a one-stop voiceover tool: narrate a video, dub a character, or give your video-gen results a voice track without leaving the graph.
How it works
The node submits a textToSpeech workflow to Civitai's Orchestration API. Your text goes up, the vLLM-omni model generates speech, and the pack downloads the result as an audio blob that comes back through the audio_blob output (an AUDIO type). Like every node in this pack it long-polls until the job is done, then reports workflow_id and cost on the canvas so you can see what a clip ran you.
The inputs that matter
- text (required) - the words to synthesize. That's the whole job when you don't need cloning.
- ref_audio_url - reference audio for voice cloning. It's an
AUDIOsocket, so wire a Load Audio node or another audio source. In the cloud-pipeline terms the API accepts an AIR URN or a URL, but here you just feed it a Comfy audio tensor. - ref_text - the transcript of that reference clip. Clone quality drops if this doesn't match what's actually said, so transcribe it accurately.
- instruct - an optional style/voice instruction ("read this like a documentary narrator") layered on top.
- language - target language; leave empty for auto-detection.
The outputs are audio_blob (the audio), model_type and speaker (metadata about what actually generated it), plus the standard workflow_id and raw_json for debugging.
Installing it
This is one of ~160 nodes in Civitai Comfy Nodes, Civitai's official pack for their Orchestration API. Install it once, get them all:
- ComfyUI Manager: Manager → Custom Nodes Manager → search Civitai Comfy Nodes → Install, then restart.
- CLI:
comfy node registry-install civitai-comfy-nodes - Source:
cd ComfyUI/custom_nodes && git clone https://github.com/civitai/civitai-comfy-nodes.git && pip install -r civitai-comfy-nodes/requirements.txt(onlyrequests).
You need a Civitai account with Buzz and credentials - a Civitai Auth node, CIVITAI_API_TOKEN (the reliable path for headless), or a stored key from the Civitai sidebar.
Where people get burned
- No credentials → "No Civitai credentials" error. Export
CIVITAI_API_TOKENand restart ComfyUI; headless setups can't use browser OAuth. - Cloning is picky about ref_text. If your reference transcript doesn't match the audio, the cloned voice drifts. Use a clean 5–15 second sample.
- It's a paid call and it's moderated. Every clip burns Buzz, and your text and reference audio leave your machine for Civitai's servers, where the platform's content filters apply.
- Early preview. The pack README warns nodes "may change without notice," and early community reports mention slow jobs and bugs. Long clips can hit the default 30-minute timeout - raise it via the Auth node or
CIVITAI_COMFY_TIMEOUT.
If you need quick, decent narration and don't want to wrestle a local model, this is the lazy-correct answer. If you're doing voice cloning at volume, the cost adds up - but for one-offs it's hard to beat "type, run, done."
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | The text to synthesize into speech. | |
| languageopt | STRING | Target language (e.g., "English", "Chinese"). Defaults to "Auto". | |
| ref_audio_urlopt | AUDIO | Reference audio AIR URN or external URL for voice cloning. | |
| ref_textopt | STRING | Transcript of the reference audio. | |
| instructopt | STRING | Optional voice/style instruction. | |
| api_configopt | CIVITAI_CONFIG | Optional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| audio_blob | AUDIO | — |
| model_type | STRING | — |
| speaker | STRING | — |
| workflow_id | STRING | — |
| raw_json | STRING | — |