MiniMax H3 Dialogue Turn Select / 选择对白句 (EXP/T8)
Rerun one line, not the whole scene
- dialogue_plan
- voice_profile
- speech_plan
- spoken_text
- report_json
Dialogue generation is a loop: you generate a line, it's almost right, you rerun it, repeat. The whole reason MiniMaxH3DialogueScriptT8 builds a plan rather than a single blob of text is so you can redo exactly one turn. MiniMaxH3DialogueTurnSelectT8 is that mechanism: you hand it a dialogue plan and a turn_index, and it pulls out that one turn, its spoken text, and its bound voice profile - ready for independent generation, retry, or replacement.
How it works
Inputs are just two: dialogue_plan (the H3_T8_SPEECH_PLAN from the Script node) and turn_index (0-based, up to 9999). Outputs: voice_profile (the profile bound to that speaker), speech_plan (the plan, passed through), spoken_text (the exact line for that turn), and report_json (which turn you're looking at). The mental model: the Script node is the writer, this node is the editor pointing at one line on the page.
The workflow shape is the classic retry loop - select a turn, feed spoken_text + voice_profile into the pack's speech generation, and when the result is off, bump a seed or tweak and run that turn again. Because the voice profile comes out as its own socket, you can also audition a different voice on a single line without touching the rest of the plan - which is the pack's whole per-turn philosophy: independent generation, retry, replacement.
When you'd reach for it
When one line in a three-speaker scene comes out with the wrong energy or the wrong voice, and re-running the entire plan feels wasteful (it is). Also for assembly: generate each turn independently, then let the downstream speech/ADR nodes place them in the timeline. It pairs naturally with the Speech Verify node's exact-target alignment for timing.
Installing it
From MiniMax H3 Audio T8 (T8mars/T8star, GPL-3.0). Manager search MiniMax H3 Audio T8, or:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8
restart. No forced pip deps; models to models/ by hand. H3 weights' Community License excludes the US, EU, UK, South Korea.
The trap
turn_index is 0-based and the plan is ordered - turn 0 is the first line in your script, not the first speaker change you think of. If you keep selecting the wrong line, count from zero and read report_json. And don't expect this node to generate audio itself: it's a selector/plumbing node. The generation happens in the speech nodes downstream; this just makes sure you're re-running the right sentence with the right voice, and nothing else.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| dialogue_plan | H3_T8_SPEECH_PLAN | — | |
| turn_index | INT | 00–9999 | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| voice_profile | H3_T8_VOICE_PROFILE | — |
| speech_plan | H3_T8_SPEECH_PLAN | — |
| spoken_text | STRING | — |
| report_json | STRING | — |