Nodes/IAMCCS-nodes/IAMCCS MiniMax H3 Editor Take Route
ComfyUI Node

IAMCCS MiniMax H3 Editor Take Route

Turn H3 Chunks Into Editable Takes Without the Concat Headache

By IAMCCS·Created 11 months ago·Updated 11 days ago· 113
IAMCCS MiniMax H3 Editor Take Route
  • cine_linx
  • slot_frames
  • slot_audio
  • master_frames
  • master_audio
  • cine_linx
  • take_package_json
  • editor_frames
  • editor_audio
  • report
current_segment
total_segments
fps
resolved_render_id
master_ready

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_frames and slot_audio from 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_frames and master_audio are evaluated only when the LongVid path actually needs them, via check_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.

CategoryIAMCCS/Cine/Multigeneration

Inputs (10)

NameTypeDefaultDescription
cine_linxIAMCCS_SUPERNODE_LINX
current_segmentINT
total_segmentsINT
fpsINT
resolved_render_idSTRING
slot_framesoptIMAGE
slot_audiooptAUDIO
master_readyoptBOOLEAN
master_framesoptIMAGE
master_audiooptAUDIO

Outputs (5)

NameTypeDescription
cine_linxIAMCCS_SUPERNODE_LINX
take_package_jsonSTRING
editor_framesIMAGE
editor_audioAUDIO
reportSTRING