IAMCCS MiniMax H3 Editor Final Gate
The Gate That Stops Your H3 Editor From Exporting Every Pass
- cine_linx
- cine_linx
- editor_manifest_json
- report
Run a long video loop in ComfyUI long enough and you'll meet the failure mode this node exists to kill: every chunk finishes, and the one node downstream that's supposed to render only at the end fires anyway - forty times, hours of GPU time, one file overwriting the next. The IAMCCS MiniMax H3 Editor Final Gate is a small valve that fixes exactly that. It doesn't sample anything and it never touches pixels. Its entire job is to say "not yet" to the export branch on every pass except the last one.
Where it lives
This node sits at the tail of the IAMCCS H3 Shotboard, the author's multigen pipeline for MiniMax H3 - the open-weight omni-modal video model that generates video with native audio. The Shotboard turns a multi-shot plan into individual generated chunks (each one a "take"), stacks them on a timeline in the Shotboard Video Editor, and only then assembles and exports the film. Without a gate, that final render step re-runs after every single chunk, because as far as ComfyUI's engine is concerned, the last segment's output is just another input change. FinalGate is the traffic light that makes the expensive branch wait for the film to actually be complete.
How it works
The mechanism is ComfyUI's native ExecutionBlocker. The node compares two wired integers: current_segment and total_segments. While current + 1 < total, it returns a blocker on both of its outputs. Anything downstream of those sockets simply doesn't execute on that pass - no error, no partial render, the branch is just skipped until the gate opens. On the final pass it passes both values through untouched and its report flips from editor_populated_export_waiting to editor_ready_for_final_export.
All four inputs are forceInput, so they're wired, not typed: cine_linx (the pack's LINX bus that carries the whole workflow state), editor_manifest_json (the editor's accumulated timeline manifest), and the two segment counters coming off your loop. The three outputs are the two passthroughs and report, a JSON string that tells you exactly which state the gate is in - it's your whole debugging surface, and it's honest about what it's doing, which is more than most of my graphs are.
Installing it
Same pack as the rest of the Shotboard:
- ComfyUI Manager: search for "IAMCCS" and install the pack directly.
- Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/IAMCCS/IAMCCS-nodes
These two nodes themselves are pure Python with no pip dependencies, but the H3 Shotboard as a whole is not a casual install: it wants a current ComfyUI build with native MiniMax H3 AV conditioning, ComfyUI-GGUF and KJNodes for the Qwen3-VL encoder, an NVIDIA GPU (12 GB VRAM works via dynamic weight offload, 32–64 GB system RAM is the practical zone), and optionally the Turbo, LTX, Wan, RIFE and RTX finishing packs. The pack README also warns to remove duplicate or backup copies of IAMCCS-nodes from custom_nodes - stale classes cause confusing import failures.
Where people get burned
The classic failure is wiring total_segments wrong so the gate never opens - your export branch sits silently dead and you only notice when the render queue ends with nothing saved. Check report first; the status string tells you which state you're stuck in. The reverse mistake is gating something you actually want every pass - like a per-segment preview. Anything behind this gate fires exactly once, on the last segment, by design. And one honest caveat: these nodes exist to run H3 locally, and the MiniMax H3 Community License geofences the weights out of the US, EU, UK and South Korea - worth knowing before you build a whole pipeline around it.
It's a boring node, and that's the compliment. A gate you never have to think about is the whole point.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — | |
| editor_manifest_json | STRING | — | |
| current_segment | INT | — | |
| total_segments | INT | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — |
| editor_manifest_json | STRING | — |
| report | STRING | — |