Nodes/ComfyUI-GGUF-Loader/LTX-2.5 Img to Video ⚡
ComfyUI Node

LTX-2.5 Img to Video ⚡

One frame in, five seconds of moving (and talking) video out — LTX-2.5 i2v

By ChrisColeTech·Created 20 days ago·Updated about 14 hours ago· 7
LTX-2.5 Img to Video ⚡
  • model
  • clip
  • vae
  • audio_vae
  • images
  • model
  • positive
  • negative
  • latent
  • frame_rate
modei2v
prompt
negative_prompt
width1280
height720
length121
frame_rate24.00
batch_size1
image_strength0.70
img_compression18

This is the node that turns one still image into an LTX-2.5 video: prompts, the half-resolution stage-1 latent, and the noise masks all in one place. It's the prep step for the whole text-to-video/image-to-video chain, and it's also the reason you don't have to hand-build the official recipe's a/2 resolution math yourself. Give it a model, a clip, the two VAEs, a prompt, and (for i2v) a first frame - it hands back a ready-to-sample latent plus conditioning.

The workflow it implements is the two-stage LTX-2.5 recipe. Stage 1 samples at half the resolution you actually want - width/height here are the final output size, and the node builds the stage-1 latent at half of it. The latent upscaler doubles it back between the distilled and refine passes. So the chain is: this node → KSampler (distilled)Latent Upscale x2KSampler (refine)AV Decode. Get used to it; every LTX-2.5 graph you see will be some variation of that.

The inputs that matter

Required: model, clip, vae (video VAE), audio_vae, mode, prompt, plus the geometry. The ones a beginner actually touches:

  • mode - i2v (default) needs images connected; t2v requires images disconnected. The node validates this and errors if you get it backwards.
  • prompt - a caption, not an instruction. LTX punishes short prompts; describe the scene and the motion in a sentence or three.
  • width / height - the FINAL resolution. 1280×720 is the sensible default; stage 1 runs at half and the upscaler restores it.
  • length - frames, on the 8k+1 tile grid (9, 97, 121…). 121 at 24 fps is the 5-second default.
  • images - the first frame. The node resizes and center-crops it to the stage-1 grid itself - the tooltip's advice is explicit: do not scale it upstream. You also wire the same image into LTXV25LatentUpscale for the refine-pass re-hold.
  • image_strength - i2v only. How hard the first frame is held in stage 1; 0.7 is the official value. The refine pass re-holds at 1.0 (locked).
  • img_compression - the H.264 CRF round-trip on the input image (official 18, 0 = off). It matches the compression statistics the model was trained on so the first frame doesn't pop.

Outputs: model, positive, negative, latent, and frame_rate - wire that last one into AV Decode's fps rather than typing a number, and you'll never drift audio out of sync.

Installing it

This node ships in the ComfyUI-GGUF-Loader pack (ChrisColeTech's fork of city96's ComfyUI-GGUF). ComfyUI Manager: search "ComfyUI-GGUF-Loader". Or by hand:

cd ComfyUI/custom_nodes
git clone https://github.com/ChrisColeTech/ComfyUI-GGUF-Loader
pip install --upgrade gguf

Restart. Nothing extra to download beyond the LTX-2.5 kit itself.

Common issues

The mode guard is the main failure mode: i2v with no images, or t2v with images connected, and it refuses to run - that's the node protecting you. Second classic: pre-scaling the first frame upstream, then getting surprised when it's center-cropped anyway. Let the node do its job. And if your video looks static, the fix is almost always a longer, more specific prompt, not more steps - LTX-2.5's distilled bake is trained for exactly 8 steps.

Category🤖 CCTech/LTX-2.5

Inputs (15)

NameTypeDefaultDescription
modelMODEL
clipCLIP
modeCOMBOi2vWhich base behavior this call is. i2v: images required (first-frame hold). t2v: images must be disconnected.
vaeVAEThe loader's vae (video VAE) output.
audio_vaeVAEThe loader's audio_vae output.
promptSTRINGDescribe the scene and its motion. A caption, not an instruction.
negative_promptSTRING
widthINT128064–16384FINAL output width. Stage 1 samples at half this (the official recipe) and the latent upscaler doubles it back.
heightINT72064–16384FINAL output height - stage 1 runs at half, like width.
lengthINT1219–16384Frames; 8k+1 tiles exactly (9, 97, 121...). 121 @ 24 fps = the workflow's 5 s default.
frame_rateFLOAT24.001–12024 is the LTX-2 convention. The frame_rate output carries it to LTXV25AVDecode.
batch_sizeINT11–4096
imagesoptIMAGEFirst frame. Resized and CENTER-CROPPED to the stage-1 grid here - do not scale it upstream. Wire the SAME image into LTXV25LatentUpscale for the refine re-hold.
image_strengthoptFLOAT0.700–1i2v only. How hard the first frame is held in stage 1. 0.7 is the official stage-1 value; the refine re-hold in LTXV25LatentUpscale uses 1.0 (locked).
img_compressionoptINT180–100Core LTXVPreprocess's H.264 crf round-trip on the input image (official value 18; 0 = off). Matches the compression statistics the model was trained on so the first frame doesn't pop.

Outputs (5)

NameTypeDescription
modelMODEL
positiveCONDITIONING
negativeCONDITIONING
latentLATENT
frame_rateFLOAT