MiniMax H3 Speech Long Form Control / 长文本控制 (EXP/T8)
Cancel, reset, or just check on a long-form speech job — without touching the graph
- report_json
If the long-form speech chain is an assembly line, this is the supervisor's office. MiniMaxH3SpeechLongFormControlT8 doesn't render anything, doesn't touch audio, and doesn't even take an audio input - it's a control-plane node that manages the state of a long-form job. You give it a job_id, pick an action, and it returns a report_json describing what it did. It's the smallest and most self-contained node in the pack's speech family, and for a multi-session job it's the difference between knowing your render is half-done and having to grep the output folder to guess.
What the actions do
The action combo has four options:
status(default) - read-only. Reports the job's current state, which segment is next, how many are accepted, and where the manifest lives. Run this first, always: it costs nothing and tells you whether you even need the other actions.request_cancel- sets a cancel flag on the job. The key word is request: the next time the Start/Resume node runs, it sees the flag and returns a cancelled state (next_indexof -1) instead of handing you more work. It doesn't abort a render mid-sample - it's a graceful "don't keep going" at the segment boundary.clear_cancel- removes that flag so the job can resume normally.reset_to_trash- the nuclear option: resets the job's accepted segments, but only when you also flipconfirm_resetto true. The name is a small lie worth understanding: it doesn't permanently delete your accepted audio - the reset moves things aside rather than shredding them. You need both the action and the confirm flag, which is the pack's standard double-consent pattern for destructive operations.
Output: a single report_json string with the outcome and current state. Wire it to a text display or just read it from the output panel.
Why this exists instead of a button
ComfyUI graphs re-run top-to-bottom, and a long-form job spans many executions. There's no "stop" button that persists across queue restarts - so the pack put the job state on disk, keyed by job_id, and exposed it through this node. That's the same philosophy as the Start node's atomic manifest: everything is explicit, resumable, and auditable rather than implied by whatever's still in VRAM. If you've ever lost a long render to an accidental queue cancel, you'll appreciate the design even if the node feels like busywork on short jobs.
Installing
Standard, once per pack: ComfyUI Manager → "MiniMax H3 Audio T8", or git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8 into custom_nodes, restart. No pip dependencies, no API key, no model files needed by this node - it's pure JSON bookkeeping. Note the one real gotcha: it only knows about jobs whose manifest exists (i.e. jobs you've started), and job_id must match exactly, so don't "fix" a typo by creating a new job unless you actually want to abandon the old one. And remember this whole speech branch is experimental - the reset path is designed to be recoverable, but that's a reason to keep a backup, not to skip making one.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| job_id | STRING | speech_job_001 | — |
| action | COMBO | status | 4 options: status, request_cancel, clear_cancel, reset_to_trash |
| confirm_reset | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| report_json | STRING | — |