IAMCCS MiniMax H3 Editor Take Route
Turn H3 Chunks Into Editable Takes Without the Concat Headache
- cine_linx
- slot_frames
- slot_audio
- master_frames
- master_audio
- cine_linx
- take_package_json
- editor_frames
- editor_audio
- report
Most multi-shot video workflows in ComfyUI have the same dirty secret: they "generate a bunch of clips," and then you're stuck stitching them together by hand, or worse, the graph auto-concatenates them into one un-editable blob with seams baked in. The IAMCCS MiniMax H3 Editor Take Route is the node that fixes the seam problem. It takes a rendered H3 chunk - frames plus audio - and publishes it to the Shotboard's timeline as a real editable clip, complete with pre-roll and post-roll handles, without ever auto-concatenating anything. That's the difference between "a folder of clips" and "a film you can actually cut."
How it works
TakeRoute reads the H3 shotplan straight out of the cine_linx bus (which upstream nodes like the ShotPlanner populated) and routes your rendered media depending on task mode:
- Ordinary H3 modes: each generated chunk becomes its own editor clip - S001, S002, … - accumulated on the selected timeline lane. You feed it
slot_framesandslot_audiofrom the generation backend. - LongVid mode: every chunk shares one continuous guide clock, so intermediate chunks are deliberately blocked, and only the completed native master is published once. This is where the lazy inputs shine:
master_ready,master_framesandmaster_audioare evaluated only when the LongVid path actually needs them, viacheck_lazy_status. That's a genuinely nice bit of engineering - the expensive concat/load branch stays out of every non-LongVid execution instead of sitting in your graph doing nothing.
While it's in there, the node computes a roll contract: how many frames of pre-roll and post-roll handles each clip carries for editorial trim, derived from the shotplan's trim/FLF handles and the requested roll settings, then clamped to what was actually generated so you never reference frames that don't exist. The nominal timeline duration is preserved - that's the "non-destructive pre/post-roll" behavior the 1.5.1 release notes talk about.
The inputs and outputs that matter
Required inputs (all wired, not typed): cine_linx, current_segment, total_segments, fps, and resolved_render_id - the render ID is what keys the editor session, so keep it stable across segments. The optional set is the lazy LongVid branch: slot_frames/slot_audio for ordinary takes, and master_ready/master_frames/master_audio for the LongVid master.
The outputs are where the action is: cine_linx (updated bus), take_package_json (the immutable identity of this take - timeline id, lane, frame counts, roll contract), editor_frames (IMAGE) and editor_audio (AUDIO), which wire straight into the Shotboard Video Editor to land on the selected lane, plus a report JSON. If you only remember one thing: editor_frames + editor_audio go to the editor, take_package_json is your audit trail.
Installing it
Same pack as the Final Gate:
- ComfyUI Manager: search "IAMCCS".
- Manual:
cd ComfyUI/custom_nodes && git clone https://github.com/IAMCCS/IAMCCS-nodes
No pip dependencies for these nodes, but the H3 Shotboard needs a current ComfyUI with native H3 support, ComfyUI-GGUF and KJNodes, an NVIDIA GPU (12 GB VRAM works via dynamic offload), and 32–64 GB system RAM. And the pack's standard gotcha: keep only one copy of IAMCCS-nodes in custom_nodes, or ComfyUI registers stale classes.
Where people get burned
The node hard-fails if there's no valid H3 shotplan in cine_linx - it must come from the IAMCCS ShotPlanner, not from wherever you feel like. It also raises if no rendered IMAGE frames or AUDIO actually arrive, so a silently-dead upstream branch surfaces here as an error, not a blank clip. In LongVid mode, if master_ready comes in false you get blocked outputs with a waiting_for_longvid_master status - that's the concat branch telling you it isn't done yet, not a crash. And keep current_segment in sync with the shotplan's chunk list: a segment past the end of the plan raises a "segment outside the shotplan" error rather than guessing. Feed it a real shotplan and consistent counters, and this node quietly turns a pile of H3 renders into a timeline you can actually cut.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — | |
| current_segment | INT | — | |
| total_segments | INT | — | |
| fps | INT | — | |
| resolved_render_id | STRING | — | |
| slot_framesopt | IMAGE | — | |
| slot_audioopt | AUDIO | — | |
| master_readyopt | BOOLEAN | — | |
| master_framesopt | IMAGE | — | |
| master_audioopt | AUDIO | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| cine_linx | IAMCCS_SUPERNODE_LINX | — |
| take_package_json | STRING | — |
| editor_frames | IMAGE | — |
| editor_audio | AUDIO | — |
| report | STRING | — |