H3 Segment Splice (crossfade reassembly) [alpha]
Put the clip back together so nobody can find the cut
- baseline
- segment
- baseline_audio
- segment_audio
- IMAGE
- AUDIO
H3 Segment Splice is the reassembly half of the targeted de-rope pair, and it's the node that makes the whole "regenerate only the window" idea honest. H3 Segment Crop cut your clip down to the held span plus context handles; the regeneration chain ran on that small piece; now you need the small piece back inside the full clip with no visible seam. That's this node's entire job: baseline outside the window, recovered segment inside, and a crossfade inside each handle zone so the two takes melt into each other.
How it works
Three required inputs:
baseline- the full clip, world clock.segment- the recovered segment, also world clock - wire H3 Exact Recover's output for the segment.splice_map- from H3 Segment Crop, the map that says where the window is.
Then feather_frames (default 6) sets the crossfade width inside each handle. The handles were regenerated at hold 1 close to baseline, so the blend is hiding residual tone drift rather than trying to dissolve two wildly different takes - which is why it works. The audio side gets the same treatment: baseline_audio and segment_audio (from H3 Audio Recover) are spliced sample-accurately with an equal-power crossfade in the same handle zones. Omit the audio inputs entirely and it splices video only.
The output
A single IMAGE (the assembled clip) and AUDIO (the assembled track), both ready to feed a SaveVideo. Note that the splice is frame selection plus a blend, not a resample: the world outside the window is your original pixels, untouched, which is what makes the segment approach a genuine speedup rather than a quality compromise on the parts that were already fine.
Where it sits
This is the spatial/regional sibling of the pack's window machinery - same seam policy, smaller blast radius. Pair it with H3 Segment Crop, obviously, but also with H3 Tail Context when you're chaining segments: a good splice here is what gives the next segment's guide a clean ending to work from.
Install
Ships with matlowai/ComfyUI-MAINodes:
cd ComfyUI/custom_nodes
git clone https://github.com/matlowai/ComfyUI-MAINodes
Restart, find it under image/minimax/motion. No Python dependencies beyond the pack itself; you need MiniMax-H3 weights and ComfyUI's H3 support (check the licence's US/EU/UK/Korea carve-outs before you commit).
The one thing to internalize: feather_frames and handle_frames are two different numbers from two different nodes, and they're easy to mix up. handle_frames (on the crop) decides how much real-time context gets regenerated on each side; feather_frames (here) decides how wide the blend inside those handles is. If your seam is visible, widen the feather - but if the handles themselves don't match the baseline well enough, no amount of feathering saves you, and the fix is back at the crop node with a bigger handle or a better inject.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| baseline | IMAGE | — | |
| segment | IMAGE | recovered segment, world clock | |
| splice_map | STRING | — | |
| feather_frames | INT | 60–24 | crossfade width inside each handle |
| baseline_audioopt | AUDIO | — | |
| segment_audioopt | AUDIO | — | |
| fpsopt | INT | 241–120 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |
| AUDIO | AUDIO | — |