0.20.0
Changed
- Fix Z-Image producing a different image for the same seed when other code (a preview callback, another library) had run the model earlier in the same process. (#715)
mflux-generate-lens --low-ramno longer crashes with an AttributeError after the model has loaded. (#725)- In-loop callbacks can opt in to the model's per-step predicted image: declare a
denoisedparameter incall_in_loopand Krea 2 passes it alongside the noisy latents. Callbacks with the existing signature are unaffected; other models pass nothing yet. (#729) - The
mflux_versionrecorded in image metadata and training checkpoints is mflux's own version again when mflux is installed as a dependency of another project; it used to report the host project's version. (#728) (#732) mflux-generate-z-image-controlnet:--controlnet-strengthnow defaults to 1.0, so the strength given in each--controlspec is the scale the model sees (it used to be multiplied by 0.4, and a 0.85 control ran at 0.34, too weak to follow the hint). The Z-Image README now documents the ControlNet command. (#721) (#733)--vae-tilingand--low-ramnow tile the final VAE decode on Krea 2 and Boogu, where the flag was accepted and ignored, cutting the decode at 1024 px from about 7 GB to about 3 GB. FLUX.2 Klein, Klein edit, Lens and Ideogram 4 tile only when you ask with--vae-tiling: their shared decoder takes its normalisation statistics per tile, which shifts colour between tiles, so low-RAM leaves them untiled. (#735)- New model: Qwen-Image-2.1 (
Qwen/Qwen-Image-2.1) — 7.1B single-stream block-causal DiT with a Qwen3-VL text encoder and a 64-channel causal VAE. Available asmflux-generate-qwen-2.1with txt2img, img2img, optional true CFG, and-q 8/-q 4quantization (text encoder stays bf16). 40-step guidance-free sampling by default. (#736) - n/a for version bump PRs (#738)