Instructions to use Lightricks/LTX-2.5-22b-LoRA-Slow-Motion-Control with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LTX-2
How to use Lightricks/LTX-2.5-22b-LoRA-Slow-Motion-Control with LTX-2:
# Install the LTX-2 pipelines git clone https://github.com/Lightricks/LTX-2.git cd LTX-2 uv sync --extra natten
# Download the adapter weights from this repo # (base components come from Lightricks/LTX-2.5 β see Files and versions) hf download Lightricks/LTX-2.5-22b-LoRA-Slow-Motion-Control --local-dir models/LTX-2.5-22b-LoRA-Slow-Motion-Control
# Text/image-to-video with the LoRA on the distilled LTX-2.5 pipeline uv run python -m ltx_pipelines.distilled \ --transformer-path path/to/distilled-transformer.safetensors \ --text-encoder-path path/to/gemma4-12b-with-proj-ltx-2.5-bf16.safetensors \ --video-vae-path path/to/video-vae.safetensors \ --audio-vae-path path/to/audio-vae.safetensors \ --spatial-upsampler-path path/to/spatial-upsampler.safetensors \ --lora models/LTX-2.5-22b-LoRA-Slow-Motion-Control/<weights>.safetensors 1.0 \ --prompt "your prompt here" \ --output-path output.mp4 # For image-to-video, add: --image path/to/image.jpg 0 0.8 - Notebooks
- Google Colab
- Kaggle
# Download the adapter weights from this repo
# (base components come from Lightricks/LTX-2.5 β see Files and versions)
hf download Lightricks/LTX-2.5-22b-LoRA-Slow-Motion-Control --local-dir models/LTX-2.5-22b-LoRA-Slow-Motion-Control# Text/image-to-video with the LoRA on the distilled LTX-2.5 pipeline
uv run python -m ltx_pipelines.distilled \
--transformer-path path/to/distilled-transformer.safetensors \
--text-encoder-path path/to/gemma4-12b-with-proj-ltx-2.5-bf16.safetensors \
--video-vae-path path/to/video-vae.safetensors \
--audio-vae-path path/to/audio-vae.safetensors \
--spatial-upsampler-path path/to/spatial-upsampler.safetensors \
--lora models/LTX-2.5-22b-LoRA-Slow-Motion-Control/<weights>.safetensors 1.0 \
--prompt "your prompt here" \
--output-path output.mp4
# For image-to-video, add: --image path/to/image.jpg 0 0.8LTX-2.5 22B LoRA Slow Motion Control
This is a Slow Motion Control LoRA trained on top of LTX-2.5-22B, which turns physical motion speed into a controllable knob β real-time through extreme slow-motion β while the output video stays at original fps.
It is based on the LTX-2.5 foundation model.
- Prompt
- A wide shot captures a busy urban street scene under bright daylight, featuring tall glass and stone buildings lining both sides, with a prominent vertical sign displaying "RADIO CITY" centered between structures; cars are completely stopped on a white crosswalk due to a visible red traffic light, and numerous pedestrians are actively crossing the street from left to right across the foreground; the camera remains static, presenting a front-facing viewpoint that encompasses the entire width of the roadway and sidewalk area, while the ambient soundscape includes the muted rumble of idling vehicles, the occasional distant city traffic noise, and the soft shuffling of many footsteps as people move across the asphalt; a medium shot frames several individuals walking purposefully across the crosswalk, their legs moving in synchronized steps toward the right edge of the frame, accompanied by a low, steady background musical score suggesting routine city activity, all rendered with crisp high-resolution detail and richly saturated film-grade color emphasizing the textures of the concrete, glass facades, and pedestrian clothing.
Model Files
ltx-2.5-22b-lora-slow-motion-control-1.0.safetensors
Model Details
- Base Model: LTX-2.5-22B Video
- Training Type: standard LoRA
- Control Type: a
speedconditioning value that decouples motion frame rate from playback frame rate - Modality: image-to-video
- Pipeline details: no external models and no preprocessing at inference β one LoRA plus a pipeline that exposes the speed knob.
Intended Use & Out-of-Scope
Intended use: image-to-video generation where you want controllable slow-motion of physical action β splashes, punches, body shakes, spins, cloth and hair motion, falling liquids β at a fixed provided fps playback rate.
Out of scope: arbitrary video restyling, and any use without the speed / dual-fps wiring. With a generic loader that ignores the speed value you get a plain LoRA and none of the intended motion control.
How It Works
Unlike a normal LTX run, which uses a single frame rate for both the model and the output file, this LoRA needs two values:
| Knob | Meaning |
|---|---|
Playback fps (frame_rate) |
Always 24 β the rate the mp4 plays at |
Motion speed (speed) |
The slow-motion knob. The pipeline derives motion_fps = frame_rate / speed |
Keeping frame_rate = 24:
speed |
Motion fps | Effect |
|---|---|---|
1.0 |
24 | real-time |
0.5 |
48 | 2Γ slow |
0.2 |
120 | 5Γ slow |
0.1 |
240 | 10Γ slow |
0.05 |
480 | 20Γ slow |
0.025 |
960 | 40Γ slow |
Without the LoRA, pushing motion fps high mostly produces smearing and ghosting. With it, you get genuine high-speed-camera-style slow-motion.
Prompting: write a normal image-to-video caption. There is no trigger word and no special phrasing β do not add "slow motion", "high fps", or any speed wording. The speed value alone drives the effect, and the same caption should be reused across every speed.
Usage
π ComfyUI
- Copy
ltx-2.5-22b-lora-slow-motion-control-1.0.safetensorsintomodels/loras. - Load
LTX-2.5_I2V_Speed_Control_flow.jsonfrom this repo β it wires the LoRA and the speed knob for you, and lists the LTX-2.5 models it needs in its own note. - Set the
speednode (ships at0.2) to taste and keep the frame rate at 24.
LTX-2 π Python (CLI)
distilled_speed_demo.py in this repo is a minimal driver that adds the speed knob to the
stock LTX-2.5 distilled two-stage pipeline.
Prerequisites
A checkout of LTX-2 with its environment installed (
uv sync --frozenfrom the repo root). Run the script with that environment's Python, soltx_coreandltx_pipelinesare importable.This LoRA:
ltx-2.5-22b-lora-slow-motion-control-1.0.safetensors.The LTX-2.5 base components from Lightricks/LTX-2.5:
Slot File Transformer diffusion_models/ltx-2.5-22b-distilled-transformer-bf16.safetensorsText encoder text_encoders/gemma4-12b-with-proj-ltx-2.5-bf16.safetensorsVideo VAE vae/ltx-2.5-video-vae-bf16.safetensorsAudio VAE vae/ltx-2.5-audio-vae-bf16.safetensorsSpatial upsampler latent_upscale_models/ltx-2.5-latent-spatial-upscaler-x2-bf16-1.0.safetensors
Run
python distilled_speed_demo.py \
--transformer-path path/to/ltx-2.5-22b-distilled-transformer-bf16.safetensors \
--text-encoder-path path/to/gemma4-12b-with-proj-ltx-2.5-bf16.safetensors \
--video-vae-path path/to/ltx-2.5-video-vae-bf16.safetensors \
--audio-vae-path path/to/ltx-2.5-audio-vae-bf16.safetensors \
--spatial-upsampler-path path/to/ltx-2.5-latent-spatial-upscaler-x2-bf16-1.0.safetensors \
--lora path/to/ltx-2.5-22b-lora-slow-motion-control-1.0.safetensors 1.0 \
--prompt "A wide shot of a busy city crosswalk, pedestrians crossing left to right, static camera." \
--image reference_image.png 0 1.0 \
--speed 0.2 \
--num-frames 121 --frame-rate 24 \
--height 1088 --width 1920 --seed 42 \
--output-path output.mp4
Constraints
--height/--widthmust both be divisible by 64 (this is a two-stage pipeline).1088x1920and1920x1088are the tested sizes.--num-framesmust satisfy(frames - 1) % 8 == 0β e.g. 121.--image PATH FRAME_IDX STRENGTHconditions the opening frame. The still is resized and center-cropped to the output aspect, so give it something close to the target ratio or expect to lose edges.
Notes
- The distilled pipeline uses fixed sigmas (8 steps, then 3 at full resolution), so there is
no guidance scale and no negative prompt β LoRA strength and
--speedare the controls. - Audio is generated alongside the video, so describing the soundscape in the prompt has an effect.
- Add
--duration-head-path path/to/ltx-2.5-duration-head-bf16.safetensorsif you want to omit--num-framesand let the clip length be predicted from the prompt. - Out of memory? Add
--offload cpu, or generate at544x960and upscale afterwards.
Recommended Settings
- LoRA strength / weight:
1.0 - Resolution & frames: 1920Γ1088, 121 frames, 24 fps playback
- Frame count: must satisfy
(frames - 1) % 8 == 0(e.g. 121) - Playback frame rate: always 24
- Speeds to try:
1.0,0.5,0.2,0.1,0.05,0.025 - Seed:
42for the published examples - Prompting: regular captions only, identical across speeds, no trigger phrase
Dataset
Trained on real high-speed slow-motion footage from SloMo-44K (cut and speed-weighted), following the dual-fps idea from Seeing Fast and Slow.
The full cut is 85,389 clips. Each clip stores an effective training fps of src_fps / speed,
which is the temporal-RoPE motion conditioner rather than the mp4 playback rate.
Source capture fps (container / camera fps of the originals):
| Source fps | Clips | Share |
|---|---|---|
| 30 | 41,541 | 48.6% |
| 24 | 19,917 | 23.3% |
| 25 | 11,696 | 13.7% |
| 60 | 8,595 | 10.1% |
| 50 | 2,363 | 2.8% |
| other | ~1,277 | ~1.5% |
Effective motion fps seen in training (src_fps / speed) β what the LoRA conditions on:
| Effective fps | Clips | Share |
|---|---|---|
| 60β120 | 17,146 | 20.1% |
| 120β240 | 34,440 | 40.3% |
| 240β480 | 23,961 | 28.1% |
| 480β1000 | 7,451 | 8.7% |
| 1000+ | 1,074 | 1.3% |
<60 |
~1,317 | ~1.5% |
Median effective fps β 195; p90 β 480. Dataset speed labels skew slow
(median β 0.15): ~49% very slow (<0.15), ~40% mid (0.15β0.3), ~11% mid-fast
(0.3β0.7), and under 1% near real-time.
Training
- Technique: LoRA (rank 64, alpha 64) on the DiT transformer
- Hyperparameters: bf16 mixed precision, learning rate 2e-4 (linear), batch size 8 (8Γ H100)
- Steps: full-80k recipe; shipped checkpoint is step 45,000
- Infrastructure: LTX-2 Community Trainer
Tips & Troubleshooting
- To adjust slow-motion change only
speedand notframe_rate - Do not rewrite the prompt per speed β use the same caption at every speed; only
speedchanges. - Frame count must be
8k + 1(e.g. 121); other values break the VAE temporal grid. - No slow-motion effect at all? The speed value almost certainly is not reaching the model β a plain LoRA loader applies the weights but not the conditioning. Check the speed knob is wired.
- Motion looks smeared rather than slow? Lower
speedin steps (0.5β0.2β0.1) rather than jumping straight to an extreme value, and confirm LoRA strength is1.0.
References
- Code: GitHub Repository
- ComfyUI: ComfyUI-LTXVideo
License
See the LTX-2-community-license for full terms.
Acknowledgments
- Base model by Lightricks
- Training infrastructure: LTX-2 Community Trainer
- Speed-conditioning concept inspired by Seeing Fast and Slow / SloMo-44K
- Downloads last month
- 4
Model tree for Lightricks/LTX-2.5-22b-LoRA-Slow-Motion-Control
Base model
Lightricks/LTX-2.5
# Install the LTX-2 pipelines git clone https://github.com/Lightricks/LTX-2.git cd LTX-2 uv sync --extra natten