Nodes/ComfyUI-MiniMaxH3-Contex-Loop/MiniMax H3 Contex Loop Review Gate
ComfyUI Node

MiniMax H3 Contex Loop Review Gate

The pause button that turns 'rerun the whole chain' into 'fix one scene'

By ethanfel·Created 17 days ago·Updated about 20 hours ago· 315
MiniMax H3 Contex Loop Review Gate
  • state
  • segment
  • audio
  • source_audio
  • segment
  • status
enabledtrue
play_notification_soundfalse
auto_continue_timeout_minutes0.0
unload_models_while_waitingfalse
assemble_partial_on_stoptrue
partial_audio_sourcecheckpointed
candidate_count1

This is the node that makes the Contex Loop approach to long MiniMax H3 video actually livable. Without it, a six-scene production is an all-or-nothing marathon: if scene four comes out wrong, you re-queue the whole thing and hope. Review Gate pauses after each saved scene, shows you the video with synchronized audio, and lets you approve, retry with an edited prompt or seed, reroll the seed, or approve-and-stop - and it only re-renders the scene that's broken. The rest of your chain stays on disk, untouched.

It sits between MiniMax H3 Chain Segment Save and Loop End. The discipline that makes it work is that saving happens before reviewing: the segment is already persisted to disk as an H.264 MP4 plus a safetensors resume checkpoint by the time the gate appears. Every accepted scene is recoverable, which is the whole point.

How the review flow works

Feed it the current state (state, from Current Shot - it identifies which scene is under review) and the persisted segment from Segment Save. The gate shows synchronized video/audio in the frontend. Your options:

  • Approve & continue - the segment passes to Loop End and the chain advances.
  • Retry - edit the scene's prompt/seed/duration (in the Plan's Scene Prompt Editor if one is bound, or in the gate's own prompt field if you enable it in Settings) and re-render just that scene.
  • Reroll seed - new seed, same prompt. Review Gate writes an explicit per-scene seed override rather than touching the Plan's base_seed, so the rest of the production stays reproducible.
  • Approve & stop - accept through the current scene and optionally assemble a partial MP4 (assemble_partial_on_stop, default on). Handy when you've got what you need and want to bail before the expensive tail.

The clever bit is candidate_count. Set it above 1 (up to 20) and the gate automatically renders several different-seed takes per scene before pausing, then lets you preview them side by side and choose which exact checkpoint continues the chain - the chosen take, not the last rendered one, becomes the context for the next scene. That's a genuinely better workflow for shots where you know you'll want options. It's a widget, but you can convert it to an input and drive it from an INT node.

Settings worth knowing

  • enabled - the master switch. Off means no pause, segment passes straight through.
  • auto_continue_timeout_minutes - auto-approve after N minutes. 0 waits forever. Set it when you're queuing overnight and don't want the chain parked at a decision.
  • unload_models_while_waiting - drop weights from VRAM while the gate is up, so your card idles cool. Continuing reloads the model stack, so it's a judgment call on speed vs. VRAM.
  • play_notification_sound - a browser chime when a segment is ready. Laughably simple, surprisingly great for long queues.

The audio input wants the frame-exact delivered audio from the Loop Trim node (needed for synchronized review and for generated_audio mode); there's a legacy source_audio fallback for runs whose state predates recoverable source audio. Outputs: segment (the approved one, for Loop End) and status.

Install

One node from ComfyUI-MiniMaxH3-Contex-Loop. ComfyUI Manager → search the pack, or:

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

Restart. No pip deps; needs a current ComfyUI with native Add Guide for MiniMax H3, and the H3 weights aren't bundled (and are territory-locked out of the US/EU/UK/South Korea under the Community License).

Gotchas

The most common mistake is wiring the review to pause before the segment is saved - the whole safety model depends on Segment Save running first. And if you change a scene's prompt at the gate and later resume from disk, remember resume validates predecessor dependencies; a retry that alters the prompt of an already-completed scene is exactly the kind of change that invalidates dependent resume. Keep retries to the scene under review and this flow feels like magic instead of a trap.

Categoryconditioning/minimax/contex_loop

Inputs (11)

NameTypeDefaultDescription
stateH3_CHAIN_STATECurrent state from H3 Chain Current Shot. It identifies the scene whose saved segment is being reviewed.
segmentH3_CHAIN_SEGMENTPersisted scene output from H3 Chain Segment Save. Saving before review makes every accepted scene recoverable.
enabledBOOLEANtruePause after every saved segment for approval.
play_notification_soundBOOLEANfalsePlay a browser chime when a segment becomes ready for review.
auto_continue_timeout_minutesFLOAT0.00–1440Automatically approve and continue after this many minutes. 0 waits indefinitely.
unload_models_while_waitingBOOLEANfalseRelease model weights from VRAM after the review appears. Approval remains responsive; continuing must reload the model stack.
assemble_partial_on_stopBOOLEANtrueApprove & stop also joins every accepted segment through the current scene into a partial MP4.
partial_audio_sourceCOMBOcheckpointedAudio for the partial MP4 created by Approve & Stop. checkpointed uses each saved generated delivered-audio track; source uses the exact Source Timeline audio carried in state, or the legacy full source_audio input when no Source Timeline is available; none creates a silent partial.
audiooptAUDIOWire frame-exact delivered audio from H3 MiniMax H3 Contex Loop Trim for synchronized review.
source_audiooptAUDIOFallback only for runs whose state predates recoverable source audio. Both Source Timeline and a legacy AUDIO connected at Loop Start are now carried path-backed in state. This does not affect generation or the per-scene preview.
candidate_countoptINT11–20Generate this many different-seed takes for each scene before pausing. 1 keeps the normal single-take review. Higher values automatically save and reroll candidates, then let you choose which exact checkpoint continues the chain. Convert this widget to an input to drive it from an INT node.

Outputs (2)

NameTypeDescription
segmentH3_CHAIN_SEGMENTThe approved segment, or the same segment after review is disabled. Connect to Loop End.
statusSTRINGReview decision, retry seed, timeout, stop, or partial-assembly status.