Nodes/IAMCCS-nodes/MiniMax H3 Atomic Shotboard Conditioning
ComfyUI Node

MiniMax H3 Atomic Shotboard Conditioning

The conditioning heart of the atomic H3 pipeline

By IAMCCS·Created 12 months ago·Updated 5 days ago· 115
MiniMax H3 Atomic Shotboard Conditioning
  • model
  • clip
  • video_vae
  • audio_vae
  • cine_linx
  • bridge_frame
  • first_frame_override
  • last_frame_override
  • ref_image_1
  • ref_image_2
  • ref_image_3
  • ref_image_4
  • ref_video
  • ref_video_audio
  • ref_audio
  • motion_context
  • model
  • positive
  • latent
  • first_frame
  • planned_last_frame
  • reference_manifest_json
  • prompt
  • current_segment
  • total_segments
  • trim_head_frames
  • report
  • motion_state
◄segment_index0►
◄render_id►
◄prompt_override►

In the "atomic" H3 backend, each segment of your shotboard gets its own self-contained conditioning pass, and this node is where that pass happens. IAMCCS_MiniMaxH3AtomicConditioningBackend takes the shotplan out of cine_linx, figures out which task the current segment is (T2VA, I2VA, FL2VA, or REF2VA), and builds the matching conditioning and the AV latent - all in one step. Outputs include model, positive, latent, first_frame, planned_last_frame, and a reference_manifest_json describing what references went in, plus prompt (the resolved prompt, so you can see exactly what the segment was told).

The docstring says "Build matching T2VA/I2VA/FL2VA/REF2VA conditioning and AV latent" and that's the whole job, but the "matching" is where the depth is. A REF2VA segment conditions on reference images, reference video, and reference audio; a FL2VA segment conditions on first and last frames; a T2VA segment barely needs media at all. One node handling all four means the graph stays the same shape regardless of segment type - the backend just routes the inputs it was given. That's the architectural bet of the atomic backend: identical wiring, per-segment behavior.

The inputs that matter:

  • model, clip, video_vae, audio_vae - the always-on quartet. These are the same models the router handed you (model from IAMCCS_MiniMaxH3AtomicModelRouter).
  • cine_linx + segment_index - where the shotplan and the per-segment task live. Everything downstream of these two is optional, which is what makes the node flexible.
  • bridge_frame - the continuity hand-off frame from the previous segment. This is how the atomic pipeline avoids the classic long-form failure of each segment starting from scratch. The pack's whole motion-continuity story (the IAMCCS_H3_MOTION_CONTEXT type, motion_state in/out) hangs off this.
  • first_frame_override / last_frame_override - jam in specific keyframes for FL2VA segments instead of trusting the plan.
  • ref_image_1..4, ref_video, ref_video_audio, ref_audio - the REF2VA reference media, straight from your Cine Info nodes.
  • prompt_override - per-segment prompt escape hatch; leave empty to use the shotplan's prompt.
  • render_id - names the render, used to keep segment artifacts addressable.

Outputs, in the order you'll wire them: model (patched), positive (conditioning), latent (the AV latent the sampler will denoise), first_frame / planned_last_frame (IMAGES - planned_last_frame is gold for previewing what continuity expects before you spend a render), reference_manifest_json, prompt, current_segment / total_segments / trim_head_frames (the loop contract the queue uses), report, and motion_state (the continuity context that flows into the next segment).

Installation: search IAMCCS in ComfyUI Manager or clone https://github.com/IAMCCS/IAMCCS-nodes.git into custom_nodes, restart. The real requirements are external and heavy: a current ComfyUI with native MiniMax H3 AV conditioning, the H3 model family (the router picks which branch), the Qwen3-VL text encoder, H3 video + audio VAEs, and - per the pack's workflow doc - at least 32GB system RAM is practical, 64GB recommended, with 12GB VRAM supported through dynamic offload. This is not a lightweight node and it doesn't pretend to be.

Where people get burned: it's the per-segment backend, so a segment_index that doesn't match the router's is how you get conditioning built for segment 3 while sampling segment 2 - the report output prints both, so check it on your first segmented run. And the bridge_frame hand-off is what keeps multi-segment identity stable; if your segments drift at the boundary, the fix is almost always the bridge and motion context, not the prompt.

CategoryIAMCCS/MiniMax H3/Atomic Backend

Inputs (19)

NameTypeDefaultDescription
modelMODEL—
clipCLIP—
video_vaeVAE—
audio_vaeVAE—
cine_linxIAMCCS_SUPERNODE_LINX—
segment_indexINT00–1000000—
bridge_frameoptIMAGE—
render_idoptSTRING—
first_frame_overrideoptIMAGE—
last_frame_overrideoptIMAGE—
ref_image_1optIMAGE—
ref_image_2optIMAGE—
ref_image_3optIMAGE—
ref_image_4optIMAGE—
ref_videooptIMAGE—
ref_video_audiooptAUDIO—
ref_audiooptAUDIO—
prompt_overrideoptSTRING—
motion_contextoptIAMCCS_H3_MOTION_CONTEXT—

Outputs (12)

NameTypeDescription
modelMODEL—
positiveCONDITIONING—
latentLATENT—
first_frameIMAGE—
planned_last_frameIMAGE—
reference_manifest_jsonSTRING—
promptSTRING—
current_segmentINT—
total_segmentsINT—
trim_head_framesINT—
reportSTRING—
motion_stateIAMCCS_H3_MOTION_CONTEXT—