Nodes/ComfyUI-MiniMaxH3-Contex-Loop/MiniMax H3 Contex Loop Current Shot
ComfyUI Node

MiniMax H3 Contex Loop Current Shot

Prompt, seed, length and audio window for whatever shot is rendering

By ethanfel·Created 17 days ago·Updated about 19 hours ago· 315
MiniMax H3 Contex Loop Current Shot
  • state
  • source_audio
  • state
  • clip_index
  • clip_count
  • shot_id
  • prompt
  • noise_seed
  • length
  • steps
  • width
  • height
  • audio_start
  • audio_duration
  • source_audio_slice
  • status
  • video_blend_frames
align_audio_referencefalse

MiniMax H3 Contex Loop Current Shot is the node that tells you, and the rest of the graph, exactly what's being generated right now. It takes one input - the chain state from Loop Start - and fans it out into everything a scene needs: the resolved prompt, the seed, the frame length, steps, dimensions, and the source-audio window. Think of it as the per-scene adapter between "here's the plan" and "here's this shot, concretely."

In a recursive loop, the interesting thing is that this node resolves values per iteration. The Plan holds the whole movie; Current Shot holds scene 7. That's what makes all the downstream wiring possible - the stock H3 conditioning node needs a specific prompt and length, the sampler needs a specific seed, and none of those are static across the run.

The outputs you'll actually wire

  • prompt - the shared prompt followed by the current scene prompt, ready for the stock H3 conditioning node's prompt input. This is the main one.
  • noise_seed - the resolved 64-bit seed for the current scene. Straight into the sampler's noise seed. This is where per-scene seed resolution happens: scenes without an explicit seed get a stable derived one from the Plan's base_seed.
  • length - the H3-valid raw frame count including the repeated head overlap on continuations. Connect to the stock node's length. This is why you never hand-compute lengths; the plan rounds to valid 17k+5 counts and this node hands you the right one.
  • steps, width, height - resolved per-scene sampler steps and the Plan's generation dimensions.
  • audio_start and audio_duration - the current scene's window into the extension track, in seconds. Useful for any node that needs to know where in the soundtrack this scene lives.
  • source_audio_slice - the current source-audio window as an AUDIO type, for a separate Ref2VA Audio reference. It's frame-exact normally, or capped to H3's target audio grid when align_audio_reference is on.
  • clip_index / clip_count - the one-based scene number and the total. Drive scene-dependent switches with clip_index (the Frame Index Switch exists exactly for this).
  • shot_id - the stable scene identifier used in checkpoints and status messages. Not glamorous, but it's how the whole checkpoint system talks about a scene.
  • status - a STRING summarizing timing, delivered frames, source window and seed. Read it, don't wire it.

The state output passes the unchanged state onward to Chain Context, Segment Save, Review and Loop End - so Current Shot is a read-only pass-through, not a branch in the data flow.

Optional inputs, briefly

source_audio is a legacy 0.4 full-track input; in 0.5 Loop Start carries a path-backed copy in state, so this wire is unnecessary (a still-connected copy is accepted only if its fingerprint matches). align_audio_reference is the experimental alignment switch that caps the source slice 5ms below H3's rounded 40 Hz target-audio boundary - it changes 15.083333s to 15.070s for a 362-frame scene while keeping 603 reference steps. Leave it off unless you're chasing audio-drift alignment issues; the full source track used by Assemble is never modified by it.

Installing it

Part of ComfyUI-MiniMaxH3-Contex-Loop. ComfyUI Manager: search "MiniMax H3 Contex Loop", or:

cd ComfyUI/custom_nodes && git clone https://github.com/ethanfel/ComfyUI-MiniMaxH3-Contex-Loop.git

Restart ComfyUI. Standard pack requirements: H3 weights, current ComfyUI with native Add Guide (PR #15439).

Common issues

The one people trip on: video_blend_frames is a legacy resolved blend integer. In 0.5 you should not be using it - wire Current Shot's state to Loop Trim's state and let Loop Trim resolve scene overrides internally. If your scenes keep coming out with the wrong blend, you're probably still on the old output. And if source_audio_slice comes back empty, that's expected when Source reference is off - including when Lock source audio carries the full window privately in state.

Categoryconditioning/minimax/contex_loop

Inputs (3)

NameTypeDefaultDescription
stateH3_CHAIN_STATECurrent state from H3 Chain Loop Start.
source_audiooptAUDIOLegacy 0.4 full-track input. Loop Start now carries a path-backed copy in state, so this wire is unnecessary. A still-connected copy is accepted only when its fingerprint matches.
align_audio_referenceoptBOOLEANfalseExperimental. Cap only source_audio_slice 5ms below H3's rounded 40 Hz target-audio boundary. For 362 frames this changes 15.083333s to 15.070s while retaining 603 reference steps and a short padded tail. Shorter slices are unchanged. The full source track used by Assemble is never modified.

Outputs (15)

NameTypeDescription
stateH3_CHAIN_STATEUnchanged current state for Chain Context, Segment Save, Review, and Loop End.
clip_indexINTOne-based scene number currently being generated.
clip_countINTTotal scenes in the plan.
shot_idSTRINGStable scene identifier used in checkpoints and status messages.
promptSTRINGShared prompt followed by the current scene prompt. Connect to the stock H3 conditioning node's prompt input.
noise_seedINTResolved unsigned 64-bit seed for the current scene. Connect to the sampler noise seed.
lengthINTH3-valid RAW frame count, including the repeated head overlap on continuations. Connect to the stock H3 conditioning node's length.
stepsINTResolved sampler steps for this scene.
widthINTPlan generation width.
heightINTPlan generation height.
audio_startFLOATStart time in seconds of this scene's extension-track window. For an imported-video scene 1, its separate context lead precedes this time.
audio_durationFLOATRaw conditioning-audio duration in seconds, including any imported scene 1 context lead.
source_audio_sliceAUDIOCurrent source-audio window for a separate Ref2VA Audio reference. It is frame-exact normally, or capped to the target H3 audio grid when alignment is enabled. It is empty when Source reference=off, including when Lock source audio carries the full window privately in state.
statusSTRINGCurrent scene timing, delivered frames, source window, and seed.
video_blend_framesINTLegacy resolved blend integer. New 0.5 workflows connect Current Shot state to Loop Trim state, which resolves scene overrides internally. This output remains for older workflows and diagnostics.