Instructions to use xocialize/ltx-2.3-granules with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use xocialize/ltx-2.3-granules with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] huggingface-cli download --local-dir ltx-2.3-granules xocialize/ltx-2.3-granules
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Atomic Chat
LTX-2.3 granule trees (BlockStreamKit weight streaming)
Per-block granule trees for BlockStreamKit SSD weight streaming of the LTX-2.3 joint audio-video DiT on Apple Silicon. Streaming the 48 transformer blocks off SSD keeps only two slot buffers resident instead of the whole DiT, so the model runs on machines that cannot hold it in memory.
| tree | source checkpoint | streamed |
|---|---|---|
bf16/ |
xocialize/ltx-2.3-mlx |
~34.6 GiB |
q8/ |
xocialize/ltx-2.3-mlx-q8 (int8 group-64, transformer blocks only) |
~18.4 GiB |
q4/ |
xocialize/ltx-2.3-mlx-q4 (int4 group-64, transformer blocks only) |
~9.7 GiB |
⚠️ Notice of modification (LTX-2 Community License §3(c))
These files have been changed from the form in which they were received. Specifically:
- The DiT tensors have been re-containered: the single
transformer-distilled.safetensorsper checkpoint is split into per-block.granulefiles at 16 KiB-aligned offsets, with the tensor map recorded in a per-treemanifest.json(manifest v2: globals sidecar- per-file SHA-256).
- The safetensors container is replaced. The trees are self-contained — the globals sidecar means no source checkpoint is needed to stream.
- No tensor value is modified. The repack is a byte copy; quantisation is inherited from the source checkpoint and is not re-derived here. Streamed forwards are gated bit-identical (memcmp) against the fully-resident path on all three quants.
No __metadata__ block existed in the source safetensors files, so no embedded notices
were dropped in the repack.
Licence — read this before use
These weights are Derivatives of LTX-2 under the
LTX-2 Community License Agreement (License date: January 5, 2026). The complete
Agreement — including Attachment A in full — is in LICENSE.
Per §3(a), you are hereby noticed that ¶4 and Attachment A apply to these weights in their entirety, and bind all use and further distribution. Per §3(b), any redistribution or Derivative must be distributed exclusively under that Agreement with a complete copy of it included.
Terms that most often catch people out:
- §2 — commercial use gate. Entities at or above the $10M revenue threshold defined in the Agreement require a separate paid commercial licence from Lightricks. This January text has no evaluation or R&D carve-out.
- Attachment A ¶20 — non-compete. You may not use these weights (or their outputs) to build offerings that substitute for the Licensor's own in the market.
- Attachment A ¶5 — disclosure. Machine-generated content must be disclosed as such.
- §8 — trademarks. No use of Lightricks marks, and nothing here implies endorsement.
The .granule layout format itself — the manifest schema and the alignment/packing spec —
is the BlockStreamKit format and is documented in that project. Nothing in this repo
grants rights to the LTX-2 weights beyond what the Agreement grants; the format
documentation and the weights are separate matters, and where they touch, the Agreement
governs.
Attribution / provenance chain
- Lightricks LTX-2 — original model and copyright holder. Licensed under the LTX-2 Community License Agreement (January 5, 2026).
dgrauet— MLX conversion of the LTX-2.3 checkpoints.xocialize/ltx-2.3-mlx{,-q8,-q4}— byte-for-byte public mirrors of those conversions, carrying SHA-256 receipts for each source file.- this repo — the per-block granule repack described above.
Each tree's manifest.json records the upstream it was laid out from — source_repo
and source_revision (the pinned commit), alongside source_file and source_size.
The chain is therefore machine-checkable: resolve the declared revision and compare the
declared source_size against that file's size upstream.
| tree | source_repo |
source_revision |
|---|---|---|
bf16/ |
xocialize/ltx-2.3-mlx |
744f57447106e016bb17f090056a70520d7f977c |
q8/ |
xocialize/ltx-2.3-mlx-q8 |
571d2f0b3d70b292ce2dc8ceee8fb6ac2eac5894 |
q4/ |
xocialize/ltx-2.3-mlx-q4 |
4a5c4e95362e4f900b25dec17cb6e6e872bd864d |
Not affiliated with, sponsored by, or endorsed by Lightricks.
Integrity
Every *.granule file's SHA-256 is recorded in its tree's manifest.json. After
downloading, verify with BlockStreamer.verifyIntegrity() — a tampered or truncated
granule is caught there rather than surfacing as silently wrong output.
Use
let streamer = try LTXBlockStreamer(granuleDir: URL(fileURLWithPath: "…/bf16"))
or point the CLI at a tree with LTX_STREAM_GRANULES=<dir>.
Model tree for xocialize/ltx-2.3-granules
Base model
Lightricks/LTX-2