MiniMax H3 Chain De-Rope Guard
The guard that keeps de-roping from breaking your scene boundaries
- state
- hold_map
- expand_to_end
- protected_prefix
- protected_suffix
- status
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.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| state | H3_CHAIN_UPSCALE_STATE | Current Upscale state. Its RAW/delivered contract identifies the disposable prefix and whether another selected scene follows. | |
| hold_map | STRING | Adaptive world-frame hold map from MAINodes H3 Jerk Oracle, before H3 Time Smear. |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| hold_map | STRING | Hold map with the chain's disposable prefix and continuation-side suffix forced to rate 1. |
| expand_to_end | BOOLEAN | Connect to H3 Time Smear expand_to_end. It is enabled only for the last scene in the selected branch. |
| protected_prefix | INT | Number of RAW prefix frames protected from temporal dilation. |
| protected_suffix | INT | Number of closing frames protected because another scene follows. |
| status | STRING | Verified scene-clock and boundary-protection summary. |