Nodes/ComfyUI-MiniMaxH3-Contex-Loop/MiniMax H3 Chain De-Rope Guard
ComfyUI Node

MiniMax H3 Chain De-Rope Guard

The guard that keeps de-roping from breaking your scene boundaries

By ethanfel·Created 17 days ago·Updated about 18 hours ago· 315
MiniMax H3 Chain De-Rope Guard
  • state
  • hold_map
  • expand_to_end
  • protected_prefix
  • protected_suffix
  • status
hold_map

MiniMax H3 Chain De-Rope Guard is the safety rail in the deferred upscale loop. "De-roping" is the process of removing the repeated context overlap (the "rope") that H3's continuity inserts between scenes, so an upscaler re-times the motion instead of re-rendering the stutter. The problem: de-roping tools like MAINodes' H3 Time Smear work on one continuous timeline, and a chain isn't one - it's scenes stitched together, with boundaries that must survive the re-time. This node adapts a MAINodes de-rope hold map to a single chain scene so the boundaries hold.

It slots between MAINodes' H3 Jerk Oracle (which produces an adaptive world-frame hold map) and H3 Time Smear. The tooltip chain is: source x0 → H3 Jerk Oracle → Chain De-Rope Guard → H3 Time Smear → H3 video VAE encode → LBH 3D → .... It takes the oracle's hold map and forces specific regions to rate 1 - meaning "do not retime this."

What it protects

Two things, and both matter:

  • The repeated continuation prefix - the frames the chain carries into this scene as context. They're never retimed, because they're not new content; they're the previous scene's tail. Retiming them would desync the handoff.
  • The last 17 frames of a non-final scene - protected so that recovery can't accelerate motion into the next scene. A scene's closing frames are the next scene's opening context; if de-roping stretches them, the whole chain's timing comes apart.

It also enables Time Smear's expand_to_end only at the selected branch tip - the final scene of a branch, where there's no next scene to protect.

The inputs and outputs

Inputs are state (current Upscale state; its RAW/delivered contract identifies the disposable prefix and whether another selected scene follows) and hold_map (the adaptive world-frame hold map from H3 Jerk Oracle, before Time Smear).

Outputs: hold_map (with the chain's disposable prefix and continuation-side suffix forced to rate 1 - connect to Time Smear), expand_to_end (a BOOLEAN you connect to Time Smear's expand_to_end; enabled only for the last scene), protected_prefix and protected_suffix (INTs telling you how many frames are locked on each side - genuinely useful for debugging why a scene came out shorter than you expected), and status (the verified scene-clock and boundary-protection summary).

The honest read

This is a specialist node in an advanced workflow - you'll only see it in the "Deferred Upscale + De-Rope - H3 LBH 3D" bundle, and you should not reach for it in a first render. Its job is invisible when it works: scenes de-rope, boundaries hold, motion doesn't warp. When you don't have it, de-roping a multi-scene chain silently damages the transitions. So it's the difference between the upscale being usable and being a demo.

Installing it

Part of ComfyUI-MiniMaxH3-Contex-Loop (ComfyUI Manager: "MiniMax H3 Contex Loop"), or:

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

Restart ComfyUI. It's a wrapper around MAINodes, so you must also install ComfyUI-MAINodes (matlowai) for H3 Jerk Oracle and H3 Time Smear. Standing requirements: H3 weights, current ComfyUI with native Add Guide (PR #15439).

Common issues

If scenes come out with visible motion stutter at the boundary, the Guard isn't in the path - check the wire order (oracle → guard → Time Smear), because feeding Time Smear the raw oracle map skips all protection. And remember the suffix protection only applies when another selected scene follows; the last scene deliberately gets expand_to_end, so a slow-motion final scene is expected, not a bug.

Categoryconditioning/minimax/contex_loop/upscale

Inputs (2)

NameTypeDefaultDescription
stateH3_CHAIN_UPSCALE_STATECurrent Upscale state. Its RAW/delivered contract identifies the disposable prefix and whether another selected scene follows.
hold_mapSTRINGAdaptive world-frame hold map from MAINodes H3 Jerk Oracle, before H3 Time Smear.

Outputs (5)

NameTypeDescription
hold_mapSTRINGHold map with the chain's disposable prefix and continuation-side suffix forced to rate 1.
expand_to_endBOOLEANConnect to H3 Time Smear expand_to_end. It is enabled only for the last scene in the selected branch.
protected_prefixINTNumber of RAW prefix frames protected from temporal dilation.
protected_suffixINTNumber of closing frames protected because another scene follows.
statusSTRINGVerified scene-clock and boundary-protection summary.