CoolFace
Apppublic

Raminy/LTX-2.5

sourceHugging Faceupdated 1mo agoView on Hugging Face
0likes
App README

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
Codediffusers main @ 7564fb01 (the PR #14447 merge commit). Not a PyPI release
Video decoderconv VAE decoder by default; switchable to LTX-2.5's own diffusion decoder (LTX2VideoDiffusionDecodePipeline + the Hub-fetched NATTEN kernel, tiled)
Upsamplerltx-2.3-spatial-upscaler-x2-1.1, in the model repo's latent_upsampler/ subfolder
Prompt enhancerthe 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:

  1. 1.Stage 1LTX2Pipeline at half the target resolution, 8 steps on DISTILLED_SIGMA_VALUES, unguided, output_type="latent".
  2. 2.UpsampleLTX2LatentUpsamplePipeline, ×2 spatial, no temporal.
  3. 3.Stage 2 — 3 steps on STAGE_2_DISTILLED_SIGMA_VALUES, seeded from the upsampled video latent and the stage-1 audio latent at noise_scale = STAGE_2_DISTILLED_SIGMA_VALUES[0]; size taken from the latents.
  4. 4.Decode — conv VAE (tiled) by default, or LTX2VideoDiffusionDecodePipeline(denormalize=False) plus a by-hand audio_vae + vocoder audio 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.