Instructions to use zero0303/ltx-2.5-mlx-dynamic-8bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use zero0303/ltx-2.5-mlx-dynamic-8bit with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] hf download zero0303/ltx-2.5-mlx-dynamic-8bit --local-dir ltx-2.5-mlx-dynamic-8bit
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Atomic Chat
Download generate.py from zero0303/ltx-2.5-mlx-dynamic-8bit: direct link, hf CLI and curl.
- Browser
- Download file 1.79 kB
-
https://huggingface.co/zero0303/ltx-2.5-mlx-dynamic-8bit/resolve/main/generate.py
- Command line
-
hf download hf://zero0303/ltx-2.5-mlx-dynamic-8bit/generate.py
-
curl -L -o generate.py https://huggingface.co/zero0303/ltx-2.5-mlx-dynamic-8bit/resolve/main/generate.py
1.79 kB
| """Text to video with our LTX-2.5 MLX port (distilled, two-stage, bf16 like Lightricks; dynamic 8-bit weights). | |
| .venv/bin/python generate.py "prompt" -o out.mp4 [--seed 42] [--width 1024 --height 576 --frames 121 --fps 24] | |
| .venv/bin/python generate.py "prompt" -o out.mp4 --image start.png [--image-strength 1.0] # image to video | |
| """ | |
| import argparse | |
| import sys | |
| import time | |
| from pathlib import Path | |
| sys.path.insert(0, str(Path(__file__).resolve().parent)) | |
| from ltx25.pipeline import generate # noqa: E402 (ltx25 turns MLX's TF32 off before MLX is used) | |
| ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) | |
| ap.add_argument("prompt") | |
| ap.add_argument("-o", "--out", required=True) | |
| ap.add_argument("--seed", type=int, default=42) | |
| ap.add_argument("--width", type=int, default=1024) | |
| ap.add_argument("--height", type=int, default=576) | |
| ap.add_argument("--frames", type=int, default=121) | |
| ap.add_argument("--fps", type=float, default=24.0) | |
| ap.add_argument("--models", default=str(Path(__file__).resolve().parent / "models/ltx-2.5-mlx-8bit"), | |
| help="our dynamic 8-bit pack (default) or a folder with Lightricks' 16-bit release") | |
| ap.add_argument("--image", help="start image (PNG / JPEG): the clip begins from it (Lightricks' --image PATH 0 STRENGTH)") | |
| ap.add_argument("--image-strength", type=float, default=1.0) | |
| ap.add_argument("--image-crf", type=int, default=None, help="H.264 CRF the image is re-compressed at (default: the model's)") | |
| a = ap.parse_args() | |
| t0 = time.time() | |
| generate(a.prompt, a.out, seed=a.seed, width=a.width, height=a.height, num_frames=a.frames, fps=a.fps, | |
| models=a.models, image=a.image, image_strength=a.image_strength, image_crf=a.image_crf) | |
| print(f"total {time.time() - t0:.0f} s") | |