Nodes/LTXDirector-Extender/Aligned Overlap Cut Transition
ComfyUI Node

Aligned Overlap Cut Transition

The node that kills the hard cut when you chain LTX clips together

By Yogurt1192·Created 3 months ago·Updated 3 months ago· 6
Aligned Overlap Cut Transition
  • source_images
  • new_images
  • images
  • seam_index
  • anchor_frame
  • anchor_frames_tail
overlap12
edge_margin1
blend_frames0
seam_shift0

If you've ever stitched two AI-generated clips together and watched the video visibly jump at the join, you know exactly why this node exists. The LTX Director extender flow generates clip one, then samples a new section that overlaps the previous clip's tail so the continuation has context to hold onto. But overlap alone doesn't give you a clean splice - concatenate the two batches and you get a hard one-frame cut where the model's two passes disagree. AlignedOverlapCutTransition is the tested-default fix for that seam, and the v1.6 workflow in this pack is built around it.

How it works. You feed it source_images (the previous clip, tail end) and new_images (the freshly generated continuation), which should share a spatial resolution. The node scores every candidate cut inside the overlap window using mean squared error between the source and new frames around the boundary, picks the lowest-error seam, and merges the two batches there. Three knobs tune the splice:

  • edge_margin (default 1) keeps the scorer away from the very edges of the overlap window, where the data is least trustworthy.
  • seam_shift (default 0) moves the chosen cut earlier or later inside the overlap - negative takes the new continuation over sooner, positive preserves more of the previous clip before the handoff. 0 lets the scorer decide automatically.
  • blend_frames (default 0) crossfades across the seam on both sides. The README's shorthand: seam_shift = 0 to auto-pick, then raise blend_frames for a softer handoff. Start at a few frames; too much blending gets mushy.

The node also infers a usable overlap window from the actual frame batches when the workflow resolves the overlap control wrong - that's the fix for the old virtual SetNode/GetNode bridge that used to collapse the whole thing to a one-frame cut. And it forces recomputation via IS_CHANGED so prompt/subgraph caching can't hide your tuning changes while you iterate.

Outputs. images is the merged clip, ready to feed the next pass. seam_index is the frame where the cut landed - wire it into the audio transition node so sound and picture break at the same instant. anchor_frame is the single frame at the seam, and anchor_frames_tail is the tail of the merged clip around it; both are reference frames for conditioning the next extension.

Install is the pack default:

cd ComfyUI/custom_nodes
git clone https://github.com/Yogurt1192/LTXDirector-Extender.git

Restart ComfyUI. It's pure tensor work - no models, no extra pip packages.

Where people get burned. If source_images and new_images have different spatial shapes, the node raises a ValueError - check your resize/VAE settings before blaming the splice. And remember the transition can't rescue a fundamentally wrong overlap: if you're seeing the hard cut anyway, the usual cause is the extender duration not matching the sampler subgraph duration, which this pack makes you set by hand in both places.

CategoryLTXDirector/transition

Inputs (6)

NameTypeDefaultDescription
source_imagesIMAGE
new_imagesIMAGE
overlapINT121–4096
edge_marginINT10–256
blend_framesINT00–64
seam_shiftINT0-64–64

Outputs (4)

NameTypeDescription
imagesIMAGE
seam_indexINT
anchor_frameIMAGE
anchor_frames_tailIMAGE