Nodes/ComfyUI-LTXVideo/πŸ…›πŸ…£πŸ…§ LTXV Linear Overlap Latent Transition
ComfyUI Node Runs on cloud

πŸ…›πŸ…£πŸ…§ LTXV Linear Overlap Latent Transition

Crossfade two video latents for smooth long clips

By LightricksΒ·Created 2 years agoΒ·Updated about a month agoΒ· 3,956
πŸ…›πŸ…£πŸ…§ LTXV Linear Overlap Latent Transition
  • samples1
  • samples2
  • LATENT
β—„overlap1β–Ί
β—„axis0β–Ί

LTX is fast, and its clips are short. That combination pushes basically everyone toward the same workflow eventually: generate several segments and stitch them into something longer. The naive way - just concatenate the latents end to end - gives you a visible jump at every seam. LTXVLinearOverlapLatentTransition is the node that hides those seams by crossfading the overlap between two latent clips instead of hard-cutting.

It works entirely in latent space, before you ever decode to pixels, which is the right place to do it. Blending latents means the model's compression handles the transition coherently rather than you smearing decoded frames together in post. For anyone building longer LTX videos out of chained generations, this is a bread-and-butter node.

How it works

You feed it two latent sequences. It takes the tail of the first and the head of the second and linearly interpolates across an overlap window - the first clip fades out while the second fades in over those frames - then joins them into one continuous latent. Ramp from 100% clip A to 100% clip B across the overlap region and the cut disappears into a short dissolve. Because it's linear, the math is dead simple and predictable: no easing curve surprises, just a straight blend.

The inputs and outputs that matter

  • samples1 and samples2 (LATENT) - the two clips, in order. samples1 is the outgoing segment, samples2 the incoming one.
  • overlap (INT, default 1, range 1–256) - how many frames the crossfade spans. This is the knob. A tiny overlap is nearly a hard cut; a larger one gives a longer, softer dissolve but eats frames from both clips. For a subtle "you can't tell where the join is" effect, a handful of frames is usually plenty - remember these are compressed latent frames, not raw video frames, so a little goes a long way.
  • axis (INT, optional, default 0) - which dimension to blend along. 0 is the frames/time axis, which is what you want for a temporal transition. Leave it unless you have a specific reason.

Output is a single merged LATENT you send on to your VAE decode (or another transition node to chain a third clip).

How to install it

The README points you at ComfyUI Manager: Ctrl+M, Install Custom Nodes, search LTXVideo, install, restart. Manual route:

cd ComfyUI/custom_nodes
git clone https://github.com/Lightricks/ComfyUI-LTXVideo

then restart ComfyUI; the node appears under LTXVideo β†’ latent. The node itself is lightweight, but it lives in an LTX-2 pipeline, and that model wants 32GB+ VRAM and 100GB+ disk. Models pull on first use.

Common issues & troubleshooting

Dimension mismatch. The two latents need to match on every axis except the one you're blending along. If clip A and clip B were generated at different resolutions or channel counts, the join fails - regenerate them at the same settings.

The transition looks like a ghosty double-exposure. That's an overlap that's too long for how different the two clips are. A linear crossfade blends content, so if the two segments show very different scenes you'll see both at once mid-dissolve. Shorten overlap, or make the clips share more visual continuity at the boundary (a common trick is generating the second clip to start near where the first ended).

Still a hard jump. Overlap of 1 barely blends anything. Bump it up. And confirm you're on axis 0 - blending along the wrong axis won't smooth the timeline.

Worth knowing: this pack also ships a LinearOverlapLatentTransition node with the same inputs and behavior, minus the LTXV prefix. If you see both in your menu, they do the same job.

CategoryLightricks/latent

Inputs (4)

NameTypeDefaultDescription
samples1LATENTβ€”
samples2LATENTβ€”
overlapINT11–256β€”
axisoptINT0β€”

Outputs (1)

NameTypeDescription
LATENTLATENTβ€”