LTX-2 Extend Sampler (temporal overlap) ??
The sampler that actually extends your LTX-2 video
- model
- vae
- noise
- sampler
- sigmas
- guider
- latents
- extended_latents
Every LTX-2 long-video workflow eventually hits the wall: the model generates a fixed-length chunk, and "more video" means stitching chunks together. The naive way is a hard cut at the seam, and the seam shows. LTX2 Extend Sampler is the node that does it properly - it takes your existing latent video, samples a new chunk that starts inside the old footage, and blends the two so the join is invisible. This is the sampling core the pack's image-level ExtensionModule feeds into.
Note the category: it's IAMCCS/LTX-2/sampling, not the usual IAMCCS/LTX-2 - a small detail that trips up people hunting for it in the node list.
How it works
The trick is overlap conditioning, and it's all done in latent space. Given your existing latents, the node takes the last temporal_overlap frames, builds a new chunk that begins with those frames, and sets a noise_mask on them so the sampler only partially re-noises them - in effect "this footage exists, continue from it." Then it:
- Converts your pixel-frame overlap to latent frames using the VAE's temporal compression scale.
- Runs
SamplerCustomAdvancedon the chunk with the noise, sampler, sigmas, and guider you wired in. - Crossfades the overlap region between old and new so there's no hard edge.
- Concatenates:
old footage minus the overlap + blended seam + fresh frames.
The temporal_overlap_cond_strength (default 0.6) controls how hard the overlap is locked: higher = the new chunk hews tightly to the old footage, lower = it's free to drift into something new. adain_factor (optional, default 0) applies an AdaIN-style style/statistics match on the new frames against the overlap - mostly useful when the model starts drifting in color or contrast between chunks, which is a known LTX behavior on long extensions.
The inputs and outputs that matter
The inputs split into two groups. The plumbing you'd normally feed a sampler: model, vae, noise, sampler, sigmas, guider, latents - all of which come from your normal scheduler/guider/noise/KSamplerSelect nodes. Then the extension controls:
num_new_frames- how many new pixel frames to generate (default 80).temporal_overlap- the overlap window in pixel frames (default 24, min 8, steps of 8). It gets converted to latent frames internally, so think in pixels.temporal_overlap_cond_strength- lock strength (default 0.6).adain_factor- optional color/statistics matching (default 0).
Single output: extended_latents (LATENT), which becomes the latents input on the next iteration - this node is designed to loop.
Installing it
Part of IAMCCS-nodes. Manager → search "IAMCCS" → install, or:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
Restart ComfyUI. It depends on ComfyUI's own SamplerCustomAdvanced (in comfy_extras), which ships with any recent ComfyUI - if you hit "SamplerCustomAdvanced not available," update ComfyUI itself, not this pack.
Common issues
Because the overlap lock works via noise_mask, your downstream LTX nodes need to respect it - if you pass extended_latents through something that strips the noise_mask, the overlap conditioning silently vanishes and your seams come back. Also remember the 8n+1 rule still applies: num_new_frames and the overlap interact with total frame count, so keep the resulting chunk legal or run it through the pack's frame-fix nodes before encoding. And if you see the seam drift in color, that's what adain_factor exists for - start around 0.3 rather than jumping straight to 1.0, which can flatten the look.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| vae | VAE | — | |
| noise | NOISE | — | |
| sampler | SAMPLER | — | |
| sigmas | SIGMAS | — | |
| guider | GUIDER | — | |
| latents | LATENT | — | |
| num_new_frames | INT | 801–10000 | — |
| temporal_overlap | INT | 248–2000 | — |
| temporal_overlap_cond_strength | FLOAT | 0.600–1 | — |
| adain_factoropt | FLOAT | 0.000–1 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| extended_latents | LATENT | — |