Instructions to use ddalcu/Qwen-Image-2.1-Turbo-MLX-Serve-8bit with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use ddalcu/Qwen-Image-2.1-Turbo-MLX-Serve-8bit with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] hf download ddalcu/Qwen-Image-2.1-Turbo-MLX-Serve-8bit --local-dir Qwen-Image-2.1-Turbo-MLX-Serve-8bit
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Atomic Chat
Qwen-Image-2.1-Turbo MLX-Serve 8-bit
8-bit pack of Qwen/Qwen-Image-2.1-Turbo for mlx-serve: 17.7 GB, for 32 GB Macs. The same text rendering as bf16 at the same seed.
Run it
Download MLX-Serve.app, open the Image tab, and pick Qwen-Image 2.1 Turbo 8-bit from the model menu. It downloads with a progress bar and generates in the same window. No terminal, nothing to configure.
Prefer Homebrew? It is a third-party tap, so tap it first:
brew tap ddalcu/mlx-serve https://github.com/ddalcu/mlx-serve
brew trust ddalcu/mlx-serve
brew install --cask mlx-serve
Driving it from code instead? The app runs the server on http://localhost:11234:
curl localhost:11234/v1/images/generations -H 'Content-Type: application/json' \
-d '{"model":"ddalcu/Qwen-Image-2.1-Turbo-MLX-Serve-8bit","prompt":"a red fox in fresh snow","size":"1024x1024"}'
8 steps, always: the pack's own sampling schedule (sample_sigmas in model_index.json)
decides, and a requested steps is ignored, as in diffusers. Needs mlx-serve 26.10.2 or
newer; an older build runs the base model's 40-step schedule on it. Guidance is 1 by
default; guidance_scale above 1 with a negative_prompt runs real CFG (two forwards per
step). image + strength does image-to-image, and "mode":"edit" with an image (plus
up to 9 ref_images) edits it from the prompt.
Measured (M5 Ultra, 256 GB)
| Pack | 1024x1024 text-to-image | Instruction edit, 1 reference | Peak memory |
|---|---|---|---|
bf16 (Qwen/Qwen-Image-2.1-Turbo) |
7.2 s | 11.2 s | 31.4 GB |
| 8-bit | 7.8 s | 12.5 s | 19.3 GB |
| 4-bit | 8.8 s | 11.9 s | 12.8 GB |
Per request with the model loaded, 8 steps; peak is MLX's own across the request with everything resident. Quantizing saves memory, not time, on a Mac this size. On a Mac the full set would crowd, mlx-serve loads the text encoder per request and frees it before the denoise, so the resident set is the DiT and VAE.
mlx-serve
A native Zig server for Apple Silicon. No Python, no cloud, no Electron. One 9 MB binary.
- One server, every modality. Chat, images, video, music, speech with voice cloning, and 3D, all running natively on MLX.
- Points at what you already use. OpenAI- and Anthropic-compatible APIs on
http://localhost:11234, so Claude Code, the OpenAI SDK, Continue, Cursor and Open WebUI just work. - Any LLM, not just these. Every MLX model and every GGUF on Hugging Face, with speculative decoding built in.
- MLX-Serve.app included. Signed macOS menu-bar app: chat, agent mode with MCP tools, model downloads, and every generator above, no terminal needed.
If it is useful to you, a star on GitHub genuinely helps.
What is in it
The checkpoint's own diffusers layout and key names, with the DiT block linears and the
text-encoder layer linears affine-quantized to 8-bit (group 64). Kept dense: the VAE
(f32), embed_tokens, norms, and the DiT's small or shared linears. Kept: the Qwen3-VL
vision tower, for instruction editing. Dropped: lm_head and the VAE's per-frame time_convs.
Built by tests/convert_qwen_image21_weights.py --preset 32gb in the mlx-serve repo.
Qwen is licensed under the Qwen RESEARCH LICENSE AGREEMENT, Copyright (c) 2026 Hangzhou Tongyi Laboratory Technology Co., Ltd. All Rights Reserved. Non-commercial use only: see LICENSE and NOTICE. The original model and weights are by the Qwen team.
- Downloads last month
- 100
Quantized
