What is LTX 2.5?

LTX 2.5 is a new version of Lightricks' video generation model, following LTX-2 and LTX 2.3.

The basic architecture is the same as LTX 2.3, but it does more than simply produce cleaner output. It also comes with several major improvements.

  • Multi-shot
    • Generate multiple shots in a single run
  • Gemma 4 Text Encoder
    • The Text Encoder has changed from Gemma 3 to Gemma 4
  • Diffusion Decoder
    • Instead of VAE Decode, it uses a diffusion model to reconstruct video from the latent
    • The basic idea is similar to PiD

There are several other improvements, but this is enough to know for now if you are using it in ComfyUI.


Recommended Settings

  • Resolution
    • Must be a multiple of 32
  • FPS
    • It is not restricted to a fixed set of values
    • The default is 24 FPS
  • Frames
    • Must be 8n + 1
  • Maximum video length
    • 481 frames
    • About 20 seconds at 24 FPS

Model Download

📂ComfyUI/
└── 📂models/
    ├── 📂diffusion_models/
    │   └── ltx-2.5-22b-distilled-transformer-comfy-int8-convrot.safetensors
    ├── 📂latent_upscale_models/
    │   └── ltx-2.5-latent-spatial-upscaler-x2-bf16-1.0.safetensors
    ├── 📂text_encoders/
    │   └── gemma4-12b-with-proj-ltx-2.5-comfy-int8-convrot.safetensors
    └── 📂vae/
        ├── ltx-2.5-video-vae-bf16.safetensors
        └── ltx-2.5-audio-vae-bf16.safetensors

text2video

ltx_2_5_text2video.json

Like LTX-2, this is a 2-stage workflow. It first generates at half the target resolution, then upscales the result by 2x.

Resolution settings

Enter half the target resolution in EmptyLTXVLatentVideo, since the result will be upscaled by 2x afterward.

This value must also be a multiple of 32, so set the target width and height to multiples of 64.

Frame count settings

In this workflow, enter the desired duration in seconds (sec) and the FPS, and the frame count is rounded to a suitable 8n + 1 value.

Output example

Multi-shot

This has become more common with models such as Seedance 2: you can generate multiple shots in a single run.

ltx_2_5_text2video_multishot.json

There is no special format. You can simply write something natural such as “a cut happens here...” and the model will recognize it.

This makes prompts easy to write, but the model may not always recognize them as Multi-shot. If it does not work, be patient and try a few times.

Output example

Duration Predictor

Video length is normally set manually, but deciding how many seconds best fit a prompt can be surprisingly difficult.

LTX 2.5 can automatically estimate how long a video needs to be to express the content of the prompt.

Model download

📂ComfyUI/
└── 📂models/
    └── 📂model_patches/
        └── ltx-2.5-duration-head-bf16.safetensors
ltx_2_5_text2video_duration_predictor.json

LTXV Duration Predictor

It outputs the predicted frame count, which is connected to length in the regular text2video workflow.

It is only a prediction, so the result may be shorter or longer than expected. Even so, automatically predicting the video length is an interesting feature.

image2video

ltx_2_5_image2video.json

This works the same way as image2video in LTX 2. LTXVImgToVideoInplace inserts the input image as the first frame.

For various reasons, earlier workflows deliberately degraded the input image with LTXV Preprocess. With LTX 2.5, at least in my experience, it no longer seems necessary, so I have left it out.

Output example

Input
Input
Output

Generative Interpolation / FLF2V

This workflow takes any number of images and smoothly fills in the gaps between them.

If you specify only the first and last images of the video, it becomes what is commonly called FLF2V.

ltx_2_5_generative_interpolation.json

LTXV Add Guide

Use frame_idx to specify where each image is inserted.

  • 0: First frame
  • -1: Last frame

Add more nodes and connect them in sequence to create Generative Interpolation.

Depending on the images, the result may look more like a transition than frame interpolation.
For an intermediate LTXVAddGuide, it may help to lower strength to around 0.3–0.4.

Output example

Input 1
Input 1
Input 2
Input 2
Input 3
Input 3
Output

IC-LoRA

IC-LoRA plays a role similar to ControlNet or a video-editing LoRA for LTX.

LTX 2.5 is compatible with many IC-LoRAs made for LTX 2.3, and they can be used without modification.

There are many types available when you include those made for LTX 2.3, but here we will use the most basic one, Union Control.

Model download

📂ComfyUI/
└── 📂models/
    └── 📂loras/
        └── ltx-2.3-22b-ic-lora-union-control-ref0.5.safetensors

IC-LoRA Union

Like a regular ControlNet, it can control the generated video with line art, depth maps, or pose videos.

ltx_2_5_ic_lora_pose.json

For a more detailed explanation of IC-LoRA, see LTX 2 / IC-LoRA (Pose).

Output example

Input / pose
Output

Use it as an upscaler

LTX 2.5 uses a 2-stage process: it generates at half resolution, then doubles the resolution and cleans the result up once more.

So it is only natural to use the second stage on its own and turn it into a 2x upscaler for any video.

ltx_2_5_x2_upscaler.json

It simply runs VAE Encode on any video and connects it to the second stage of the workflow used above.

However, the ManualSigmas values used above make the effective denoise too strong, changing too much of the original video.

Here, I replaced it with Basic Scheduler and set denoise to 0.3. Adjust it as needed.

Output example

Input
Output

Many competing models are now available, but its ability to produce natural-looking video still stands out among them. It would be nice to use each model where it works best.