Nodes/civitai-comfy-nodes/qwen3 / voiceDesign
ComfyUI Node

qwen3 / voiceDesign

Describe a voice in words, get it speaking — no samples, no speaker list

By civitai·Created 2 months ago·Updated about a month ago· 42
qwen3 / voiceDesign
  • api_config
  • audio_blob
  • model_type
  • speaker
  • workflow_id
  • raw_json
text
instruct
language
max_new_tokens0

"You know the voice I want? A calm middle-aged male narrator with a slight British accent." In most TTS tools that's the start of a long hunt through speaker packs. Here it's the entire interface. CivitaiTextToSpeechVllmOmniQwen3VoiceDesign is the "voiceDesign" mode of Qwen3 TTS on Civitai's cloud: you write a natural-language description of the voice you want, type the text, and the engine designs a voice to match. No reference audio, no transcript, no speaker dropdown - just prose in, audio out.

It lives in Civitai/Audio/qwen3, part of Civitai's official ComfyUI pack, alongside Base (clone from a reference clip) and CustomVoice (pick from nine named speakers). VoiceDesign is the most flexible of the three and the most fun: it's the only one that doesn't assume you already have a voice in mind or on disk. If you're voicing a character who doesn't exist yet, this is the mode written for you.

How it works

The node submits a textToSpeech workflow with operation: voiceDesign to Civitai's Orchestration API. Your instruct field - the voice description - is the required input that drives everything: the engine interprets it into a speaker configuration and generates your text in that voice. The pack long-polls the job and hands back a native AUDIO tensor on audio_blob, plus model_type and speaker metadata describing what it actually produced (useful if you get a voice you like and want to recreate it later).

The inputs that matter

  • text (required) - what the designed voice should say.
  • instruct (required) - the voice description. This is the whole trick, so be specific: gender, age, register, accent, energy. The tooltip's example - "a calm middle-aged male narrator with a slight British accent" - is a good template. The more concrete the adjectives, the more it hits the mark.
  • language - target language, empty for auto.
  • max_new_tokens - optional generation cap; 0 = no cap.

Outputs: audio_blob (AUDIO), model_type, speaker, plus the standard workflow_id and raw_json for cost and debugging.

Installing it

This is one of ~160 nodes in Civitai Comfy Nodes, Civitai's official pack for their Orchestration API:

  • 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 (just requests).

You need a Civitai account with Buzz and credentials - a Civitai Auth node, CIVITAI_API_TOKEN (reliable for headless), or a stored key via the Civitai sidebar.

Where people get burned

  • No credentials → "No Civitai credentials" error. Export CIVITAI_API_TOKEN and restart; headless installs can't use interactive OAuth.
  • Vague instructions give vague voices. "A nice voice" gets you a generic result. Write it like a casting call: age, gender, tone, accent, delivery.
  • It's a metered cloud call. Each clip burns Buzz and your prompt/text leave your machine for Civitai's servers and their filters. Keep the content rules in mind.
  • Early preview. The README warns behavior "may change without notice," and early community reports include slow jobs and bugs. Long generations can outlast the default 30-minute timeout - raise it via the Auth node or CIVITAI_COMFY_TIMEOUT.

VoiceDesign is the mode people try first and get hooked on - it's the closest thing here to "prompt for a voice." Spend a few clips iterating on the description and you can land remarkably close to the voice in your head.

CategoryCivitai/Audio/qwen3

Inputs (5)

NameTypeDefaultDescription
textSTRINGThe text to synthesize into speech.
instructSTRINGNatural-language description of the desired voice (e.g., "a calm middle-aged male narrator with a slight British accent").
languageoptSTRINGTarget language (e.g., "English", "Chinese"). Defaults to "Auto".
max_new_tokensoptINT00–2147483647Optional generation cap for max tokens.
api_configoptCIVITAI_CONFIGOptional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login.

Outputs (5)

NameTypeDescription
audio_blobAUDIO
model_typeSTRING
speakerSTRING
workflow_idSTRING
raw_jsonSTRING