Nodes/ComfyUI_Eclipse/Image Batch Extend With Overlap
ComfyUI Node

Image Batch Extend With Overlap

Splice two video clips together without a visible seam

By r-vage·Created 10 months ago·Updated a day ago· 31
Image Batch Extend With Overlap
  • source_images
  • new_images
  • images
overlap5
overlap_sidesource
overlap_modepyramid_blend

Video generation gives you clips, and clips are short. When you want a longer sequence you stitch two batches together - and a naive cat gives you a hard cut where the style, brightness, or content jumps. Image Batch Extend With Overlap is the Eclipse node that splices two image sequences with a proper transition, and it's the one you reach for when "concat two loaders" isn't good enough.

The core idea is simple: you give it source_images (first sequence) and new_images (second), tell it how many frames of overlap to play with, and it blends the boundary so the seam disappears. But this node is a Swiss-army knife of how to blend, and the overlap_mode combo is where it gets genuinely opinionated.

The modes that matter

  • pyramid_blend (default) - multi-scale Laplacian pyramid: each frequency band blends independently. Sharpest quality, which is why it's the default. If you only ever learn one mode, learn this one.
  • linear_blend / ease_in_out / filmic_crossfade / perceptual_crossfade - crossfades of increasing sophistication. Filmic does gamma-correct (2.2) blending that holds up in bright regions; perceptual does a LAB-space blend to avoid hue shifts. Caveat: perceptual needs kornia, and the node falls back to linear_blend with a console message if it's missing.
  • match_ncc / match_mse / match_luminance_mse / match_gradient_mse - these don't blend, they search. They scan frames of one batch against the other and hard-cut at the most visually similar pair. This is the loop-video trick: when your two clips already rhyme, cutting at the matching frame is invisible. ncc survives brightness drift, mse is fastest, gradient_mse matches structure only.
  • match_*+linear / match_*+pyramid - hybrid: find the matching pair, then blend across it. The tooltip's phrase "solves the model ramp-in freeze" is the real story - this smooths the near-static tail/head frames instead of slicing through them.
  • wipe_*/clock_wipe / dissolve / average / cut / concat - the show-off ones. Wipes and clock sweeps are transition effects; cut drops the overlap frames (with overlap_side deciding whose ends get dropped); concat ignores overlap entirely.

The three inputs you'll actually set

  • overlap - frames of overlap. 0 = hard concat.
  • overlap_side - which end(s) get searched or trimmed: source, new_images, or both. Default is source; for match modes, both scans the tail of source against the head of new.
  • overlap_mode - the blend strategy above.

If either batch is left unconnected, the connected one passes through unchanged, so it's safe to leave both sockets in a graph and wire them later. And if the two batches differ in resolution, new_images gets center-cropped and resized to match source_images - worth knowing before you wonder why your second clip lost its edges.

Installing

ComfyUI_Eclipse, r-vage's all-in-one pack. Manager → search ComfyUI_Eclipse, or:

cd ComfyUI/custom_nodes
git clone https://github.com/r-vage/ComfyUI_Eclipse

Restart; it's under Eclipse → Image → Batch Operations. Base deps are standard; install kornia if you want perceptual blends. Eclipse wants current ComfyUI (frontend 1.51.2+), and its v4.0 rewrite removed legacy RvTools_v2 nodes - the built-in Workflow Migration Tool is there for old saves.

Start with pyramid_blend and overlap around 5–8. Match modes are the hidden gem - if you're extending a loop, let it find the matching frame instead of forcing a crossfade. That's the difference between "seamless" and "slightly smeared in the middle."

Category🌒 Eclipse/ Image/Batch Operations

Inputs (5)

NameTypeDefaultDescription
overlapINT50–4096Number of overlapping frames between source and new images for blending modes. 0 = hard cut: the two batches are concatenated directly, overlap_mode is ignored. For match_* modes (pure): defines how many frames from each end are scanned — overlap_side=both scans last N of source AND first N of new_images; source/new_images pins one side and scans only the other. For match_*+blend hybrid modes: used as both the search window size AND the blend window applied starting at the matched cut point.
overlap_sideCOMBOsourceControls which side(s) are searched or trimmed. Meaning depends on overlap_mode. For cut mode: source: drops the last N frames of source_images. new_images: drops the first N frames of new_images. both: drops last N from source AND first N from new_images simultaneously (removes generated ramp/fade frames from both edges at once). For match_* modes: both: scan last N of source × first N of new_images — find the best-matching pair from both windows (default). source: pin new_images[0] as reference, search only source's tail — finds where source best matches the start of new_images. new_images: pin source[-1] as reference, search only new_images' head — finds where new_images best matches the end of source. Ignored for all other blend modes.
overlap_modeCOMBOpyramid_blendHow to blend the overlapping region. linear_blend: linear cross-fade. ease_in_out: S-curve cross-fade (slow start/end). filmic_crossfade: gamma-correct (2.2) cross-fade — better in bright regions. perceptual_crossfade: LAB-space blend — avoids hue shifts across strong color differences (requires kornia). average: fixed 50/50 mix of all overlap frames — no directional fade, both generations contribute equally. dissolve: random pixel-level selection per frame (dithered transition, film-grain look). pyramid_blend: multi-scale Laplacian pyramid — each frequency band blended independently; sharpest quality. clock_wipe: clockwise sweep from 12 o'clock — a hard edge rotates across the frame like a clock hand. clock_wipe_ccw: same sweep counter-clockwise. wipe_left: hard edge sweeps left→right across the frame. wipe_right: hard edge sweeps right→left. wipe_top: hard edge sweeps top→bottom. wipe_bottom: hard edge sweeps bottom→top. cut: drops overlap frames — overlap_side=source removes last N from source; overlap_side=new_images removes first N from new_images; overlap_side=both removes last N from source AND first N from new_images simultaneously. concat: direct concatenation, no frames lost, overlap parameter ignored. match_ncc / match_mse / match_luminance_mse / match_gradient_mse: scan frames of source against frames of new_images (window size = overlap) and hard-cut at the most visually similar pair — no blending needed since the frames already match. overlap_side=both searches both ends (default); source pins new_images[0] as reference; new_images pins source[-1] as reference. ncc is invariant to brightness/color drift; mse is fastest; luminance_mse ignores hue; gradient_mse matches structure only. match_*+linear / match_*+pyramid: hybrid — finds the best matching pair exactly as above, then instead of a hard cut, applies a linear or pyramid blend window of `overlap` frames starting at that matched position. Solves the model ramp-in freeze: the blend smooths the near-static tail/head frames rather than cutting through them abruptly.
source_imagesoptIMAGEThe source (first) image batch. Optional — when not connected, new_images is returned as-is.
new_imagesoptIMAGEThe new (second) image batch to extend with. Optional — when not connected, source_images is returned as-is.

Outputs (1)

NameTypeDescription
imagesIMAGEThe extended image batch with the overlap region blended, or whichever single input was connected.