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.safetensors per checkpoint is split into per-block .granule files at 16 KiB-aligned offsets, with the tensor map recorded in a per-tree manifest.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>.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for xocialize/ltx-2.3-granules

Base model

Lightricks/LTX-2
Finetuned
(68)
this model