Instructions to use tiny-random/ltx-2-5 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use tiny-random/ltx-2-5 with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline from diffusers.utils import load_image, export_to_video # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("tiny-random/ltx-2-5", dtype=torch.bfloat16, device_map="cuda") pipe.to("cuda") prompt = "A man with short gray hair plays a red electric guitar." image = load_image( "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/guitar-man.png" ) output = pipe(image=image, prompt=prompt).frames[0] export_to_video(output, "output.mp4") - Notebooks
- Google Colab
- Kaggle
This is a randomly initialized tiny model based on Lightricks/LTX-2.5 for testing and debugging.
| Feature | Source | This repo |
|---|---|---|
| Checkpoint tensor elements | 35.03B BF16, 4.73M F32, 32.19M U8 | 4.68M BF16, 8.45K F32, 32.18M U8 |
| Safetensors weight files | 70.12 GB (4 files) | 41.65 MB (4 files) |
| Transformer layers / video inner width | 48 / 4,096 | 4 / 64 |
| Video heads / head dimension | 32 / 128 | 2 / 32 |
| Audio inner width / heads / head dimension | 2,048 / 32 / 64 | 64 / 2 / 32 |
| Video / audio cross-attention width | 4,096 / 2,048 | 64 / 64 |
| Text connector blocks / registers | 8 / 128 | 2 / 4 |
| Text projection factor (layers + 1) | 49 | 3 |
| Text encoder layers / width / head dimension | 48 / 3,840 / 256 | 2 / 8 / 32 |
| Video VAE latent channels / patch size | 128 / 4 | Same |
| Audio VAE latent channels / mel bins | 8 / 64 | 8 / 4 |
| Vocoder hidden width | 1,024 | 32 |
| Embedded tokenizer and processor assets | U8 tensors in the text encoder file | Same layout |
| Stored precision | BF16 weights, FP32 modulation tables | Same |
The source is a ComfyUI split single-file pack: the transformer file also carries the text connectors, and the text encoder file carries the connector projections, two modality projectors and the tokenizer assets as U8 tensors. This repo keeps that layout and adds config.json plus ltx2_loader.py, which the split files do not contain, so the reduced components can be rebuilt. LTX-2.5's tokenizer is embedded in a 26 GB file that cannot be fetched alone, so tokenizer_json and the hf_asset__* entries come from the pinned google/gemma-4-12b-it release, which has the same 262,144-row vocabulary. The embedded 32.17 MB tokenizer is the floor for that file; the remaining non-tokenizer weights are about 9.5 MB, so the four safetensors files total 41.65 MB. The text encoder keeps a 32-wide attention head on an 8-wide residual width to preserve the minimum head dimension.
| File path | Size |
|---|---|
| diffusion_models/ltx-2.5-22b-distilled-transformer-bf16.safetensors | 2.3MB |
| text_encoders/gemma4-12b-with-proj-ltx-2.5-bf16.safetensors | 36.5MB |
| vae/ltx-2.5-audio-vae-bf16.safetensors | 0.1MB |
| vae/ltx-2.5-video-vae-bf16.safetensors | 2.7MB |
Example usage
Diffusers (β verified)
ltx2_loader.py maps the split files back to Diffusers components; this runs a 2-step text-to-video request that also decodes the audio branch.
def run_diffusers(model_id: str):
import sys
from pathlib import Path
import torch
model_id = Path(model_id).resolve()
sys.path.insert(0, str(model_id))
from ltx2_loader import load_pipeline
pipeline = load_pipeline(model_id)
with torch.no_grad():
result = pipeline(
prompt="A tiny red cube rotating on a white table",
height=64,
width=64,
num_frames=9,
num_inference_steps=2,
output_type="pt",
guidance_scale=1.0,
stg_scale=1.0,
modality_scale=1.0,
audio_guidance_scale=1.0,
audio_stg_scale=1.0,
audio_modality_scale=1.0,
generator=torch.Generator(pipeline.device).manual_seed(0),
)
frames, audio = result.frames, result.audio
assert frames.ndim == 5 and frames.shape[0] == 1
assert audio.shape[0] == 1 and audio.shape[1] == 2
assert torch.isfinite(frames).all() and torch.isfinite(audio).all()
print("frames", tuple(frames.shape), "audio", tuple(audio.shape))
if __name__ == "__main__":
run_diffusers(model_id="tiny-random/ltx-2-5")
Creating this repo
- Code: .meta/create_model.py
- Model structure: .meta/model.log
- Environment: .meta/env.json
Change log
- 2026-11-01: Initial tiny LTX-2.5 split checkpoint with video and audio branches.
This repo is generated by DeepSeek-V4.1-Flash.
- Downloads last month
- -
Model tree for tiny-random/ltx-2-5
Base model
Lightricks/LTX-2.5