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 a day ago· 112
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