Nodes/TrentNodes/Cross Dissolve with Overlap
ComfyUI Node

Cross Dissolve with Overlap

Glue Two Clips Together Without the Hard Cut

By TrentHunter82·Created 9 months ago·Updated 4 days ago· 36
Cross Dissolve with Overlap
  • images_a
  • images_b
  • images
  • frame_count
  • blend_info
overlap_frames10
dissolve_curvelinear
auto_adjust_overlaptrue
feather_edgesfalse
preserve_aspecttrue
blend_modenormal

A cut is the cheapest way to join two shots, and also the most jarring. When you're stitching together video fragments - a Wan clip ending where another begins, two image batches that are meant to be one continuous scene - a hard cut advertises the seam. Cross Dissolve with Overlap is the node that dissolves between them instead: it takes the tail of one clip and the head of the next and blends them together over a window you control.

It's the sort of node that sounds trivial and turns out to be the difference between "you can see where I edited" and "where did that clip even change?" If you're assembling per-scene outputs from a scene splitter, or joining extension segments, this is the glue.

How it works

Feed it two image batches - images_a and images_b, where A is the earlier clip and B the later one. The node:

  1. Takes overlap_frames (default 10) from the tail of A and the same number from the head of B.
  2. Blends the two overlapping regions together with an alpha ramp shaped by dissolve_curve.
  3. Concatenates the rest of A, the blended region, and the rest of B into one output batch.

The dissolve_curve menu is where the character of the transition lives: linear is the even crossfade, ease_in/ease_out lean one way, ease_in_out is the gentle S-curve most editors reach for, and bounce/elastic are there if you want the transition to have a personality it shouldn't. blend_mode (normal, multiply, screen, overlay, soft_light) changes how the overlapping pixels combine rather than just how fast they fade.

The knobs that actually matter for a beginner:

  • overlap_frames - the length of the dissolve. Too short and you see a blink; too long and the motion gets mushy. Start at 10.
  • dissolve_curve - ease_in_out or linear; the rest are flourishes.
  • auto_adjust_overlap (default on) - caps the overlap at the batch sizes so you can't ask for a 100-frame dissolve across two 40-frame clips and get garbage.
  • preserve_aspect (default on) - resizes both batches to matching dimensions first, so a dimension mismatch doesn't abort the run.

The outputs are the blended images batch, frame_count (handy if you're computing a final duration), and blend_info, a string describing what the node actually did - worth glancing at once if a transition looks off, because it tells you the overlap that really ran after auto_adjust_overlap did its thing.

Install

Search "Trent Nodes" in ComfyUI Manager, or:

cd ComfyUI/custom_nodes
git clone https://github.com/TrentHunter82/TrentNodes.git
cd TrentNodes
pip install -r requirements.txt

This node is pure torch tensor math - no model downloads, nothing beyond the pack's standard opencv-python/numpy/pillow requirements. Restart ComfyUI after installing. (The author has flagged that ComfyUI Manager can misbehave on this pack thanks to an early repo rename that left a duplicate registry entry; the manual clone is the dependable path.)

Common issues

  • Wrong total frame count. You're blending overlap frames, so frame_count equals len(A) + len(B) - overlap_frames. If your downstream video node expects the raw sum, pad accordingly.
  • A and B are wildly different sizes. With preserve_aspect on, the node resizes to match - check blend_info if the result looks stretched, because that's the resize talking.
  • The dissolve looks like a double-exposure. That's blend_mode fighting you. Keep it on normal for realistic dissolves; screen and overlay are stylistic choices, not fixes.

For joining two clips into one smooth take, this is a small node that does one thing well. And it's the rare ComfyUI node where the default settings are genuinely fine - set overlap_frames, pick a curve, and go.

CategoryTrent/Video

Inputs (8)

NameTypeDefaultDescription
images_aIMAGE
images_bIMAGE
overlap_framesINT101–1000
dissolve_curveCOMBOlinear7 options: linear, ease_in, ease_out, ease_in_out, smooth, bounce, +1
auto_adjust_overlapoptBOOLEANtrueAutomatically adjust overlap if it exceeds batch sizes
feather_edgesoptBOOLEANfalseApply edge feathering to reduce visible seams
preserve_aspectoptBOOLEANtrueEnsure both image batches have matching dimensions
blend_modeoptCOMBOnormalBlending mode for the crossfade

Outputs (3)

NameTypeDescription
imagesIMAGE
frame_countINT
blend_infoSTRING