MiniMax H3 Dialogue Script / 对话脚本 (EXP/T8)
From a two-column script to a dialogue plan
- voice_profiles
- dialogue_plan
- plan_json
If you've ever hand-built a 20-line conversation into separate text prompts, you know the pain: nothing keeps the two voices straight, the acting notes live nowhere, and a single line change means redoing half the graph. MiniMaxH3DialogueScriptT8 is the pack's answer - you type a script, it produces a structured, one-turn-at-a-time dialogue plan with a bound voice profile per speaker. It's the head of the dialogue chain, and it turns your writing into something the rest of the pack can actually consume.
How it works
Drop your script into the script field. The default format is auto, which handles the obvious style: lines like S1: text for speaker one, S2: text for speaker two (up to three speakers). Or set script_format to json for structured per-turn control - acting notes, per-turn timing, per-turn language, the works. default_language defaults to Chinese (the pack is Chinese-first; flip it to your target), and default_space describes the acoustic feel (close is the default - think tight mics). The voice_profiles input is an autogrow slot for 2–3 voice_profile nodes: one per speaker, and each turn gets bound to its speaker's profile.
Why "one turn at a time" matters
The whole architecture is built around per-turn independence: you generate, retry, or replace a single line without redoing the conversation. That's what the downstream Dialogue Turn Select node exists for. The plan output (dialogue_plan, type H3_T8_SPEECH_PLAN) plus plan_json is what flows into it. If you're new, keep the script format simple (auto + S1:/S2: lines), get the plan to build, then open the plan_json and read it - it's the clearest way to see what the pack thinks your script means before you spend GPU.
Installing it
Part of the MiniMax H3 Audio T8 pack. ComfyUI Manager → search MiniMax H3 Audio T8, or:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8
restart. No mandatory pip extras; H3 weights and friends go in models/ yourself. (H3 weights' Community License excludes the US, EU, UK, South Korea.) Note the dialogue/speech nodes are experimental - they're for real use, but the pack labels them that way for a reason.
The trap
auto format is a parser with opinions. If your script uses S1: prefixes in one place and bare lines elsewhere, the auto-detection can misassign speakers and the plan will silently look fine while being wrong. Read plan_json - that's the whole point of it. Also, voice_profiles needs at least 2 and at most 3 entries to match a 2–3 speaker plan; a one-speaker monologue isn't what this node is for. And when a turn's acting/timing feels off, resist the urge to rewrite the whole script: that's what Turn Select is for, one line at a time.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| script | STRING | — | |
| script_format | COMBO | auto | 3 options: auto, speaker_lines, json |
| default_language | COMBO | Chinese | 11 options: Arabic, Chinese, English, French, German, Italian, +5 |
| default_space | COMBO | close | 6 options: studio, close, across_table, living_room, bedside, stage |
| voice_profiles | COMFY_AUTOGROW_V3 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| dialogue_plan | H3_T8_SPEECH_PLAN | — |
| plan_json | STRING | — |