LTX-2 Looping Sampler (temporal overlap) ??
Sample long video in temporal tiles without the seams
- model
- vae
- noise
- sampler
- sigmas
- guider
- latents
- denoised_output
Long LTX-2 clips run out of VRAM long before you run out of story. The standard escape hatch is to sample the video in temporal tiles - chunks of frames - instead of all at once, but naive chunking leaves visible jumps where one chunk ends and the next begins. This node does temporal tiling the right way: each tile's start is conditioned on the previous tile's tail latents, and the overlap region is blended, so the boundaries disappear instead of announcing themselves.
The pack's framing, from the source docstring: "reduce motion discontinuities at segment boundaries." That's the whole reason it exists. It's a clean-room implementation - no code borrowed from other custom nodes - and it runs entirely on ComfyUI's own SamplerCustomAdvanced, so unlike the pack's fancier looper, this one doesn't require ComfyUI-LTXVideo to be loaded.
How it works
You feed it the usual advanced-sampling inputs (model, vae, noise, sampler, sigmas, guider, latents) plus two tuning values in pixel frames:
temporal_tile_size(default 80) - the target chunk length.temporal_overlap(default 24) - how many frames each tile shares with the previous one.
Internally it converts those to latent frames using the VAE's temporal downscale factor (8 for LTX-2), then walks the latent in tiles. The first tile denoises normally; each subsequent tile gets the previous tile's tail copied into its leading overlap frames, with a noise mask of 1.0 - temporal_overlap_cond_strength (default 0.6) so the sampler is strongly pulled toward the prior state. Finally the overlap is blended and only the fresh frames are appended.
The optional adain_factor (0–1, default 0) applies per-tile statistic alignment - it normalizes the new frames' mean/variance against the overlap reference. If you're seeing slight brightness or color stepping between tiles, nudge it up; 0 means off.
Inputs and outputs
- Model/sampler plumbing:
model,vae,noise,sampler,sigmas,guider,latents. temporal_tile_size,temporal_overlap,temporal_overlap_cond_strength, optionaladain_factor.
Output: denoised_output (LATENT) - the full tiled result, ready for VAE decode.
Install
ComfyUI Manager → "IAMCCS", or:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
Restart. Requires a current-enough ComfyUI for SamplerCustomAdvanced (it's in comfy_extras); if you hit "SamplerCustomAdvanced not available", update ComfyUI first.
Gotchas
temporal_tile_size is a ceiling, not an exact request - the code clamps and steps so the tiles tile cleanly, and overlap gets capped to fit inside a tile. Start at the defaults (80/24) and adjust only if you're tuning VRAM or seeing seams. The most common complaint is residual seams at the tile boundary; that's the temporal_overlap_cond_strength (raise it, cost: less fresh variation) or adain_factor (raise for color drift). And remember the overlap/strength values are pixel frames - think in video seconds, not latent slices. If you're also chaining segments across the queue, the latent bridge nodes handle the between-segment continuity; this node handles within-tile continuity.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| vae | VAE | — | |
| noise | NOISE | — | |
| sampler | SAMPLER | — | |
| sigmas | SIGMAS | — | |
| guider | GUIDER | — | |
| latents | LATENT | — | |
| temporal_tile_size | INT | 8024–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 |
|---|---|---|
| denoised_output | LATENT | — |