Model reference · open weights

LTX-2

Video Lightricks Image→video 2 builds Its own licence terms 380k dl/mo

LTX-2 is an open-weight video model from Lightricks. LTX-2 (BF16) weighs 145 GB; the smallest configuration that runs it is DGX Spark (GB10) 128 GB unified.

  • LTX-2 is a DiT-based audio-video foundation model developed by Lightricks that generates synchronized video and audio within a single model.
  • It supports image-to-video tasks and is available in an 18.9B parameter version with open weights.
  • The model supports English, German, Spanish, French, Japanese, Korean, Chinese, Italian, and Portuguese, and is released under an other license.

Summary of the Lightricks/LTX-2 model card, 2026-10-01

What it is

Released byLightricks
Released2026-01-03
Parameters18.9B
VRAM145 GB for the weights

What it runs on

Memory and cards for LTX-2 (BF16)

145 GBweights, file size
100 GBbiggest part
537 MBruntime overhead
CardWeightsMemory
RTX 3060 12 GB … RTX PRO 6000 Blackwell 96 GBdoes not fit
DGX Spark (GB10) 128 GB unifiedtight (encoders offloaded)107 GB
H200 141 GBfits (encoders offloaded)138 GB
B200 180 GBfits176 GB

Builds

Sizes, precisions & builds

BuildParamsPrecisionWeightsSmallest setup
LTX-2 (above) ↗ 18.9BBF16 145 GBDGX Spark (GB10) 128 GB unified
LTX-2-GGUF ↗
packaged by unsloth
18 builds: Q2_K 8.1 GB … F16 37.8 GB
—GGUF 12.8 GBRTX 4060 Ti 16 GB

From the model card

What Lightricks says about LTX-2

Read the model card

This model card focuses on the LTX-2 model, as presented in the paper LTX-2: Efficient Joint Audio-Visual Foundation Model. The codebase is available here.

LTX-2 is a DiT-based audio-video foundation model designed to generate synchronized video and audio within a single model. It brings together the core building blocks of modern video generation, with open weights and a focus on practical, local execution.

Model Checkpoints

NameNotes
ltx-2-19b-devThe full model, flexible and trainable in bf16
ltx-2-19b-dev-fp8The full model in fp8 quantization
ltx-2-19b-dev-fp4The full model in nvfp4 quantization
ltx-2-19b-distilledThe distilled version of the full model, 8 steps, CFG=1
ltx-2-19b-distilled-lora-384A LoRA version of the distilled model applicable to the full model
ltx-2-spatial-upscaler-x2-1.0An x2 spatial upscaler for the ltx-2 latents, used in multi stage (multiscale) pipelines for higher resolution
ltx-2-temporal-upscaler-x2-1.0An x2 temporal upscaler for the ltx-2 latents, used in multi stage (multiscale) pipelines for higher FPS

Model Details

  • Developed by: Lightricks
  • Model type: Diffusion-based audio-video foundation model
  • Language(s): English

Online demo

LTX-2 is accessible right away via the following links:

Run locally

Direct use license

You can use the models - full, distilled, upscalers and any derivatives of the models - for purposes under the license.

ComfyUI

We recommend you use the built-in LTXVideo nodes that can be found in the ComfyUI Manager. For manual installation information, please refer to our documentation site.

PyTorch codebase

The LTX-2 codebase is a monorepo with several packages. From model definition in 'ltx-core' to pipelines in 'ltx-pipelines' and training capabilities in 'ltx-trainer'. The codebase was tested with Python >=3.12, CUDA version >12.7, and supports PyTorch ~= 2.7.

Installation

git clone https://github.com/Lightricks/LTX-2.git
cd LTX-2

# From the repository root
uv sync
source .venv/bin/activate

Inference

To use our model, please follow the instructions in our ltx-pipelines package.

Diffusers 🧨

LTX-2 is supported in the Diffusers Python library for text & image-to-video generation. Read more on LTX-2 with diffusers here.

Use with diffusers

To achieve production quality generation, it's recommended to use the two-stage generation pipeline. Example for 2-stage inference of text-to-video:

import torch
from diffusers import FlowMatchEulerDiscreteScheduler
from diffusers.pipelines.ltx2 import LTX2Pipeline, LTX2LatentUpsamplePipeline
from diffusers.pipelines.ltx2.latent_upsampler import LTX2LatentUpsamplerModel
from diffusers.pipelines.ltx2.utils import STAGE_2_DISTILLED_SIGMA_VALUES
from diffusers.pipelines.ltx2.export_utils import encode_video

