Skip to content

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 lion FLUX lion
SDXL, 1024Γ—1024 FLUX.1 schnell, 4-bit
WAN fox video LTX-2.3 fox video
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
TRELLIS boot input TRELLIS boot reconstruction
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