mlx-diffuser
Diffusion & flow models on Apple silicon, powered by MLX.
Train from scratch, fine-tune, or run inference β for image, video, 3D, and discrete
modalities β from one small, readable codebase. If you know PyTorch and
π€ diffusers, you already know this library.
 |
 |
| SDXL, 1024Γ1024 |
FLUX.1 schnell, 4-bit |
 |
 |
| WAN 2.1, text-to-video |
LTX-2.3, joint video + audio |
Generate or edit
# Text to image on a 16 GB Mac
mlx-diffuser generate --model flux --prompt "a red fox in snow" \
--low-memory --out fox.png
# Image to image with SDXL
mlx-diffuser generate --model sdxl --image photo.jpg --strength 0.65 \
--prompt "an expressive oil painting" --low-memory --out painted.png
# Image to 3D Gaussian splats with TRELLIS
mlx-diffuser generate --model trellis --image object.png --download \
--out object.ply
| Model |
Conditioning |
Output |
| SDXL |
text, image + text |
image |
| FLUX.1 |
text |
image |
| WAN 2.1 |
text |
video |
| LTX-2.3 |
text |
video + 48 kHz stereo audio |
| TRELLIS image-large |
image |
3D Gaussian PLY |
 |
 |
| photorealistic input |
native MLX TRELLIS output, four views |
The TRELLIS result above was generated from the official image-large checkpoint on a
16 GB M1 Pro in 202.36 seconds with 2.07 GB MLX peak memory. See the
reproducible settings and limitations.
Why MLX?
- Unified memory β no hostβdevice copies; run models larger than a discrete
GPU's VRAM on a Mac.
mx.compile + fused kernels β mx.fast.scaled_dot_product_attention, lazy
evaluation, compiled training and sampling steps.
- Weight quantization β 4/8-bit so large models fit on 16β32 GB machines.
- Low power β fanless inference and fine-tuning, no cloud GPU rental.
Where to next