Nodes/ComfyUI Seedance/Qwen3 TTS 语音合成(2 合 1)
ComfyUI Node

Qwen3 TTS 语音合成(2 合 1)

A two-mode text-to-speech node that also takes delivery directions

By T8mars·Created 2 months ago·Updated 3 days ago· 31
Qwen3 TTS 语音合成(2 合 1)
  • api_config
  • audio
  • audio_url
  • audio_path
  • task_id
  • response
modelqwen3-tts-flash
prompt
voiceCherry
language_typeChinese
instructions
optimize_instructionstrue
skip_errorfalse
seed0

Qwen3 TTS is Alibaba's text-to-speech line, and this node wraps its two modes: Flash (reads your text straight) and Instruct Flash (reads it and follows natural-language delivery instructions - "speak slowly and a little sad"). The Instruct mode is the reason this node is worth a look over a generic TTS call: you describe how to say it, not just what to say. Feed it the result_text from a prompt enhancer or narration script and you can have a voiced character line in a few calls.

As with the whole T8mars/ComfyUI_Seedance pack, it's an API wrapper - key from api.seedance.nz, requests only, nothing synthesized locally.

How it works

Standard async audio flow: submit the text with the chosen voice and language, poll, download, decode to ComfyUI AUDIO. The interesting part is the instructions field - for Instruct Flash, you can write a delivery direction in Chinese or English, and the optional optimize_instructions toggle refines non-empty instructions upstream before synthesis, which typically means less literal reading and more actual performance.

The inputs that matter

  • model - Flash, or Instruct Flash.
  • prompt - the text to synthesize.
  • voice - a Qwen3 system voice ID or a custom voice ID you've set up.
  • language_type - pick the language matching your text; don't make the model guess.
  • instructions - Instruct Flash only: the delivery style. Ignored by plain Flash.
  • optimize_instructions - Instruct Flash only: have the model polish your instruction first.

Outputs: audio (AUDIO), audio_url, audio_path, task_id, response.

Installing it

ComfyUI Manager → search "ComfyUI Seedance", or:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/ComfyUI_Seedance.git
cd ../..
python -m pip install -r custom_nodes/ComfyUI_Seedance/requirements.txt

Restart, key from api.seedance.nz/console, Seedance API Config into api_config.

Common issues

  • Instructions do nothing - you're on plain Flash; delivery directions are an Instruct Flash feature. Switch models.
  • Wrong accent/pronunciation - language_type mismatching the text is the usual cause; set it to match the prompt.
  • Long text feels slow - TTS jobs queue like everything else here; a long paragraph genuinely takes a while, and the node's poll timeout is generous for a reason.
  • Voice quality varies by ID - system voices differ in warmth and stability; if one sounds robotic, try another before blaming your text. For a consistent character, the pack's MiniMax audio node gives you proper voice cloning.

Where this shines is batch narration: generate script lines, send each through, and keep the audio outputs lined up for a video's audio track. Keep prompts short and language-tagged and you'll get a surprising amount of mileage out of a very simple node.

CategorySeedance

Inputs (9)

NameTypeDefaultDescription
modelCOMBOqwen3-tts-flashFlash reads text directly; Instruct Flash also accepts delivery instructions. | Flash 直接朗读,Instruct Flash 可接受表达指令。
promptSTRINGText to synthesize. | 需要合成的文本。
voiceSTRINGCherryQwen3 TTS system or custom voice ID. | Qwen3 TTS 系统音色或自定义音色 ID。
language_typeCOMBOChineseLanguage matching the input text. | 与输入文本匹配的语言。
instructionsSTRINGInstruct Flash only: natural-language speaking style, in Chinese or English. | 仅 Instruct Flash:中文或英文表达风格指令。
optimize_instructionsBOOLEANtrueInstruct Flash only: refine non-empty instructions upstream. | 仅 Instruct Flash:优化非空表达指令。
api_configoptSEEDANCE_CONFIGConnect Seedance API Config; otherwise SEEDANCE_API_KEY is used.
skip_erroroptBOOLEANfalseOn failure return one second of silence instead of stopping the workflow. | 失败时输出 1 秒静音。
seedoptINT00–18446744073709550000ComfyUI cache seed. Fixed reuses the cached result while all other inputs stay unchanged; randomize/increment/decrement starts a new execution. This value is not sent to models without documented seed support. | ComfyUI 缓存种子;Fixed 在其他输入不变时复用缓存,随机、递增或递减会触发新任务。未声明支持 seed 的模型不会收到此参数。

Outputs (5)

NameTypeDescription
audioAUDIO
audio_urlSTRING
audio_pathSTRING
task_idSTRING
responseSTRING