vLLM/Recipes
Lightricks

Lightricks/LTX-2.5-Diffusers

19B diffusion transformer for joint video and synchronized audio generation, served via vLLM-Omni

Guide

Overview

LTX-2.5-Diffusers is a dense 19B diffusion transformer for video with synchronized 48 kHz stereo audio. vLLM-Omni supports T2V and first-frame I2V through four pipeline classes:

PipelineModeDefault sizeSchedule
LTX2PipelineFull/SFT one-stage960x54430 steps
LTX2TwoStagePipelineFull/SFT two-stage1920x108830 + 3 steps
LTX2DistilledOneStagePipelineDistilled one-stage960x5448 steps
LTX2DistilledTwoStagePipelineDistilled two-stage1920x10888 + 3 steps

Select the class with --model-class-name; no --task-type flag is needed. The supported model ID is Lightricks/LTX-2.5-Diffusers. The gated raw Lightricks/LTX-2.5 repository only supplies official two-stage sidecars and is not directly loadable with --model.

Quantization

Choose BF16 to keep the original weights, or FP8 to add online --quantization fp8 and reduce memory use. The command builder disables a quantization option when it is not available on the selected hardware. FP8 is available on the listed NVIDIA Hopper and Blackwell profiles; AMD uses BF16. B200, GB200, B300, and GB300 use cuDNN attention for both options.

Prerequisites

  • Accept both Lightricks model licenses and run hf auth login.
  • Use current vLLM-Omni main, targeting vLLM 0.27+.
  • Ensure ffmpeg and ffprobe are on PATH.
  • I2V requires PyAV with the libx264 encoder.

Installation

uv venv && source .venv/bin/activate
uv pip install git+https://github.com/vllm-project/vllm-omni.git
hf auth login

Offline inference

Choose PIPELINE, WIDTH, HEIGHT, and STEPS from the table. This example selects the distilled two-stage path:

export MODEL=Lightricks/LTX-2.5-Diffusers
export PIPELINE=LTX2DistilledTwoStagePipeline
export WIDTH=1920 HEIGHT=1088 STEPS=8

python examples/offline_inference/text_to_video/text_to_video.py \
  --model "${MODEL}" --model-class-name "${PIPELINE}" \
  --prompt "A cinematic red fox walking through a snowy forest at dawn." \
  --width "${WIDTH}" --height "${HEIGHT}" --num-frames 121 \
  --num-inference-steps "${STEPS}" --frame-rate 24 --fps 24 --seed 42 \
  --output ltx25-t2v.mp4

For first-frame I2V, use the generic image-to-video example with the same pipeline values and one image:

python examples/offline_inference/image_to_video/image_to_video.py \
  --model "${MODEL}" --model-class-name "${PIPELINE}" \
  --image /absolute/path/to/first-frame.png \
  --prompt "The red fox walks forward while the camera tracks alongside." \
  --width "${WIDTH}" --height "${HEIGHT}" --num-frames 121 \
  --num-inference-steps "${STEPS}" --frame-rate 24 --fps 24 --seed 42 \
  --output ltx25-i2v.mp4

Online serving

vllm serve "${MODEL}" \
  --omni \
  --model-class-name "${PIPELINE}"

Use the task presets on this page for complete T2V and I2V requests. Restart the server after changing PIPELINE.

Constraints

  • Online width, height, num_frames, fps, and num_inference_steps are optional and use the selected pipeline defaults when omitted. seed is optional and random when omitted.
  • num_frames must be 8k+1 when overridden.
  • One-stage dimensions must be divisible by 32; two-stage final dimensions must be divisible by 64.
  • Distilled pipelines are positive-only and reject negative prompts.
  • I2V accepts exactly one initial RGB image per prompt and uses the official CRF-18 conditioning path by default.

References