The project's README from github.com/Lightricks/LTX-Video. As one markdown file: README.md.
We're excited to announce LTX-2 - the next generation of LTX with synchronized audio+video generation!
LTX-2 is the first DiT-based audio-video foundation model that contains all core capabilities of modern video generation in one model. LTX-2 is now the primary home for LTX development and includes significant improvements:
LTX-Video is the first DiT-based video generation model that contains all core capabilities of modern video generation in one model: synchronized audio and video, high fidelity, multiple performance modes, production-ready outputs, API access, and open access. It can generate up to 50 FPS videos at native 4K resolution with synchronized audio in one pass. The model is trained on a large-scale dataset of diverse videos and can generate high-resolution videos with realistic and diverse content.
The model supports image-to-video, multi-keyframe conditioning, keyframe-based animation, video extension (both forward and backward), video-to-video transformations, and any combination of these features.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Today we announced our newest foundation model, LTX-2. LTX-2 represents a major leap forward from our previous model, LTXV 0.9.8. Here’s what’s new:
For more details, please see our blog post. LTX-2 model weights, code, and benchmarks will be released to the community later in 2025.
| Name | Notes | inference.py config | ComfyUI workflow (Recommended) |
|---|---|---|---|
| ltxv-13b-0.9.8-dev | Highest quality, requires more VRAM | ltxv-13b-0.9.8-dev.yaml | ltxv-13b-i2v-base.json |
| ltxv-13b-0.9.8-mix | Mix ltxv-13b-dev and ltxv-13b-distilled in the same multi-scale rendering workflow for balanced speed-quality | N/A | ltxv-13b-i2v-mixed-multiscale.json |
| ltxv-13b-0.9.8-distilled | Faster, less VRAM usage, slight quality reduction compared to 13b. Ideal for rapid iterations | ltxv-13b-0.9.8-distilled.yaml | ltxv-13b-dist-i2v-base.json |
| ltxv-2b-0.9.8-distilled | Smaller model, slight quality reduction compared to 13b distilled. Ideal for fast generation with light VRAM usage | ltxv-2b-0.9.8-distilled.yaml | N/A |
| ltxv-13b-0.9.8-dev-fp8 | Quantized version of ltxv-13b | ltxv-13b-0.9.8-dev-fp8.yaml | ltxv-13b-i2v-base-fp8.json |
| ltxv-13b-0.9.8-distilled-fp8 | Quantized version of ltxv-13b-distilled | ltxv-13b-0.9.8-distilled-fp8.yaml | ltxv-13b-dist-i2v-base-fp8.json |
| ltxv-2b-0.9.8-distilled-fp8 | Quantized version of ltxv-2b-distilled | ltxv-2b-0.9.8-distilled-fp8.yaml | N/A |
| ltxv-2b-0.9.6 | Good quality, lower VRAM requirement than ltxv-13b | ltxv-2b-0.9.6-dev.yaml | ltxvideo-i2v.json |
| ltxv-2b-0.9.6-distilled | 15× faster, real-time capable, fewer steps needed, no STG/CFG required | ltxv-2b-0.9.6-distilled.yaml | ltxvideo-i2v-distilled.json |
The model is accessible right away via the following links:
The codebase was tested with Python 3.10.5, CUDA version 12.2, and supports PyTorch >= 2.1.2. On macOS, MPS was tested with PyTorch 2.3.0, and should support PyTorch == 2.3 or >= 2.6.
git clone https://github.com/Lightricks/LTX-Video.git
cd LTX-Video
# create env
python -m venv env
source env/bin/activate
python -m pip install -e .\[inference\]
FP8 kernels developed for LTX-Video provide performance boost on supported graphics cards (Ada architecture and later). To install FP8 kernels, follow the instructions in that repository.
📝 Note: For best results, we recommend using our ComfyUI workflow. We're working on updating the inference.py script to match the high quality and output fidelity of ComfyUI.
To use our model, please follow the inference code in inference.py:
python inference.py --prompt "PROMPT" --conditioning_media_paths IMAGE_PATH --conditioning_start_frames 0 --height HEIGHT --width WIDTH --num_frames NUM_FRAMES --seed SEED --pipeline_config configs/ltxv-13b-0.9.8-distilled.yaml
📝 Note: Input video segments must contain a multiple of 8 frames plus 1 (e.g., 9, 17, 25, etc.), and the target frame number should be a multiple of 8.
python inference.py --prompt "PROMPT" --conditioning_media_paths VIDEO_PATH --conditioning_start_frames START_FRAME --height HEIGHT --width WIDTH --num_frames NUM_FRAMES --seed SEED --pipeline_config configs/ltxv-13b-0.9.8-distilled.yaml
You can now generate a video conditioned on a set of images and/or short video segments. Simply provide a list of paths to the images or video segments you want to condition on, along with their target frame numbers in the generated video. You can also specify the conditioning strength for each item (default: 1.0).
python inference.py --prompt "PROMPT" --conditioning_media_paths IMAGE_OR_VIDEO_PATH_1 IMAGE_OR_VIDEO_PATH_2 --conditioning_start_frames TARGET_FRAME_1 TARGET_FRAME_2 --height HEIGHT --width WIDTH --num_frames NUM_FRAMES --seed SEED --pipeline_config configs/ltxv-13b-0.9.8-distilled.yaml
from ltx_video.inference import infer, InferenceConfig
infer(
InferenceConfig(
pipeline_config="configs/ltxv-13b-0.9.8-distilled.yaml",
prompt=PROMPT,
height=HEIGHT,
width=WIDTH,
num_frames=NUM_FRAMES,
output_path="output.mp4",
)
)
To use our model with ComfyUI, please follow the instructions at https://github.com/Lightricks/ComfyUI-LTXVideo/.
To use our model with the Diffusers Python library, check out the official documentation.
Diffusers also support an 8-bit version of LTX-Video, see details below
When writing prompts, focus on detailed, chronological descriptions of actions and scenes. Include specific movements, appearances, camera angles, and environmental details - all in a single flowing paragraph. Start directly with the action, and keep descriptions literal and precise. Think like a cinematographer describing a shot list. Keep within 200 words. For best results, build your prompts using this structure:
When using LTXVideoPipeline directly, you can enable prompt enhancement by setting