Nodes/ComfyUI-LTXVideo/πŸ…›πŸ…£πŸ…§ LTXV Looping Sampler
ComfyUI Node Runs on cloud

πŸ…›πŸ…£πŸ…§ LTXV Looping Sampler

Long and looping LTX clips

By LightricksΒ·Created 2 years agoΒ·Updated about a month agoΒ· 3,956
πŸ…›πŸ…£πŸ…§ LTXV Looping Sampler
  • model
  • vae
  • noise
  • sampler
  • sigmas
  • guider
  • latents
  • optional_cond_images
  • optional_guiding_latents
  • optional_positive_conditionings
  • optional_negative_index_latents
  • optional_normalizing_latents
  • denoised_output
β—„temporal_tile_size80β–Ί
β—„temporal_overlap24β–Ί
β—„guiding_strength1.00β–Ί
β—„temporal_overlap_cond_strength0.50β–Ί
β—„cond_image_strength1.00β–Ί
β—„horizontal_tiles1β–Ί
β—„vertical_tiles1β–Ί
β—„spatial_overlap1β–Ί
β—„adain_factor0.00β–Ί
β—„guiding_start_step0β–Ί
β—„guiding_end_step1000β–Ί
β—„optional_cond_image_indices0β–Ί

LTXV Looping Sampler is the node you use when you want a video longer than the model comfortably makes in one pass - or one that loops back on itself. It samples the clip in overlapping temporal chunks and stitches them together, carrying context across the seams so the motion stays continuous instead of jump-cutting every few seconds. If LTXV Tiled Sampler is "bigger frames," this is "more frames."

It ships in ComfyUI-LTXVideo, Lightricks' official pack. The demand for it is real: the LTX community's flagship use case became music videos and lipsync, where people generate 10–12 second clips and chain them, and the practical trick of adding overlap so the model has time to establish motion is exactly what temporal tiling formalizes.

How it works

The sampler breaks the timeline into windows of temporal_tile_size latent frames with a temporal_overlap between them. Each window is denoised, and the overlap region is shared with its neighbor so the hand-off is smooth. Because the windows overlap, you can feed the tail back to the head to close a loop, or run enough windows to reach a much longer total length than a single sampler pass would allow. It also inherits spatial tiling (horizontal_tiles / vertical_tiles / spatial_overlap), so you can go long and high-res in the same node if your patience holds.

The inputs that matter

The core sampling sockets are the usual LTX set - model, vae, noise, sampler, sigmas, guider, and the input latents. The controls that define the behavior:

  • temporal_tile_size - frames per window (default 80). Bigger windows keep motion coherent but use more VRAM.
  • temporal_overlap - shared frames between windows (default 24). This is the continuity dial; too little and you get visible seams in the motion.
  • temporal_overlap_cond_strength (default 0.5) - how strongly the overlap enforces agreement between windows.
  • guiding_strength, guiding_start_step / guiding_end_step, and optional_guiding_latents - let you steer the whole sequence toward a reference over a chosen slice of the denoise.

You can also pass optional_cond_images with optional_cond_image_indices to pin keyframes at specific points, and adain_factor to normalize color/statistics across windows so the clip doesn't drift in tone. The single output is denoised_output (a LATENT) for your VAE Decode.

Installing it

Via ComfyUI Manager: search LTXVideo under Install Custom Nodes, install, restart. Manually: cd ComfyUI/custom_nodes && git clone https://github.com/Lightricks/ComfyUI-LTXVideo, restart. It appears under sampling. The LTX checkpoint and, on LTX-2, the Gemma text encoder are the large downloads (first-use), so keep the 100GB+ disk headroom the pack asks for.

Where people get burned

  • Overlap too small. The seam between windows is where continuity breaks - a hard cut or a lurch in motion. If your long clip stutters at regular intervals, raise temporal_overlap before anything else.
  • Color/brightness drift across windows. Long generations tend to wander in tone. That's what adain_factor is for - nudge it up if later sections look washed out compared to the start.
  • Expecting a seamless loop for free. Closing a loop cleanly still takes attention to the overlap and the conditioning at the wrap point; it's not a one-click toggle.
  • VRAM and time blow-ups. Long temporal tiles plus spatial tiles multiply the work. If you're OOM or the run crawls, shrink temporal_tile_size first - and remember system RAM (64GB is the comfortable floor for low-VRAM LTX-2 setups) is often the real bottleneck.
  • Fast motion smudging. LTX still softens fast motion; the production habit is an occasional Wan video-to-video pass to clean it up rather than fighting it in the sampler.
Categorysampling

Inputs (24)

NameTypeDefaultDescription
modelMODELThe diffusion model to use.
vaeVAEThe VAE to use.
noiseNOISEThe noise to use.
samplerSAMPLERThe sampler to use.
sigmasSIGMASThe sigmas to use.
guiderGUIDERThe guider to use, must be a STGGuiderAdvanced.
latentsLATENTThe latents to use for creating the long video, they can be guiding latents or empty latents when no guidance is used.
temporal_tile_sizeINT8024–1000The size of the temporal tile to use for the sampling, in pixel frames, in addition to the overlapping region.
temporal_overlapINT2416–80The overlap between the temporal tiles, in pixel frames.
guiding_strengthFLOAT1.000–1The strength of the conditioning on guiding latents, when optional_guiding_latents are provided.
temporal_overlap_cond_strengthFLOAT0.500–1The strength of the conditioning on the latents from the previous temporal tile.
cond_image_strengthFLOAT1.000–1The strength of the conditioning on the optional_cond_images.
horizontal_tilesINT11–6Number of horizontal spatial tiles.
vertical_tilesINT11–6Number of vertical spatial tiles.
spatial_overlapINT11–8Overlap between spatial tiles.
optional_cond_imagesoptIMAGEThe image to use for conditioning the first frame in the video (i2v setup). If not provided, the first frame will be unconditioned (t2v setup). The image will be resized to the size of the first frame.
optional_guiding_latentsoptLATENTThe latents to use for guiding the sampling, typically with an IC-LoRA.
adain_factoroptFLOAT0.000–1The strength of the AdaIn operation used to fix the statistics of each new generated temporal tile, to prevent accumulated oversaturation.
optional_positive_conditioningsoptCONDITIONINGOptional way to provide changing positive prompts, one per temporal tile, using the MultiPromptProvider node.
optional_negative_index_latentsoptLATENTSpecial optional latents to condition on a negative index before each new temporal tile as a way to provide long term context during video generation.
guiding_start_stepoptINT00–1000The step at which the guiding latents start to be used.
guiding_end_stepoptINT10000–1000The step at which the guiding latents stop to be used.
optional_cond_image_indicesoptSTRING0The indices of the keyframes to use for the sampling, separated by commas. The indices are counted from the end of the video.
optional_normalizing_latentsoptLATENTThe latents to use for normalizing the output latents, they will be used to normalize the output latents to the same statistics as the input latents.

Outputs (1)

NameTypeDescription
denoised_outputLATENTβ€”