LTX-2.5, MLX 4-bit for mlx-serve

4-bit MLX conversion of mlx-community/ltx-2.5-mlx (itself a conversion of Lightricks/LTX-2.5), built for mlx-serve — the native Zig MLX server for Apple Silicon (mlxserve.com).

Joint audio+video: one model generates the frames and their soundtrack together. Text-to-video, image-to-video (first-frame conditioning) and audio-to-video, plus the two-stage pipelines, all served natively — no Python.

36 GB on disk, down from 110 GB. The upstream conversion ships bf16 only; this is the same pack at the 4-bit width mlx-serve's LTX engine reads, and it is self-contained — the text encoder is inside it, so nothing else downloads.

⚠️ License — read before use

These weights are Derivatives of LTX-2.5 under the LTX-2.x Community License Agreement. A complete copy ships here as LICENSE.md, and the Acceptable Use Policy it incorporates by reference is snapshotted as ltx-acceptable-use-policy-snapshot-2026-08-12.pdf (the version in effect at your time of use governs — check Lightricks' current AUP).

Transfer notice (Agreement §3.5). Your use of these weights is subject to the LTX-2.x Community License Agreement. If you (aggregated across entities under common control) have annual revenues of US $10,000,000 or more, you are a "Commercial Entity" under the Agreement and must obtain a paid license from Lightricks before any use other than the Agreement's non-commercial-purpose carve-outs (testing, evaluation, non-commercial R&D in non-production environments). Sub-threshold commercial and production use is royalty-free under the Agreement's terms.

Further obligations that travel with these weights include (not exhaustive — read the license): machine-generated content disclosure (Attachment A §5), no removal or circumvention of any transparency/provenance features (§6), EU AI Act / CA AI Transparency Act responsibilities for providers/deployers (§6), and the Attachment A acceptable-use terms.

Modification notice (Agreement §3.3)

Modified from mlx-community/ltx-2.5-mlx. The change is quantization only — no training, no fine-tuning, no architectural change:

  • Both DiT variants: affine 4-bit, group size 64, applied to the 34 linear projections in each of the 48 transformer blocks (1632 weights per variant) — the six attention modules' to_q/to_k/to_v/to_out/to_gate_logits and the two feed-forwards' proj_in/proj_out. 38.0 GB → 11.3 GB each.
  • Text encoder (gemma4-12b-ltx-v1/): affine 4-bit, group size 64, on every 2-D projection plus the embedding table (329 weights). 23.8 GB → 6.7 GB.
  • Kept at their shipped dtype: every adaLN table, patchify_proj/proj_out, the q/k norms, keyframes_abs_pos_embedding, and all of the connector, both video VAEs, the audio VAE, the vocoder and both latent upscalers — copied byte-for-byte.

That split is the same recipe the established 2.3 MLX packs use (only_transformer_blocks), which is what mlx-serve's loader expects: it treats a tensor as quantized iff a sibling <name>.scales exists.

Conversion script: scripts/quantize_ltx25.py. The embedded LTX-2.x license text in upstream file metadata is preserved.

Contents

File Contents
transformer-distilled.safetensors distilled joint-AV DiT, 4-bit — fixed 8-step, CFG 1 (the one-stage default)
transformer-dev.safetensors dev (full) joint-AV DiT, 4-bit — two-stage stage 1, takes CFG
gemma4-12b-ltx-v1/ Lightricks-tuned Gemma-4-12B text encoder, 4-bit
connector.safetensors text-embedding connectors + aggregate projections (bf16)
vae_encoder / vae_decoder conv video VAE
audio_vae / vocoder audio VAE + BigVGAN v2
spatial_upscaler_x2_v1_1 / temporal_upscaler_x2_v1_0 ×2 latent upscalers

Only what the engine reads. The upstream repo's vae_diffusion_decoder and duration_head are not included — mlx-serve does not implement them yet.

Usage

mlx-serve --model <path>/LTX-2.5-MLX-Serve-4bit --serve
curl -X POST http://127.0.0.1:11434/v1/video/generations \
  -H 'Content-Type: application/json' \
  -d '{"prompt":"a red fox trots across fresh snow in a pine forest at golden hour",
       "num_frames":97,"height":480,"width":704,"steps":8,"seed":42}'

Or pick LTX-Video 2.5 in the mlx-serve app's Video window.

Measured

M4 Max (128 GB): 704×480, 97 frames @ 24 fps, 8 steps — 2m17s end to end, including the text encode and the VAE decode, with the generated soundtrack.

Credits

All credit for the model to Lightricks — see the LTX-2 reference implementation. The MLX layout and the bf16 conversion this quantizes are mlx-community/ltx-2.5-mlx's.

Downloads last month
144
MLX
Hardware compatibility
Log In to add your hardware

Quantized

Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for ddalcu/LTX-2.5-MLX-Serve-4bit

Quantized
(2)
this model