Nodes/IAMCCS-nodes/LTX-2 Looping Sampler (temporal overlap) ??
ComfyUI Node

LTX-2 Looping Sampler (temporal overlap) ??

Sample long video in temporal tiles without the seams

By IAMCCS·Created 11 months ago·Updated 7 days ago· 113
LTX-2 Looping Sampler (temporal overlap) ??
  • model
  • vae
  • noise
  • sampler
  • sigmas
  • guider
  • latents
  • denoised_output
temporal_tile_size80
temporal_overlap24
temporal_overlap_cond_strength0.60
adain_factor0.00

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, optional adain_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.

CategoryIAMCCS/LTX-2/sampling

Inputs (11)

NameTypeDefaultDescription
modelMODEL
vaeVAE
noiseNOISE
samplerSAMPLER
sigmasSIGMAS
guiderGUIDER
latentsLATENT
temporal_tile_sizeINT8024–10000
temporal_overlapINT248–2000
temporal_overlap_cond_strengthFLOAT0.600–1
adain_factoroptFLOAT0.000–1

Outputs (1)

NameTypeDescription
denoised_outputLATENT