Video / Lightricks
LTX 2.5
LTX 2.5 from Lightricks. Source-based hardware guidance from its published configuration.
EstimatedRepository opened Jul 23, 2026Source checked 9/24/2026Version: 5e6e7101
LOCALRENTED GPUOPEN WEIGHTS
At a glance
- Architecture
- unknown
- License
- ltx-2.x-community-license-agreement
- Software
- Diffusers
Will it run on your machine?
Save your machine to see a personalized rating and its reasoning.
Add my hardwareWays to run it
Diffusers · See official guide
Repository-specific command in publisher documentation; confirm dependencies and hardware in the source.
import torch
from diffusers import LTX2ImageToVideoPipeline, LTX2LatentUpsamplePipeline
from diffusers.pipelines.ltx2.latent_upsampler import LTX2LatentUpsamplerModel
from diffusers.pipelines.ltx2.utils import (
DEFAULT_NEGATIVE_PROMPT,
DISTILLED_SIGMA_VALUES,
STAGE_2_DISTILLED_SIGMA_VALUES,
)
from diffusers.utils import encode_video, load_image
MODEL_ID = "Lightricks/LTX-2.5-Diffusers"
# Stage 1 resolution; stage 2 runs at 2x this.
HEIGHT, WIDTH, NUM_FRAMES, FRAME_RATE = 544, 960, 121, 24.0
pipe = LTX2ImageToVideoPipeline.from_pretrained(MODEL_ID, dtype=torch.bfloat16)
pipe.enable_model_cpu_offload()
pipe.vae.enable_tiling() # stage 2 decodes at 2x
latent_upsampler = LTX2LatentUpsamplerModel.from_pretrained(
MODEL_ID, subfolder="latent_upsampler", dtype=torch.bfloat16
).to("cuda")
upsample_pipe = LTX2LatentUpsamplePipeline(vae=pipe.vae, latent_upsampler=latent_upsampler)
generator = torch.Generator("cuda").manual_seed(42)
shared = dict(
image=load_image("path/to/first_frame.jpg"),
prompt="The camera slowly dollies out as wind moves through the grass",
negative_prompt=DEFAULT_NEGATIVE_PROMPT,
frame_rate=FRAME_RATE,
guidance_scale=1.0,
audio_guidance_scale=1.0,
stg_scale=0.0,
audio_stg_scale=0.0,
modality_scale=1.0,
audio_modality_scale=1.0,
generator=generator,
return_dict=False,
)
stage_1_latents, audio_latents = pipe(
height=HEIGHT, width=WIDTH, num_frames=NUM_FRAMES,
sigmas=DISTILLED_SIGMA_VALUES, output_type="latent", **shared,
)
upsampled_latents = upsample_pipe(
latents=stage_1_latents, output_type="latent", return_dict=False
)[0]
# Stage 2 takes its size from the upsampled latents, so pass no height/width.
video, audio = pipe(
num_frames=NUM_FRAMES,
sigmas=STAGE_2_DISTILLED_SIGMA_VALUES,
latents=upsampled_latents,
audio_latents=audio_latents,
noise_scale=STAGE_2_DISTILLED_SIGMA_VALUES[0],
output_type="np",
**shared,
)
encode_video(
video[0],
fps=int(FRAME_RATE),
output_path="output_i2v_two_stage.mp4",
audio=audio[0].float().cpu(),
audio_sample_rate=pipe.vocoder.config.output_sampling_rate,
)Keep exploring
Video
MiniMaxMiniMax H3
A self-hostable 33B-parameter base system for generating short video with synchronized audio. The publisher’s local base workflow produces 768p output.
MODEL SIZE33B
Video
WanWan-Animate-2 · 14B
Animate a character from a driving video, with text control over the camera viewpoint.
MODEL SIZE14B
Video
WanWan2.1 · 1.3B
An open text-to-video model for experimenting with local video generation.
MODEL SIZE1.3B