qwen3 / base
Your reference audio becomes the voice
- ref_audio_url
- api_config
- audio_blob
- model_type
- speaker
- workflow_id
- raw_json
This is the "base" operating mode of the Qwen3 text-to-speech stack on Civitai's cloud: it clones a voice from a reference clip. Give it text, plus an audio sample and that sample's transcript, and the vLLM-omni engine speaks your text in the reference voice. No local model, no GPU - a Buzz charge per clip instead. If you want a specific voice (yours, a character's, a colleague's), this is the node you'll actually reach for out of the Qwen3 TTS family.
It sits in Civitai/Audio/qwen3, part of Civitai's official ComfyUI pack. The family splits into three modes - Base (clone from audio), CustomVoice (pick from built-in speakers), and VoiceDesign (describe a voice in words). Base is the one that does cloning for real, with a twist the tooltip spells out: there's an x_vector_only_mode toggle that changes what you're required to provide.
How it works
The node submits a textToSpeech workflow with operation: base to Civitai's Orchestration API. The engine takes your reference audio, builds a speaker embedding from it, and generates your text in that voice. Normally it also wants the transcript of the reference clip (ref_text) to anchor the embedding - but flip x_vector_only_mode on and it skips straight to the speaker embedding, so the transcript becomes optional. Output comes back as a native AUDIO blob ready to wire anywhere.
The inputs that matter
- text (required) - what the cloned voice should say.
- x_vector_only_mode (required) - set it false for the full cloning path (you'll provide reference audio and its transcript); set it true to use just the speaker embedding, in which case
ref_textisn't required. If you have a clean transcript, leaving it false generally gives the tighter clone. - ref_audio_url - the reference clip. An
AUDIOsocket: wire a Load Audio node or another audio source. Keep it clean and short - 5–15 seconds of the voice with no background music. - ref_text - the exact transcript of that clip. Required unless x-vector-only mode is on.
- language - target language, leave empty for auto.
- max_new_tokens - optional generation cap; 0 (default) leaves it unlimited.
Outputs: audio_blob (AUDIO), model_type, speaker metadata, and the usual workflow_id + raw_json for cost and debugging.
Installing it
This ships in Civitai Comfy Nodes, Civitai's official pack for their Orchestration API (~160 nodes):
- 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(justrequests).
You need a Civitai account with Buzz and credentials - a Civitai Auth node, CIVITAI_API_TOKEN for headless boxes, or a stored key via the Civitai sidebar.
Where people get burned
- ref_text mismatch. If your transcript doesn't match what's actually said in the reference, the clone degrades noticeably. Transcribe carefully.
- No credentials → hard error. Export
CIVITAI_API_TOKENand restart; browser OAuth won't work in headless/remote setups. - Privacy and moderation. Your text and reference audio go to Civitai's servers, subject to the platform's filters. Don't clone voices you don't have the right to use, either legally or per Civitai's real-person rules.
- Paid and early-preview. Every clip burns Buzz, the pack is in active development, and early users reported slow jobs. Long generations can trip the default 30-minute timeout - raise it via the Auth node or
CIVITAI_COMFY_TIMEOUT.
Base mode is the "I have the voice, make it talk" option - the most useful of the Qwen3 modes if you're working with a specific speaker. Just feed it a clean reference and an honest transcript.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | The text to synthesize into speech. | |
| x_vector_only_mode | BOOLEAN | false | If true, uses only speaker embedding (ref_text not required). |
| languageopt | STRING | Target language (e.g., "English", "Chinese"). Defaults to "Auto". | |
| max_new_tokensopt | INT | 00–2147483647 | Optional generation cap for max tokens. |
| ref_audio_urlopt | AUDIO | Reference audio AIR URN or external URL for voice cloning. Accepts AIR URNs (existing resources) or HTTP(S) URLs. | |
| ref_textopt | STRING | Transcript of the reference audio. Required for Base mode unless XVectorOnlyMode is true. | |
| 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 | — |