Nodes/ComfyUI-MiniMaxH3-Contex-Loop/MiniMax H3 Masking · Two-Clip AV Bridge
ComfyUI Node

MiniMax H3 Masking · Two-Clip AV Bridge

Generate the missing middle between two real MiniMax H3 clips

By ethanfel·Created 17 days ago·Updated about 20 hours ago· 315
MiniMax H3 Masking · Two-Clip AV Bridge
  • latent
  • vae
  • audio_vae
  • start_frames
  • start_audio
  • end_frames
  • end_audio
  • latent
  • middle_frames
  • preserve_frames
start_fps24.000
end_fps24.000
preserve_frames39
cropcenter

Two-Clip AV Bridge is the answer to a specific and surprisingly common problem: you have two real video clips that should be joined - scene A's ending, scene B's beginning - and there's a gap between them that needs to be generated, convincingly, in a way that blends into both. This node builds a true two-ended H3 bridge target: it preserves the first clip's tail and the second clip's head as protected AV windows, then lets H3 denoise only the middle. One-ended continuation is the pack's bread and butter; two-ended is this node's whole personality.

It's the fanciest of the masking nodes, and it earns it. Where the chain's normal AV continuation protects a single predecessor tail, a bridge needs both ends pinned - the last frames of clip A and the first frames of clip B must survive the generation untouched, while everything between them gets invented. That's a harder contract, and the node's job is to make it exact.

What it needs

  • latent - an empty joint H3 AV target latent for the full bridge duration.
  • vae and audio_vae - the H3 video and audio VAEs.
  • start_frames / start_audio - the first clip; its final protected window becomes the bridge prefix.
  • end_frames / end_audio - the second clip; its initial protected window becomes the bridge suffix.
  • start_fps / end_fps - actual frame rates of the two clips; each is converted to H3's 24 fps timeline before selecting the protected window, so a 30 fps clip and a 24 fps clip still meet cleanly.
  • preserve_frames - the exact H3 run length for the protected windows: 5, 22, 39, 56... Use 39 for an exact 65-step AV boundary, matching the chain's hard_av behavior. This is the number that determines how much of each endpoint survives and how much middle is left to generate.
  • crop - resize policy for both endpoint videos: center (preserve aspect ratio, center-crop) or disabled (stretch to canvas).

What you get out

  • latent - the full bridge target with protected source AV windows at both ends and a denoised middle.
  • middle_frames - how many picture frames H3 actually has left to generate between the two protected endpoints. If this is tiny, the bridge is mostly a copy; if it's huge, your endpoints are barely anchored. Both extremes are worth noticing before you queue.
  • preserve_frames - the actual number of protected picture frames copied from each endpoint, for verification.

The workflow this node supports is the "Two-Clip Masked AV Bridge" example in the pack, which is the maintained path if you're bridging real footage rather than two generated scenes. For pure generated-to-generated continuation you probably don't need a bridge at all - the chain's normal transition handles it. Reach for this node when at least one end is real footage you can't re-render.

Install

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. Requires current ComfyUI with native Add Guide (PR #15439) and native per-token H3 AV masks (PR #15375) for the masked path. H3 weights not bundled; geofenced out of the US/EU/UK/South Korea under the Community License.

Gotchas

The preserve_frames choice is the whole game: too few and the bridge isn't anchored to either real clip; too many and there's nothing left to generate. 39 is the tested sweet spot for a full AV boundary. And check middle_frames before you spend GPU - a bridge that computes to zero middle frames is a copy operation wearing a sampler's clothes.

Categoryconditioning/minimax/contex_loop/masking

Inputs (11)

NameTypeDefaultDescription
latentLATENTEmpty joint H3 AV target latent for the full bridge duration.
vaeVAEMiniMax H3 video VAE.
audio_vaeVAEMiniMax H3 audio VAE.
start_framesIMAGEFirst source clip. Its final protected window becomes the bridge prefix.
start_audioAUDIOAudio synchronized with the first clip.
end_framesIMAGESecond source clip. Its initial protected window becomes the bridge suffix.
end_audioAUDIOAudio synchronized with the second clip.
start_fpsFLOAT24.0000.001–1000Actual frame rate represented by start_frames; it is converted to H3's 24 fps timeline before selecting the protected tail.
end_fpsFLOAT24.0000.001–1000Actual frame rate represented by end_frames; it is converted to H3's 24 fps timeline before selecting the protected head.
preserve_framesINT395–9999Exact H3 run: 5, 22, 39, 56, ... . Use 39 for an exact 65-step AV boundary.
cropCOMBOcenterResize policy for both endpoint videos: disabled stretches to the target canvas; center preserves aspect ratio and center-crops.

Outputs (3)

NameTypeDescription
latentLATENTFull bridge target with protected source AV windows at both ends and a denoised middle.
middle_framesINTNumber of picture frames left for the model to generate between the two protected endpoints.
preserve_framesINTActual number of protected picture frames copied from each endpoint.