Spaces:
Running on Zero
A newer version of the Gradio SDK is available: 6.23.1
title: LTX-2.5
emoji: ⚗️
colorFrom: green
colorTo: blue
sdk: gradio
sdk_version: 6.13.0
app_file: app.py
python_version: '3.12'
pinned: false
private: true
short_description: LTX-2.5 distilled two-stage
models:
- Lightricks/LTX-2.5-Diffusers
LTX-2.5 · distilled two-stage · diffusers
LTX-2.5 distilled, run end to end through upstream diffusers (merged in
PR #14447; this Space pins the merge commit).
The recipe follows the code snippets on
Lightricks/LTX-2.5-Diffusers, which are the
source of truth for this demo.
What it runs
| Weights | Lightricks/LTX-2.5-Diffusers — LTX-2.5 distilled in diffusers format. transformer/ is the distilled DiT (transformer_full/ in the same repo is SFT and excluded from the snapshot). Override with the LTX25_MODEL_ID variable |
| Code | diffusers main @ 7564fb01 (the PR #14447 merge commit). Not a PyPI release |
| Video decoder | conv VAE decoder by default; switchable to LTX-2.5's own diffusion decoder (LTX2VideoDiffusionDecodePipeline + the Hub-fetched NATTEN kernel, tiled) |
| Upsampler | ltx-2.3-spatial-upscaler-x2-1.1, in the model repo's latent_upsampler/ subfolder |
| Prompt enhancer | the shared LTX-2.4-Prompt-Enhancer Space over gradio_client, keeping the 12B enhancer off this Space's memory budget |
The recipe
Two-stage distilled generation, exactly as on the model card:
- Stage 1 —
LTX2Pipelineat half the target resolution, 8 steps onDISTILLED_SIGMA_VALUES, unguided,output_type="latent". - Upsample —
LTX2LatentUpsamplePipeline, ×2 spatial, no temporal. - Stage 2 — 3 steps on
STAGE_2_DISTILLED_SIGMA_VALUES, seeded from the upsampled video latent and the stage-1 audio latent atnoise_scale = STAGE_2_DISTILLED_SIGMA_VALUES[0]; size taken from the latents. - Decode — conv VAE (tiled) by default, or
LTX2VideoDiffusionDecodePipeline(denormalize=False)plus a by-handaudio_vae+vocoderaudio finish.
Unguided throughout (guidance_scale = audio_guidance_scale = 1.0): distillation folds guidance into
the weights. One torch.Generator threads through both stages so stage 2 continues the noise stream.
Image conditioning is center-cropped to the target aspect (smaller side 832) and re-compressed by the
pipeline's built-in image_crf (18 for LTX-2.5). Auto length uses the merged num_frames=None +
max_seconds duration-head API, capped at 15 s for ZeroGPU quota reasons.