Video generation model
Self-hosting LTX-Video: how much VRAM the 22B LTX-2 really takes
Lightricks has moved the development line from LTX-Video to LTX-2 — a joint audio-video DiT with a 14B video stream and a 5B audio stream. Here are the real weight sizes for every release, the cards that can actually run them, and what they cost per second.
LTX-Video · self-hosted
Most people searching for LTX-Video self-hosting are still on the 0.9.x line. The LTX-Video repo now opens with one sentence: LTX-2 is now the primary home for LTX development. The old line's last major update was the 0.9.8 distilled models on 16 July 2025, which stretched a single clip to 60 seconds at a default 1216×704 @30fps, with no audio, under an OpenRAIL-M licence. LTX-2 landed on 23 October 2025 with native 4K, up to 50 fps, and audio generated jointly with video in one pass. They are different animals — do not size your GPU from old-line numbers.
LTX-2 is an asymmetric dual-stream transformer: a 14B video stream and a 5B audio stream, coupled by bidirectional audio-video cross-attention with temporal positional embeddings, plus cross-modality AdaLN for shared timestep conditioning — deliberately allocating more capacity to video than to audio. By LTX-2.3 and the currently recommended LTX-2.5 the model grew to 22B, and the text encoder moved from Gemma 3 12B to a Gemma 4 12B fine-tuned alongside the model. LTX-2.5 also splits the weights into one file per component, so you download only what your pipeline needs — the official Quick Start set is five files, roughly 66GiB.
There is no wiggle room on VRAM. ComfyUI-LTXVideo states its prerequisites plainly: a CUDA GPU with 32GB+ VRAM and 100GB+ free disk. The low_vram_loaders.py in that repo exists for exactly one reason — to order model loading and offloading so generation fits in 32GB. The bf16 22B transformer alone is 39.13GiB and the Gemma 4 encoder is 24.46GiB, so you either put them resident on an 80GB card or squeeze them in with --quantization fp8-cast / nvfp4-cast plus --offload cpu|disk. On NexGPU the RTX 5090 32GB, A100 SXM4 80GB, H100 SXM 80GB and H200 141GB all start on demand, with no quota request.
01 —
Every LTX release and what it weighs
File sizes taken from the official Hugging Face repositories — this is what you actually download and load.
| Version | Parameters | VRAM | Context | Notes |
|---|---|---|---|---|
| LTX-2.5 22B distilled (recommended) | 22B | bf16 39.13GiB / NVFP4 17.44GiB / ComfyUI int8 20.03GiB | Default 121 frames @24fps ≈ 5s; two-stage resolutions must be divisible by 64 | What DistilledPipeline runs: 8 predefined sigmas (8 steps in stage 1, 4 in stage 2). It is the official Quick Start default, and ICLoraPipeline and DubItPipeline expect this checkpoint too. |
| LTX-2.5 22B dev | 22B | bf16 39.13GiB / ComfyUI int8 20.03GiB | One-stage output defaults to 512×768; two-stage adds 2× spatial upsampling | The full model behind the guided two-stage pipelines (TI2VidTwoStages, TI2VidTwoStagesHQ, DFR). Stage-2 refinement additionally needs ltx-2.5-22b-distilled-lora-450-bf16 (8.29GiB). |
| Gemma 4 12B text encoder (LTX-2.5 build) | 12B | bf16 24.46GiB / ComfyUI int8 14.32GiB | Version tag gemma4-12b-ltx-v1, checked at load time | Required by every pipeline, fine-tuned for LTX with the text projection bundled in. Google's stock Gemma 4 is not a substitute — loading validates the encoder version against the checkpoint and fails. |
| LTX-2.3 22B dev / distilled-1.1 | 22B | Single file, 42.98GiB (transformer + video/audio VAEs + text projection) | Pairs with Gemma 3 12B (gemma-3-12b-it-qat-q4_0-unquantized), downloaded separately | The previous monolithic layout, and the release with the most ready-made ComfyUI workflows and the richest IC-LoRA set — Union Control, HDR, Dub-It, colorization, deblur. Weights and LoRAs are not interchangeable with 2.5. |
| LTX-2 19B dev / distilled | 19B (14B video stream + 5B audio stream) | bf16 40.31GiB / FP8 25.22GiB / NVFP4 18.62GiB | Native 4K, up to 50 fps, synchronized audio up to ~10 seconds | The release the technical report describes, and the only generation with a complete set of published fp8 and fp4 pre-quantized weights. Starting from 19b-dev-fp4 is the easiest way to try joint audio-video on a 24–32GB card. |
| LTX-Video 0.9.8 (13B / 2B, legacy line) | 13B / 2B | 13B bf16 26.62GiB, fp8 14.62GiB; 2B distilled 5.91GiB, fp8 4.16GiB | Default 1216×704 @30fps, ≤257 frames per pass (8k+1), up to 60 seconds | OpenRAIL-M licensed, no audio, T5-XXL text encoder. The only generation that is genuinely comfortable on a 24GB card — good for proving out t2v/i2v before committing to LTX-2. |
02 —
Matching a card on NexGPU to the release you are running
We only recommend a GPU when the VRAM actually fits — and we say so when it doesn't.
Prove out t2v / i2v on the legacy LTX-Video 0.9.8 line
RTX 4090 24GB$0.540/GPU-hr
Ada has native FP8, so the 14.62GiB 13B-fp8 checkpoint plus a sequentially loaded T5-XXL fits inside 24GB — and the 5.91GiB 2B distilled model leaves room to spare.
Self-host LTX-2.5 on one card with NVFP4
RTX 5090 32GB$0.723/GPU-hr
--quantization nvfp4-cast / nvfp4-prequant requires Blackwell (SM ≥ 10). The 17.44GiB NVFP4 transformer plus the int8 encoder lands right on ComfyUI's stated 32GB floor.
Run LTX-2.5 in bf16 with no quantization and no offload
A100 SXM4 80GB$1.088/GPU-hr
The 39.13GiB transformer and 24.46GiB Gemma 4 can sit resident together, so you skip the --offload cpu shuffling. Ampere has no native FP8, so you run bf16 on PyTorch SDPA — slower, but far cheaper per hour.
Batch production, 4K DFR detail rendering with temporal upsampling
H100 SXM 80GB$3.582/GPU-hr
Only Hopper unlocks --quantization fp8-scaled-mm and the FlashAttention 3 wheel. To swallow a 4K two-stage run plus two temporal refine rounds in one go, step up to the H200 141GB at $6.660/GPU-hr.
03 —
Four steps to a running LTX-2.5
From a bare instance to your first mp4 with synchronized audio.
- 01
Start the instance and install dependencies
Pick a PyTorch or ComfyUI image from the 2,000+ prebuilt images, clone the repo and sync with uv. The natten extra is the fastest backend for the diffusion video VAE decoder and is Linux + CUDA only — on Windows and macOS it is skipped automatically and decoding falls back to a Triton or eager implementation.
git clone https://github.com/Lightricks/LTX-2.git && cd LTX-2 && uv sync --extra natten - 02
Authenticate and pull the weights (the repo is gated)
LTX-2.5 is a gated Hugging Face repository: accept the model terms on the web first, then log in with a Read token — fine-grained tokens also need the 'read gated repos' scope enabled, or hf download returns 401/403. The five files below total roughly 66GiB.
hf auth login && hf download Lightricks/LTX-2.5 diffusion_models/ltx-2.5-22b-distilled-transformer-bf16.safetensors text_encoders/gemma4-12b-with-proj-ltx-2.5-bf16.safetensors vae/ltx-2.5-video-vae-bf16.safetensors vae/ltx-2.5-audio-vae-bf16.safetensors latent_upscale_models/ltx-2.5-latent-spatial-upscaler-x2-bf16-1.0.safetensors --local-dir models/ltx-2.5 - 03
Run DistilledPipeline for your first clip
Defaults are 121 frames @24fps — about 5 seconds, with video and audio generated together. If VRAM is tight, add --quantization fp8-cast and --offload cpu (or disk when RAM is short too, which is noticeably slower), and set PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True whenever you quantize. Write prompts like a shot list, and keep them under 200 words.
PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True uv run python -m ltx_pipelines.distilled --transformer-path models/ltx-2.5/diffusion_models/ltx-2.5-22b-distilled-transformer-bf16.safetensors --text-encoder-path models/ltx-2.5/text_encoders/gemma4-12b-with-proj-ltx-2.5-bf16.safetensors --video-vae-path models/ltx-2.5/vae/ltx-2.5-video-vae-bf16.safetensors --audio-vae-path models/ltx-2.5/vae/ltx-2.5-audio-vae-bf16.safetensors --num-frames 121 --seed 42 --quantization fp8-cast --offload cpu --output-path output.mp4 --prompt 'A medium close-up shot of a man looking directly at the camera, speaking in a calm voice, static camera, shallow depth of field, soft window light' - 04
Move to ComfyUI, or to a higher-quality pipeline
LTX-2 is built into ComfyUI core, with extra nodes and example workflows in ComfyUI-LTXVideo. On a tight card use the repo's low_vram_loaders.py, which orders execution and offloading so generation fits in 32GB, and reserve headroom with --reserve-vram. For more detail switch to DFRPipeline: it generates keyframes at half resolution, re-renders at full resolution with a spatial detailing LoRA, and optionally runs up to two 2× temporal refine rounds so fast motion holds together.
python -m main --reserve-vram 5
What a 5-second clip with audio actually costs to rent for
Take LTX-2.5 distilled. Budget half an hour to pull the 66GiB of weights, then two hours iterating on prompts, resolution and step counts — 2.5 hours total. On an A100 SXM4 80GB that is $1.088 × 2.5 = $2.72. On an RTX 5090 32GB running NVFP4 it is $0.723 × 2.5 = $1.81. If you want Hopper's fp8-scaled-mm and FlashAttention 3, an H100 SXM 80GB is $3.582 × 2.5 = $8.96. The line item that actually bites is storage: 66GB of weights at the $0.414/GB-month median is 66 × 0.414 = $27.32 per month, more than many people's compute bill — so destroy the volume when you are done, or keep only the 17.44GB NVFP4 copy (17.44 × 0.414 ≈ $7.22/month). Exporting finished clips runs on egress at $0.0081/GB, so 100 short 1080p pieces at roughly 20GB comes to 20 × 0.0081 ≈ $0.16. Compute is metered per second and priced per hour, and it stops the moment the instance stops; storage keeps billing until the volume is destroyed — worth remembering on a 66GiB video model.
04 —
FAQ
How do LTX-Video and LTX-2 relate, and should I still deploy 0.9.8?
What is the minimum VRAM for running LTX-2.5 locally?
Can a 24GB RTX 4090 run LTX-2?
Why does hf download return 401/403, or loading fail after I swap checkpoints?
Can I use LTX-2 commercially, and where is the licence threshold?
Generation is slow — what actually speeds it up?
Start building on NexGPU
Enterprise R&D team or solo developer — either way, your first job can be running in minutes.
Sign up to browse live network pricing. No payment method required.
