Nodes/ComfyUI-QWEN3_TTS/Qwen3 TTS Batch Generate
ComfyUI Node

Qwen3 TTS Batch Generate

Paste a script, get a stack of audio files — one queue for the whole page

By PGCRT·Created 7 months ago·Updated 7 months ago· 9
Qwen3 TTS Batch Generate
  • model
  • clone_prompt
  • AUDIO
text_listLine 1 Line 2 Line 3
separator
seed0
speakerVivian
languageAuto
max_new_tokens2048
temperature1.00
top_p0.80
repetition_penalty1.10

Qwen3 TTS Batch Generate is the node you graduate to when typing lines one at a time into Custom Voice starts feeling like a punishment. Paste a whole list of texts into one field, hit queue once, and get back one AUDIO per line. It's the "generate my entire script in one go" node, and it's the only node in this pack that outputs a list of audio rather than a single clip.

What it takes in

  • text_list - your texts, one per line (multiline). The default "Line 1\nLine 2\nLine 3" shows the shape.
  • separator - how the list is split. Defaults to \n (newline), so line-per-text is the natural usage. Set it to something else if your text contains newlines and you want to split on, say, a ; instead.
  • seed - one seed for the whole batch.

The optional inputs decide which generation mode it runs in:

  • speaker (default Vivian) - the preset voice for the custom-voice path. Note this is a free-text string here, not the dropdown you get on the Custom Voice node - spell the speaker name exactly right, or it won't resolve.
  • language (default Auto) - also a string, not an enum. Same spelling discipline.
  • clone_prompt - wire a QWEN_CLONE_PROMPT in and the whole batch switches to voice-clone mode using that pre-built voice instead of a preset speaker.

Plus the standard sampling sliders. Output is an AUDIO list - one per input line, in order - which you can feed to Preview Audio (with a list-handling node or by wiring each) or Save Audio.

Which mode are you in?

The node's logic is simple: if clone_prompt is connected, it runs generate_voice_clone over the whole list in that voice. If not, it runs generate_custom_voice with speaker for every line. Pick your lane deliberately. The clone path is the efficient one for a long script in one voice (combined with Create Clone Prompt, you build the embedding once and batch the rest); the custom-voice path is the quick preset-voice batch.

The honest caveats

Batch nodes are great until they're not, and this one has two traps:

  1. One voice, one batch. There's no per-line speaker or emotion control - it's all one speaker, one language, one set of sampling params for the whole list. If lines need different voices, you need multiple Batch nodes (or one per voice).
  2. Text-list gotchas. Because separator defaults to \n, empty lines are stripped, but if your text legitimately contains newlines you'll silently split mid-thought. Also, since speaker and language are plain strings, a typo fails at generation time, not in the dropdown. Double-check names.

On the plus side, the batch runs in a single model session, so you're not paying model reloads between lines - which is exactly what makes it faster than firing off N separate Custom Voice nodes. The console stat block (RTF, samples/sec, VRAM) also shows the whole batch's numbers at once, which is the closest thing to a benchmark this pack gives you.

Install and run

Standard pack install - ComfyUI Manager search "Qwen3-TTS", or git clone https://github.com/PGCRT/ComfyUI-QWEN3_TTS into custom_nodes/, pip install -r requirements.txt, restart. Load the CustomVoice model for the speaker path or the Base model for the clone-prompt path - the model has to match the mode you pick. Then: type your script, pick a speaker (or wire a clone prompt), queue once, and go make coffee while the whole page generates.

CategoryQwen3_TTS

Inputs (11)

NameTypeDefaultDescription
modelQWEN_TTS_MODEL
text_listSTRINGLine 1 Line 2 Line 3
separatorSTRING
seedINT00–18446744073709550000
speakeroptSTRINGVivian
languageoptSTRINGAuto
clone_promptoptQWEN_CLONE_PROMPT
max_new_tokensoptINT20481–8192
temperatureoptFLOAT1.000.1–2
top_poptFLOAT0.800.1–1
repetition_penaltyoptFLOAT1.101–2

Outputs (1)

NameTypeDescription
AUDIOAUDIO