Instructions to use rootonchair/LTX-2.3-Distilled-v1.1-Diffusers with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use rootonchair/LTX-2.3-Distilled-v1.1-Diffusers 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("rootonchair/LTX-2.3-Distilled-v1.1-Diffusers", 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
| license: other | |
| license_name: ltx-video-2-open-source-license | |
| license_link: https://huggingface.co/Lightricks/LTX-2.3/blob/main/LICENSE | |
| base_model: Lightricks/LTX-2.3 | |
| tags: | |
| - ltx2 | |
| - video | |
| - audio | |
| - diffusers | |
| pipeline_tag: image-to-video | |
| # LTX-2.3 Distilled v1.1 (Diffusers) | |
| Diffusers-format weights for the **v1.1** distilled checkpoint of | |
| [Lightricks/LTX-2.3](https://huggingface.co/Lightricks/LTX-2.3) — a DiT-based foundation | |
| model that jointly generates synchronized video and audio. Runs in **8 steps with CFG = 1**. | |
| This is an unofficial staging conversion. The existing | |
| [`diffusers/LTX-2.3-Distilled-Diffusers`](https://huggingface.co/diffusers/LTX-2.3-Distilled-Diffusers) | |
| repo was converted before the upstream v1.1 distilled checkpoint was published | |
| (v1.0 dates to Mar 5, this repo's source `dg845/LTX-2.3-Distilled-Diffusers` conversion was | |
| done Mar 14, and the v1.1 checkpoint was added upstream on Apr 13) — so that repo still ships | |
| v1.0 weights. This repo swaps in the v1.1 `transformer/` weights on top of the same base | |
| pipeline; every other component (VAE, audio VAE, text encoder, tokenizer, connectors, vocoder, | |
| scheduler config) is unchanged from `diffusers/LTX-2.3-Distilled-Diffusers` and was not | |
| re-converted, since only the DiT was updated upstream. | |
| ## Source checkpoint | |
| - File: `ltx-2.3-22b-distilled-1.1.safetensors` from | |
| [`Lightricks/LTX-2.3`](https://huggingface.co/Lightricks/LTX-2.3) | |
| - Converted with `scripts/convert_ltx2_to_diffusers.py --version 2.3 --dit` from a | |
| local `huggingface/diffusers` checkout (`0.40.0.dev0`). | |
| - Architecture (`transformer/config.json`) is byte-for-byte identical to the v1.0 conversion in | |
| `diffusers/LTX-2.3-Distilled-Diffusers` aside from the `_diffusers_version` metadata field — | |
| only the weights changed upstream. | |
| ## Usage | |
| Requires a recent build of `diffusers` with LTX-2 support: | |
| ```bash | |
| pip install -U git+https://github.com/huggingface/diffusers | |
| ``` | |
| ```python | |
| import torch | |
| from diffusers import LTX2Pipeline | |
| from diffusers.pipelines.ltx2.export_utils import encode_video | |
| from diffusers.pipelines.ltx2.utils import DEFAULT_NEGATIVE_PROMPT, DISTILLED_SIGMA_VALUES | |
| pipe = LTX2Pipeline.from_pretrained( | |
| "rootonchair/LTX-2.3-Distilled-v1.1-Diffusers", torch_dtype=torch.bfloat16 | |
| ) | |
| pipe.enable_model_cpu_offload() | |
| prompt = "A flowing river in a forest at golden hour, gentle wind in the leaves." | |
| frame_rate = 24.0 | |
| video, audio = pipe( | |
| prompt=prompt, | |
| negative_prompt=DEFAULT_NEGATIVE_PROMPT, | |
| width=768, | |
| height=512, | |
| num_frames=121, | |
| frame_rate=frame_rate, | |
| num_inference_steps=8, | |
| sigmas=DISTILLED_SIGMA_VALUES, | |
| guidance_scale=1.0, | |
| output_type="np", | |
| return_dict=False, | |
| ) | |
| encode_video( | |
| video[0], | |
| fps=frame_rate, | |
| audio=audio[0].float().cpu(), | |
| audio_sample_rate=pipe.vocoder.config.output_sampling_rate, | |
| output_path="ltx2_distilled_v1_1_t2v.mp4", | |
| ) | |
| ``` | |
| ## Notes | |
| - `width`/`height` must be divisible by 32; `num_frames` must equal `8k + 1`. | |
| - Always pass `sigmas=DISTILLED_SIGMA_VALUES`, `num_inference_steps=8`, `guidance_scale=1.0` | |
| for this distilled checkpoint. | |
| - See the [Diffusers LTX-2 docs](https://huggingface.co/docs/diffusers/main/en/api/pipelines/ltx2) | |
| for multimodal guidance, prompt enhancement, and the upscaling/refinement pipeline. | |
| ## License | |
| These weights are released under the | |
| [LTX Video 2 Open Source License](https://huggingface.co/Lightricks/LTX-2.3/blob/main/LICENSE). | |