MiniMax H3 • Prepare Continuation
Grow a clip by opening the next one with the last one's ending
- source_av
- continuation_av
- frame_count
- actual_overlap_frames
- overlap_seconds
The neatest trick in long-form H3 generation is that you don't need a separate "extend" model at all. Because H3's AV latent is just a tensor, you can construct the next latent so that its opening frames are the previous clip's ending frames, sample it, and then stitch away the overlap. That's exactly what Prepare Continuation does: it builds a new H3 AV latent whose opening is the synchronized tail of a previous result. You sample it, then use the pack's Stitch Continuation node to remove the repeated overlap.
Inputs
source_av- the previous result. Its tail becomes the new clip's opening.length(default 124) - how long the new latent should be, in frames. Note the step of 17: H3 frames live on a 17×k+5 grid, so lengths snap to it.overlap_frames(default 22) - how many of the previous clip's frames are reused as the continuation context. It snaps down to the 17×k+5 grid (22 is a natural value on that lattice). This overlap is hidden context - it doesn't add visible runtime to the final clip.video_context_denoise/audio_context_denoise(default 0) - how much the inherited tail gets re-denoised. 0 preserves the previous clip exactly; 1 fully regenerates it. Keep 0 for continuity.
Outputs
continuation_av- the prepared latent, ready for the sampler.frame_count(INT) - how many frames the new latent holds after grid snapping.actual_overlap_frames(INT) - the overlap after snapping (may differ from what you typed).overlap_seconds(FLOAT) - the overlap in seconds, for sanity-checking against your FPS.
Why do it manually when LongMedia exists?
You usually won't. The Long Media Sampler runs this same continuation engine internally - that 22-frame overlap handoff is the same mechanism behind segment_seconds and overlap_frames in Long Media Setup. Prepare Continuation is for the hand-rolled continuation route: build the next latent, sample it, stitch it. That route is useful when you want to inspect the boundary latent between segments, pause between them, or run each segment with different settings. It's the "continuation" tier of the pack, separate from the LongMedia tier that automates it.
Install
Part of ComfyUI-MiniMax-H3-LongMedia. Manager search "MiniMax-H3-LongMedia", or:
cd ComfyUI/custom_nodes
git clone https://github.com/vizart-vj/ComfyUI-MiniMax-H3-LongMedia
restart, with the H3 checkpoint + video/audio VAEs on hand (MiniMaxAI/MiniMax-H3, ~42.5 GB, community license excludes US/EU/UK/Korea).
Troubleshooting
If actual_overlap_frames differs from what you set, that's the H3 grid snapping - expected, not a bug. If the seam shows a hard cut, check video_context_denoise: any value above 0 re-denoises the inherited tail and destroys the exact handoff, so keep it at 0 for a true continuation. And if the sampled continuation drifts in style anyway, remember the overlap is only ~22 frames of context - H3's continuity is real but it's not infinite; for longer controlled runs, the Long Media Sampler's plan-based path (with source media re-injected per segment) gives you more to hang onto than a bare latent tail.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| source_av | LATENT | — | |
| length | INT | 1245–3600 | — |
| overlap_frames | INT | 225–3600 | Snapped down to the 17*k+5 H3 grid. |
| video_context_denoise | FLOAT | 0.000–1 | — |
| audio_context_denoise | FLOAT | 0.000–1 | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| continuation_av | LATENT | — |
| frame_count | INT | — |
| actual_overlap_frames | INT | — |
| overlap_seconds | FLOAT | — |