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-GGUF (GGUF) weighs 12.8 GB; the smallest configuration that runs it is RTX 4060 Ti 16 GB.

  • 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. The estimate below is for another build of the family.

What it is

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

What it runs on

Memory and cards for LTX-2-GGUF (GGUF)

12.8 GBweights, file size
537 MBruntime overhead
CardWeightsMemory
RTX 3060 12 GBdoes not fit11.6 GB
RTX 4060 Ti 16 GBtight15.4 GB
RTX 3090 24 GBfits23.4 GB
RTX 4090 24 GBfits23.4 GB
RTX 5090 32 GBfits31.0 GB
L40S 48 GBfits44.0 GB
A100 80 GBfits78.2 GB
H100 80 GBfits78.1 GB
RTX PRO 6000 Blackwell 96 GBfits93.8 GB
DGX Spark (GB10) 128 GB unifiedfits107 GB
H200 141 GBfits138 GB
B200 180 GBfits176 GB

Builds

Sizes, precisions & builds

BuildParamsPrecisionWeightsSmallest setup
LTX-2 ↗ 18.9BBF16 145 GBDGX Spark (GB10) 128 GB unified
LTX-2-GGUF (above) ↗
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