github mflux-community/mflux v.0.24.0
Release 0.24.0

4 hours ago

0.24.0

Security

  • Pillow 13.0.0 or newer is now required. It fixes a critical heap overflow in FlashPix JPEG decoding (GHSA-5x8w-8jj5-q52h) and other advisories. (#935)
  • MFlux now requires Pillow 13 and Python 3.11 or newer. Python 3.10 is no longer supported. Upgrade to Python 3.11 or newer to install this version. (#933)
  • mflux commands no longer crash at startup with Pillow 13 (ImportError: cannot import name '_IntegralLike' from 'numbers'). (#890)

New models

  • New model: FIBO 2 from Bria (Fibo 2.0 Dev and Fibo 2.0 Edit Turbo) with mflux-generate-fibo2 and mflux-generate-fibo2-edit. Text-to-image from JSON captions or short descriptions, editing of one to five images with optional masks, rendered text, LoRA and quantization. (#924)
  • New model: Anima from circlestone-labs (Turbo, Aesthetic and Base) with mflux-generate-anima. It loads the ComfyUI files of circlestone-labs/Anima and supports kohya LoRAs, -q 4 to 8, --compute-precision float16 and mflux-save. (#931)
  • New model: MOSS-Image-SFT from OpenMOSS, with mflux-generate-moss-image. It runs fully in MLX, including its Qwen3.5-9B text encoder, and supports quantization and mflux-save. (#914)
  • mflux-generate-iris runs Iris-3B, a 3B text-to-image model that generates the pixels directly (no VAE): Turbo in 4 steps (--model iris-3b, the default) and the base model (--model iris-3b-base). (#899)

Improved

  • FIBO 2: mflux-generate-fibo2 also runs Edit Turbo, and both FIBO 2 commands take --expand-prompt (writes the JSON caption with FIBO-vlm), --cfg-end and --step-cache-ratio, check a JSON caption before the model loads and decode the VAE in low-memory strips. (#934)
  • mflux-generate-moss-image now takes --lora and keeps LoRAs as runtime layers, so step-distilled LoRAs keep all of their update. --model moss-image-base runs MOSS-Image-Base. (#929)
  • mflux-generate-qwen-2.1 and mflux-generate-qwen-2.1-edit have a new --small-text-encoder flag. It uses Qwen3.5-0.8B and the zen-image-edit adapter instead of Qwen3-VL-8B, and downloads about 2.1 GB instead of 17.5 GB. (#906)
  • FLUX 3, FLUX.2 Klein, ERNIE-Image, Z-Image, Lens and Ideogram 4 now decode the VAE in bf16 row strips. The decode needs approximately 1.6 GB at 1024×1024 instead of 7–14 GB. --vae-tiling no longer shifts the colours. --vae-full-precision uses the earlier full-image decode. (#910)
  • mflux-generate-flux2 and mflux-generate-flux2-edit have a new --small-text-encoder flag for FLUX.2-klein-4B. It uses Qwen3-0.6B and an adapter instead of the 4B text encoder, so the model needs less memory. (#896)
  • mflux-generate-flux2 and mflux-generate-flux2-edit have a new --small-decoder flag. It decodes FLUX.2 klein images with the small VAE decoder from Black Forest Labs, which is faster and needs less memory. (#897)
  • mflux-save --hf-symlink [USERNAME] adds a Hugging Face cache entry that links to the saved files, so --model USERNAME/<folder> loads the saved model by repo id. Super simple mflux-save --model Qwen/Qwen-Image-2.1 -q 5 now works with auto-naming - requires env var MFLUX_MODELS_DIR (#903)
  • Published mflux-community FLUX 3 repos now resolve by name alone: added hyphenated aliases (flux-3-image-klein, flux-3-image-klein-base) so repo names infer the correct base model instead of raising "Cannot infer base_model". (#909)

Fixed

  • Saved Krea 2 checkpoints on Hugging Face, like the mflux-community/krea-2-* repos, now load by repo id; they downloaded without their transformer and failed. A file passed as --model now gets an error that says so on Krea 2, FLUX, FLUX.2 and Z-Image. (#873)
  • FLUX.2 klein: --config-from-metadata no longer turns on the small text encoder when a sidecar records "small_text_encoder" as a string such as "false"; it reports an error instead. (#905)
  • Fix the Z-Image ControlNet mlsd preprocessor crashing on OpenCV 5, and allow opencv-python 5. (#901)

Changed

  • mflux-check validates local MFlux and Safetensors model packages without downloads. Use --fix to restore missing MFlux shards from a compatible local cache snapshot. (#877)

Docs

  • The pip example in docs/plugins.md now installs mflux-teacache. Before, pip install mflux-<name> failed in a shell because the shell reads < and > as redirection. (#886)
  • Added mfluxible, an HTTP API server with a browser harness, MCP tool and OpenAI-compatible endpoints, to the community applications list in the README. (#885)

Internal

  • CI now runs the test and model-registry jobs on GitHub's macos-15 runners, ahead of the macos-14 image's retirement on November 2, 2026. (#887)
  • FLUX 3 fast tests now compare distilled and Base transformers with fixed FP32 and BF16 reference tensors, including image conditioning and timestep rules. (#883)
  • FLUX 3 contributors can record phase timings, MLX peaks across resets and RSS, with a reproducible 32 GB q4 baseline. (#894)

Don't miss a new mflux release

NewReleases is sending notifications on new releases.