Fixes Qwen Image Edit saving where VisionTransformer weights were omitted.
Release history
mflux releases
MLX native implementations of state-of-the-art generative image models
All releases
42 shown
Fixed Z-Image PEFT/ModelScope LoRA key mapping with `.default` tensor variants for correct adapter resolution.
FLUX.2 edit guidance metadata now correctly preserves and reports actual guidance values instead of always showing 1.0.
Fixed tokenizer cache resolution for partially cached Hugging Face repositories.
Fixed Hugging Face tokenizer failures by declaring protobuf as a dependency for minimal installs.
- FIBO Edit image-editing support
- Remove-background workflow for FIBO
- Training image area-based scaling
Full changelog
🎨 New Model Support
- FIBO Edit: Add image-editing support for the FIBO model family.
- FIBO Edit remove-background workflow: Support the dedicated remove-background edit path for FIBO.
✨ Improvements
- Training image scaling: Scale training images by area rather than longest side for more consistent preprocessing.
- MLX 0.31.x: Allow MLX 0.31.x in dependency ranges.
- FLUX.2 LoRA mapping: Expand LoRA key mapping coverage for FLUX.2.
🐛 Bug Fixes
- Training optimizer state: Evaluate optimizer state after each training step as intended.
- Local tokenizer loading: Fix loading tokenizers from local paths.
- Dynamic-resolution image edit: Restore correct behavior for image edit when using dynamic resolution.
👩💻 Contributors
- @filipstrand
- @icelaglace
- @TheOrsa
- @waldheinz
Minor fixes and improvements.
Full changelog
✨ Improvements
- Broader LoRA compatibility for FLUX.2 and Z-Image: Expand LoRA mapping coverage so more adapter key layouts resolve cleanly for FLUX.2 and Z-Image models.
👩💻 Contributors
- @filipstrand
- Local-model LoRA training
Full changelog
✨ Improvements
- Local-model LoRA training: Allow LoRA training to work when the base model is supplied from a local path, including the FLUX.2 and Z-Image training adapters.
📝 Documentation
- Distilled-model step defaults: Clarify CLI guidance so examples prefer model default inference steps unless the user intentionally overrides them.
👩💻 Contributors
- @waldheinz
- FIBO-Lite support
Full changelog
🎨 New Model Support
- FIBO-Lite support: Add support for the FIBO-Lite model variant.
🐛 Bug Fixes
- FLUX.2 edit downsampling extents: Fix downsampling in FLUX.2 edit paths so image extents are preserved.
👩💻 Contributors
- @filipstrand
- SeedVR2 7B support
Full changelog
✨ Improvements
- SeedVR2 7B support: Add support for the SeedVR2 7B upscaler variant.
- Qwen-Image parity with diffusers: Align Qwen-Image behavior more closely with the diffusers reference implementation.
- FIBO scheduler default: Default FIBO
generate_imagetoflow_match_euler_discrete.
🧰 DX & Maintenance
- Repo tooling cleanup: Remove unused Cursor command wrappers from the repository.
- SeedVR2 7B test coverage: Add image test support for the new SeedVR2 7B path.
👩💻 Contributors
- @ciaranbor
- @icelaglace
- @filipstrand
- --image-path and --image-strength for FLUX.2
- --mlx-cache-limit-gb option
Full changelog
✨ Improvements
- FLUX.2 Klein img2img CLI parity: Add
--image-pathand--image-strengthtomflux-generate-flux2, enabling init-image driven generation with the same CLI pattern used in other generators. - MLX cache control: Add
--mlx-cache-limit-gbto cap MLX cache usage without requiring full--low-rammode.
📝 Documentation
- Common CLI docs: Document
--mlx-cache-limit-gbbehavior and usage in the shared model README.
👩💻 Contributors
- @terribilissimo
- @icelaglace
Fixed M1/M2 inference performance regression by disabling mx.compile prediction wrappers for Z-Image and FLUX.2.
- Rewritten common training stack for multiple model families
- Support for flux2-klein-base-4b and flux2-klein-base-9b models
- Z-Image model support and performance tuning
- SeedVR2 directory input
Full changelog
✨ Improvements
- SeedVR2 directory input: Allow passing a folder to
--image-pathto upscale all images inside.
🧰 DX & Maintenance
- Model porting guidance: Require model README entries in the porting workflow.
📝 Documentation
- SeedVR2 usage: Document directory upscaling with CLI and Python API examples.
- CLI docs: Add Python API sections and improve Z-Image Turbo entry-point links.
Minor fixes and improvements.
Full changelog
✨ Improvements
- Flux2 LoRA aliasing: Add key aliases for
base_modelprefixes to improve LoRA resolution across configs.
📝 Documentation
- Agent guidance: Clarify skill references for Cursor agents.
Fixed errors when using local FLUX.2-klein-9B paths in mflux-save and mflux-generate-flux2.
### 🐛 Bug Fixes - **Flux2 edit (low-ram)**: Normalize tiled VAE latents to 4D before patchifying to avoid shape errors. ---
Minor fixes and improvements.
Full changelog
🐛 Bug Fixes
- PyPI metadata: Removed invalid architecture classifier that blocked uploads (
Architecture :: AArch64).
- Flux2 Klein (4B/9B) MLX port
- mflux-generate-flux2 and -edit commands
- Experimental CUDA support
Full changelog
🎨 New Model Support
- Flux2 Klein (4B/9B): Full MLX port of Flux2 Klein (including multi-image editing support).
- New command:
mflux-generate-flux2for Flux2 Klein image generation. - New command:
mflux-generate-flux2-editfor Flux2 Klein image editing.
🔧 Improvements
- Qwen3-VL shared module: Extracted
qwen3_vlintomodels/common_models/for reuse across model families (Flux2 and Fibo etc). - Experimental CUDA support: Added initial CUDA backend support as an experimental feature.
- Test Infrastructure: Image tests are pinned to MLX v0.30.3.
📝 Documentation
- README reorganization: Reorganized the main README for better structure and readability.
- Enhanced IPTC & XMP support
- Robust metadata extraction
Full changelog
📊 Improved Metadata Handling
- Enhanced IPTC & XMP Support: Significant improvements to metadata reading and writing, ensuring better compatibility with professional image editing tools.
- Robust Metadata Extraction: Refined logic for extracting generation parameters from previously generated images.
- New Metadata Tests: Added comprehensive test suite for IPTC metadata building and original image info utilities.
🤖 DX & Maintenance
- Cursor AI Workflows: Introduced standardized Cursor commands and agent rules in
.cursor/for improved development consistency and automation. - SeedVR2 & ControlNet Tweaks: Minor refinements to SeedVR2 and ControlNet model implementations.
- Documentation Updates: Updated README and added AGENTS.md for better contributor onboarding.
- LAB histogram color matching
- --softness parameter for upscaling
Full changelog
🔧 SeedVR2 Improvements
- Enhanced Color Correction: Implemented precise LAB histogram matching with wavelet reconstruction for superior color consistency between input and upscaled images.
- Configurable Softness: Added a new
--softnessparameter (0.0 to 1.0) to control input pre-downsampling, allowing for smoother upscaling results when desired. - RoPE Alignment: Fixed RoPE dimension mismatch (increased to 128) to perfectly match the reference 3B transformer architecture.
🤖 DX & Maintenance
- Updated
.cursorrules: Added standard procedure for test output preservation and release management. - Updated Test Infrastructure: Updated SeedVR2 reference images and fixed dimension-related test failures.
- SeedVR2 Diffusion Upscaler support with `mflux-upscale-seedvr2` command
- Global VAE Tiling reducing memory for high-resolution generation
- Low-RAM mode automatically activates VAE tiling across all model families
LoRA save bloat prevention prevents shard explosion when saving quantized models with multiple LoRAs.
- Z-Image LoRA format support
Full changelog
✨ Improvements
- Better error messages for multi-file LoRA repos: When a HuggingFace LoRA repo contains multiple
.safetensorsfiles, the error message now displays copy-paste ready options instead of a raw list - Z-Image LoRA format support: Added support for Kohya and ComfyUI LoRA naming conventions, enabling compatibility with more community LoRAs.
Fixed FIBO VLM tokenizer chat template loading with transformers v5.
- `--path` flag removed for loading models, use `--model` instead
- Simplified `generate_image()` API: `Config` and `RuntimeConfig` classes removed
- LoRA API simplified: removed `lora_names`, `lora_repo_id` parameters and CLI arguments
- Z-Image Turbo support with new `mflux-generate-z-image-turbo` command
- Unified `--model` argument accepting local paths, HuggingFace repos, or names
- Scale factor dimensions for img2img commands (e.g., `2x`, `0.5x`, `auto`)
- Common module reorganization: shared functionality moved to models/common/
- Bria FIBO support with Generate, Refine, Inspire modes
- VLM-guided JSON prompting expansion
- New FIBO commands: mflux-generate-fibo, mflux-refine-fibo, mflux-inspire-fibo
- Qwen Image requires dedicated mflux-generate-qwen command; mflux-generate now Flux-only
- Qwen Image Edit model support
- Multiple image editing with --image-paths
- Dedicated mflux-generate-qwen command
- Flux modules moved from mflux.flux.* to mflux.models.flux.*
- Common utilities moved to mflux.models.common.*
- Qwen Image text-to-image model support
- XMP/IPTC metadata support with mflux-info command
- Scheduler interface abstraction for custom samplers
- 5-bit quantization support
- FLUX.1 Krea [dev] model support
- Pre-quantized FLUX.1 Krea and Kontext models on Hugging Face
# MFLUX v.0.9.3 Release Notes ### 😖 Revert "Offline Resilience" change On a "cold start" where user has not previously downloaded the requested model, the workflow does not successfully request the download of all the expected files, blocking the image generation workflow for f
Cache-first model loading improves resilience in offline or unstable network environments.
Inpaint masking tool now supports ellipse, rectangle, and free-hand shapes with eraser and undo/redo.
- FluxInContextFill renamed to Flux1InContextFill
- FluxConceptFromImage renamed to Flux1ConceptFromImage
- FLUX.1 Kontext model support with image-guided generation
- Scale factor support for upscaling (2x, 1.5x, auto)
- ZSH shell completions for all CLI commands
- Flux1InContextLora renamed to Flux1InContextDev
- Module moved from mflux.community.in_context_lora to mflux.community.in_context
- CatVTON virtual try-on capabilities (experimental)
- IC-Edit natural language image editing (experimental)
- Stdin and file-based prompt support