device = "cuda:0"
width = 768
height = 512

pipe = LTX2Pipeline.from_pretrained(
    "Lightricks/LTX-2", torch_dtype=torch.bfloat16
)
pipe.enable_sequential_cpu_offload(device=device)

prompt = "A beautiful sunset over the ocean"
negative_prompt = "shaky, glitchy, low quality, worst quality, deformed, distorted, disfigured, motion smear, motion artifacts, fused fingers, bad anatomy, weird hand, ugly, transition, static."

# Stage 1 default (non-distilled) inference
frame_rate = 24.0
video_latent, audio_latent = pipe(
    prompt=prompt,
    negative_prompt=negative_prompt,
    width=width,
    height=height,
    num_frames=121,
    frame_rate=frame_rate,
    num_inference_steps=40,
    sigmas=None,
    guidance_scale=4.0,
    output_type="latent",
    return_dict=False,
)

latent_upsampler = LTX2LatentUpsamplerModel.from_pretrained(
    "Lightricks/LTX-2",
    subfolder="latent_upsampler",
    torch_dtype=torch.bfloat16,
)
upsample_pipe = LTX2LatentUpsamplePipeline(vae=pipe.vae, latent_upsampler=latent_upsampler)
upsample_pipe.enable_model_cpu_offload(device=device)
upscaled_video_latent = upsample_pipe(
    latents=video_latent,
    output_type="latent",
    return_dict=False,
)[0]

# Load Stage 2 distilled LoRA
pipe.load_lora_weights(
    "Lightricks/LTX-2", adapter_name="stage_2_distilled", weight_name="ltx-2-19b-distilled-lora-384.safetensors"
)
pipe.set_adapters("stage_2_distilled", 1.0)
# VAE tiling is usually necessary to avoid OOM error when VAE decoding
pipe.vae.enable_tiling()
# Change scheduler to use Stage 2 distilled sigmas as is
new_scheduler = FlowMatchEulerDiscreteScheduler.from_config(
    pipe.scheduler.config, use_dynamic_shifting=False, shift_terminal=None
)
pipe.scheduler = new_scheduler
# Stage 2 inference with distilled LoRA and sigmas
video, audio = pipe(
    la

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

Running it yourself

Run it on a rented GPU

Rent a machine by the hour. ComfyUI is installed on it. Open ComfyUI through the tunnel, then Templates → LTX-2 Text to Video: it loads ComfyUI's own build of this model, the files above.

# on your rented machine: pip install diffusers transformers accelerate ftfy
import torch
from diffusers import DiffusionPipeline
from diffusers.utils import export_to_video

pipe = DiffusionPipeline.from_pretrained("Lightricks/LTX-2", torch_dtype=torch.bfloat16).to("cuda")
frames = pipe(prompt="a drone shot over a forest at sunrise").frames[0]
export_to_video(frames, "/workspace/out.mp4", fps=16)
Renting a GPU: connect, tunnels, Python
# on your rented machine (the ssh line is on its page in the console)
# get REPO FILE FOLDER: one file into /workspace/models/FOLDER, where ComfyUI loads it from
get() { hf download "$1" "$2" --local-dir /workspace/hf-files && mkdir -p "/workspace/models/$3" && mv "/workspace/hf-files/$2" "/workspace/models/$3/$4"; }

# the files of the template “LTX-2 Text to Video” (42.4 GB)
get Lightricks/LTX-2 ltx-2-19b-dev-fp8.safetensors checkpoints
get Comfy-Org/ltx-2 split_files/text_encoders/gemma_3_12B_it_fp4_mixed.safetensors text_encoders
get Lightricks/LTX-2 ltx-2-spatial-upscaler-x2-1.0.safetensors latent_upscale_models
get Lightricks/LTX-2 ltx-2-19b-distilled-lora-384.safetensors loras
get Lightricks/LTX-2-19b-LoRA-Camera-Control-Dolly-Left ltx-2-19b-lora-camera-control-dolly-left.safetensors loras

start-comfyui
Renting a GPU: connect, tunnels, ComfyUI
# on your computer, in a second terminal: ComfyUI in your browser at http://localhost:8188
# HOST and PORT are your machine's, from its page in the console
ssh -L 8188:localhost:8188 dev@HOST -p PORT
© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms