Skip to main content

image

MFLUX MLX CI Greptile: The War on Bugs

About

Run the latest state-of-the-art generative image models locally on your Mac in native MLX!

Table of contents


💡 Philosophy

MFLUX is a line-by-line MLX port of several state-of-the-art generative image models from the Huggingface Diffusers and Huggingface Transformers libraries. All models are implemented from scratch in MLX, using only tokenizers from the Huggingface Transformers library. MFLUX is purposefully kept minimal and explicit, @karpathy style.


💿 Installation

If you haven't already, install uv, then run:

uv tool install --upgrade mflux

After installation, the following command shows all available MFLUX CLI commands:

uv tool list 

To generate your first image using, for example, the z-image-turbo model, run

mflux-generate-z-image-turbo \
  --prompt "A puffin standing on a cliff" \
  --width 1280 \
  --height 500 \
  --seed 42 \
  --steps 9 \
  -q 8

Puffin

The first time you run this, the model will automatically download which can take some time. See the model section for the different options and features, and the common README for shared CLI patterns and examples.

Python API

Create a standalone generate.py script with inline uv dependencies:

#!/usr/bin/env -S uv run --script
# /// script
# requires-python = ">=3.10"
# dependencies = [
#   "mflux",
# ]
# ///
from mflux.models.z_image import ZImageTurbo

model = ZImageTurbo(quantize=8)
image = model.generate_image(
    prompt="A puffin standing on a cliff",
    seed=42,
    num_inference_steps=9,
    width=1280,
    height=500,
)
image.save("puffin.png")

Run it with:

uv run generate.py

For more Python API inspiration, look at the CLI entry points for the respective models.

⚠️ Troubleshooting: hf_transfer error

If you encounter a ValueError: Fast download using 'hf_transfer' is enabled (HF_HUB_ENABLE_HF_TRANSFER=1) but 'hf_transfer' package is not available, you can install MFLUX with the hf_transfer package included:

uv tool install --upgrade mflux --with hf_transfer

This will enable faster model downloads from Hugging Face.

DGX / NVIDIA (uv tool install)
uv tool install --python 3.13 mflux

🎨 Models

MFLUX supports the following model families. They have different strengths and weaknesses; see each model’s README for full usage details.

Model Release date Size Type Training Description
Z-Image Nov 2025 6B Distilled & Base Yes Fast, small, very good quality and realism.
Krea 2 Jun 2026 12B Turbo (distilled) No Very good quality with a wide range of styles; good for creative exploration.
FLUX.2 Jan 2026 4B & 9B Distilled & Base Yes Fastest + smallest with very good quality and edit capabilities.
Ideogram 4 Jun 2026 9B Base No JSON-caption-native, typography-focused text-to-image generation.
ERNIE-Image Apr 2026 8B Distilled & Base No Single-stream DiT from Baidu. Vivid, high-contrast output.
Lens May 2026 3.8B (+20B TE) Turbo (distilled) No Dual-stream MMDiT from Microsoft with a GPT-OSS text encoder. Strong prompt adherence in 4 steps.
Ming-Image Sep 2026 6.15B (+16B MoE TE) Base No Design-focused (posters, cards, UI) with strong typography; outputs RGBA.
Boogu Image Jun 2026 10B Turbo (distilled) No DMD-distilled 4-step model with a photographic look and bilingual (EN/ZH) text rendering.
FIBO Oct 2025+ 8B Distilled & Base No Very good JSON-based prompt understanding. Has edit capabilities.
SeedVR2 Jun 2025 3B & 7B — No Best upscaling model.
Qwen Image Aug 2025+ 20B Base No Large model (slower); strong prompt understanding and world knowledge. Has edit capabilities
Qwen Image 2.1 Sep 2026 7.1B (+8B TE) Base No Single-stream block-causal DiT with a Qwen3-VL text encoder; 40-step guidance-free sampling. Multi-reference editing, LoRA, and RGBA.
Depth Pro Oct 2024 — — No Very fast and accurate depth estimation model from Apple.
FLUX.1 Aug 2024 12B Distilled & Base No (legacy) Legacy option with decent quality. Has edit capabilities with 'Kontext' model and upscaling support via ControlNet

✨ Features

General

  • Quantization and local model loading
  • LoRA support (multi-LoRA, scales, library lookup), including LyCORIS LoKr on FLUX.1 and FLUX.2
  • Metadata export + reuse, plus prompt file support

Model-specific highlights

  • Text-to-image and image-to-image generation.
  • LoRA finetuning
  • In-context editing, multi-image editing, and virtual try-on
  • ControlNet (Canny), depth conditioning, fill/inpainting, and Redux
  • Upscaling (SeedVR2 and Flux ControlNet)
  • Depth map extraction and FIBO prompt tooling (VLM inspire/refine)

See the common README for detailed usage and examples, and use the model section above to browse specific models and capabilities.


🦄 Contributors

MFlux was originally created by Filip Strand in August 2024 and moved to this organisation in August 2026. It is maintained by:

filipstrand
Filip Strand

created mflux
anthonywu
Anthony Wu

toolchain, CI, releases, mflux.web
plz12345
plz12345

devops, Krea 2, Boogu
fxd0h
Mariano Abad

ControlNets, training, Lens
ianscrivener
Ian Scrivener

community, CUDA, model builds

Where the models and the main features came from, read from the merge history (gh pr view <n> --json author,mergedAt):

Model or feature Contributor PR
FLUX.1 @filipstrand initial release, 2024-08
Depth Pro @filipstrand #159
Qwen Image @filipstrand #269
FIBO @filipstrand #279
Z-Image @filipstrand #284
SeedVR2 @filipstrand #297
FLUX.2 Klein @filipstrand #323
FLUX.2 KV cache (klein-9b-kv) @michaeltrefry #426
ERNIE-Image @azrahello #417
Ideogram 4 @omercelik #433
Krea 2 @plz12345 #453
LyCORIS LoKr adapters @JanGrohn #422
Fused-qkv LoRA loading @deadmansahil #459
Boogu-Image @plz12345 #446
PiD pixel-diffusion decoder @azrahello #490
Z-Image Union ControlNet @fxd0h #482
Krea 2 Raw, LoRA training, diffusers loading @fxd0h #462
Lens (Turbo) @fxd0h #510
mflux-capabilities, the machine-readable option contract @fxd0h #499
Gradient checkpointing for training @qruz-hq #711
Denoised prediction for in-loop callbacks @IonDen #729
Qwen-Image-2.1 @ivanfioravanti #736
Qwen-Image-2.1 reference editing, RGBA, prefix cache @dreampuf #741, #777
Qwen-Image-2.1 masks, auto-mask, strength, verify @flyingtimes #749, #764
PEFT and ComfyUI LoRA formats (Qwen 2.1, Z-Image) @phplego #756, #768, #772
Text-prefix KV cache, Metal kernel, step cache @murphymatt #778, #779
Ming-Image-0.1-Design @joeynyc #765
load and generate entry points for UIs @IonDen #780, #785
mflux.web UI packages @anthonywu #776
CI gates, justfile, ty, the pypi environment @anthonywu #576, #590, #646
Release process and release notes @fxd0h #685
test_tiny fixtures for every model @ianscrivener, @anthonywu #611, #620, #599

Everyone else who fixed, tested and reviewed is in the contributor graph.


Build a UI under mflux.web

We welcome independently distributed mflux.web.* implementations using Gradio, FastAPI, FastHTML, or any other UI framework. Each project can choose its own framework, dependencies, release schedule, and launch command.

mflux owns the parent initializer and inference implementation. Its package path extends across installed distributions, including separate editable checkouts. mflux.web is an implicit namespace package: Python combines the mflux/web/ directories contributed by independently installed UI packages. No intermediate distribution is required; neither core nor UI packages need to depend on mflux-web. The mflux-web distribution reserves the generic mflux-web name on PyPI; it does not provide the shared namespace and does not need to be installed. Its optional demo is just another child module, mflux.web.demo.

Your UI distribution owns a unique child, for example src/mflux/web/example_ui/__init__.py. With uv_build, configure module-name = "mflux.web.example_ui". Declare mflux and your chosen framework as dependencies with versions your UI supports. The minimum mflux version for split-directory installs must include this parent path extension.

Do not ship mflux/__init__.py, which belongs to core, or mflux/web/__init__.py, which must remain absent for the implicit namespace. Choose a unique child name to avoid collisions. PyPI distribution names can use hyphens; Python child names must be valid identifiers, such as example_ui. Reserving a PyPI distribution name does not reserve a Python namespace.

After installation in the same environment, consumers can use import mflux.web.example_ui. Installing a UI does not automatically launch it, discover applications, or mount routes. UI framework dependencies belong to the individual UI distributions; this namespace support adds none to mflux.

Community applications


🙏 Acknowledgements

MFLUX would not be possible without the great work of:


⚖️ License

This project is licensed under the MIT License.

Metadata

Release files for mflux 0.21.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mflux 0.21.0
File Size Uploaded
mflux-0.21.0.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for mflux 0.21.0
File Interpreter ABI Platform
mflux-0.21.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.5 MB

Release files / mflux-0.21.0.tar.gz

Download URL mflux-0.21.0.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
508ac1f0491a204968391eae0d507d77bd54941a1eea37d080ab3e33d53794f6
BLAKE2b-256 checksum
How to use checksums
04a9e9f741cc47906fd3a87b291949314c3bde211389d67eff50e878914500d7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.

Transparency log

Release files / mflux-0.21.0-py3-none-any.whl

Download URL mflux-0.21.0-py3-none-any.whl
Size 1.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
b2e38fd3cd4e50d497cc226e01555b8fc7856181c9421bde2e043bc53ac12d2e
BLAKE2b-256 checksum
How to use checksums
d4b73e0e6577e90cc8bd13aecc50524e2cbeabaf548896de960fede2e9e82b5a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 3, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.21.0 This release

2 release files

0.20.0

2 release files

0.19.2

2 release files

0.19.1

2 release files

0.19.0

2 release files

0.17.5

2 release files

0.17.4

2 release files

0.17.3

2 release files

0.17.2

2 release files

0.17.1

2 release files

0.17.0

2 release files

0.16.6

2 release files

0.16.5

2 release files

0.16.4

2 release files

0.16.3

2 release files

0.16.2

2 release files

0.16.1

2 release files

0.16.0

2 release files

0.15.5

2 release files

0.15.4

2 release files

0.15.3

2 release files

0.15.2

2 release files

0.15.1

2 release files

0.14.2

2 release files

0.14.0

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

1 release file

0.9.2

1 release file

0.9.1

1 release file

0.9.0

1 release file

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page