--- license: other license_name: ltx-2-license license_link: https://huggingface.co/Lightricks/LTX-2.3/blob/main/LICENSE.txt base_model: - TenStrip/LTX2.3-10Eros tags: - ltx - ltx-2 - text-to-video - image-to-video - video-generation - mlx - apple-silicon - quantized - int8 - distilled - not-for-all-audiences pipeline_tag: image-text-to-video library_name: mlx --- # LTX-2.3 10Eros v1.2 DMD — MLX int8 (q8) Int8 (8-bit) MLX quantization of [**TenStrip/LTX2.3-10Eros**](https://huggingface.co/TenStrip/LTX2.3-10Eros) v1.2 with the **JoyAI Echo DMD distillation** baked directly into the transformer, replacing the native rank-384 distilled LoRA. Converted with [mlx-forge](https://github.com/dgrauet/mlx-forge) and packaged for [**ltx-2-mlx**](https://github.com/dgrauet/ltx-2-mlx) — a pure-MLX port of LTX-2 for Apple Silicon. > [!WARNING] > **Not for all audiences.** 10Eros is intended for adult use. By downloading and running this model you confirm you are of legal age in your jurisdiction and accept responsibility for the content you generate. Do not use it to produce illegal material or to depict real, identifiable people without consent. --- ## What this is This is a **distilled-only** package. The DMD distillation deltas extracted from JoyAI Echo (rank-256, reshaped from the LTX 384 1.1 distilled-LoRA shapes, audio branch sourced from the 384 1.1 distilled LoRA) were **merged into the 10Eros v1.2 base at strength 1.0**, producing a standalone distilled transformer. There is no dev transformer and no runtime LoRA fusion — the distillation is already in the weights. Compared to the native 384 distilled LoRA, the DMD merge avoids the resampling-to-base drift, the conditioning drop from the latent, and the extra detail/look overwrites that the stock distilled LoRA introduces at the upscale refine stage. **Run it with `--distilled`.** The two-stage (`--two-stage`, `--two-stages-hq`) and one-stage-dev (`--one-stage`) paths are **not available** here — they require a dev transformer, which this package intentionally omits. --- ## What's in here | File | Size | Role | | ----------------------------------------------------- | -------- | ------------------------------------------------------------------------- | | `transformer-distilled-1.1.safetensors` | ~19.2 GB | Distilled transformer with the JoyAI Echo DMD deltas pre-fused, int8 | | `connector.safetensors` | ~5.9 GB | Gemma → DiT embedding connectors | | `spatial_upscaler_x1_5_v1_0.safetensors` | ~1.0 GB | 1.5× neural latent upscaler | | `spatial_upscaler_x2_v1_1.safetensors` | ~950 MB | 2× neural latent upscaler (stage-2 refine) | | `vae_encoder.safetensors` / `vae_decoder.safetensors` | ~1.4 GB | Video VAE (8× temporal, 32× spatial) | | `temporal_upscaler_x2_v1_0.safetensors` | ~250 MB | 2× temporal upscaler | | `vocoder.safetensors` | ~250 MB | BigVGAN v2 vocoder + BWE generator | | `audio_vae.safetensors` | ~106 MB | Audio VAE decoder | **Quantization:** int8, group size 64, applied only to `nn.Linear` inside `transformer_blocks`. AdaLN, projections, connectors, VAE and vocoder remain bf16 (MLX cannot quantize Conv layers). **Text encoder:** Gemma 3 12B is **not** bundled — `ltx-2-mlx` loads it separately via `mlx-lm`. > [!NOTE] > mlx-forge may also drop `ltx-2.3-22b-distilled-lora-384*.safetensors` (~7.1 GB each) into this directory as "shared" LoRA components. They are **unused** in a distilled-only package — nothing fuses them (there is no dev transformer, and `--distilled` never loads a LoRA). Safe to delete; also remove them from the `lora` list in `split_model.json`. --- ## Usage Requires [ltx-2-mlx](https://github.com/dgrauet/ltx-2-mlx) on Apple Silicon. ```bash # Text-to-video (distilled two-stage: half-res → upscale → full-res refine) ltx-2-mlx generate \ --model /path/to/ltx-2.3-10eros-v1.2-dmd-mlx-q8 \ --prompt "your prompt" \ --distilled \ -H 480 -W 704 -f 97 -o out.mp4 # Image-to-video — add --image ltx-2-mlx generate \ --model /path/to/ltx-2.3-10eros-v1.2-dmd-mlx-q8 \ --prompt "animate this" \ --distilled --image photo.jpg -o out.mp4 ``` Default distilled flow is the usual 8/4-step upscale schedule. Experiment with other sigmas or any Euler / LTX-compatible sampler — no custom loading or sampling is needed. On 32 GB Macs add `--low-ram` for block-streamed inference; q8 fits 16 GB with `--low-ram`. --- ## Conversion provenance 1. The JoyAI Echo DMD LoRA was merged into the 10Eros v1.2 bf16 base at per-layer strength 1.0 (alpha ÷ actual rank) to produce a distilled bf16 checkpoint: ```bash uv run ~/mlx-forge/scripts/merge_lora.py # LoRA: LTX2.3_DMD_reshaped_r256.safetensors # → /Volumes/Storage/10Eros-v1.2-distilled-dmd-bf16.safetensors ``` 2. Distilled variant + all shared components + upscalers, quantized to int8: ```bash uv run mlx-forge convert ltx-2.3 --variant distilled-1.1 \ --checkpoint /Volumes/Storage/10Eros-v1.2-distilled-dmd-bf16.safetensors \ --quantize --bits 8 \ --spatial-upscaler x2 x1.5 --temporal-upscaler x2 \ --output models/ltx-2.3-10eros-v1.2-dmd-mlx-q8 ``` No dev variant is added — this package is distilled-only by design. --- ## Credits & license - DMD distillation: JoyAI Echo — [10S-Comfy-nodes](https://github.com/TenStrip/10S-Comfy-nodes) - Finetune: [TenStrip/LTX2.3-10Eros](https://huggingface.co/TenStrip/LTX2.3-10Eros) - Base model: [Lightricks/LTX-2.3](https://huggingface.co/Lightricks/LTX-2.3) - Conversion: [mlx-forge](https://github.com/dgrauet/mlx-forge) · Runtime: [ltx-2-mlx](https://github.com/dgrauet/ltx-2-mlx) Distributed under the [LTX-2 license](https://huggingface.co/Lightricks/LTX-2.3/blob/main/LICENSE.txt). The 10Eros finetune's own terms also apply — review the [upstream model card](https://huggingface.co/TenStrip/LTX2.3-10Eros) before redistribution.