You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
FLUX.2 CLIs discarded all image metadata: both FLUX.2 CLIs called ImageUtil.save_image(...) without metadata=, so --metadata wrote a sidecar JSON containing literal null. They now route through GeneratedImage.save(...) like every other entry point. Cherry-pick of upstream #492, fix by @plz12345. (#36)
EXIF orientation is applied when loading images: ImageUtil.load_image ignored the EXIF Orientation tag, so most photos straight off a phone reached the model sideways. The model is conditioned on the rotated pixels, so edit variants produced wrong output rather than correctly-oriented output that needs a flip. exif_transpose now runs on both branches of load_image and strips the tag it applies, so a downstream save cannot double-rotate. Reported upstream as #495. (#37)
--steps 1 crashed FlowMatchEulerDiscreteScheduler: the linear spacing divides by (num_steps - 1), and guarding just that denominator moves the crash into _stretch_to_terminal. num_steps == 1 now returns the 1-step schedule the class's sibling paths already define, sigmas [1.0, 0.0]; every other step count is byte-identical, pinned by regression tests. Affected FLUX.2 Klein, FIBO, and Z-Image with guidance active. Reported upstream as #494. (#38)
✨ Improvements
CLIs warn when an option the model cannot honour is dropped: FLUX.1 reads --negative-prompt and discards it unused, Ideogram 4 accepts the flag without a parameter for it, Z-Image Turbo overrides an explicit --guidance to 0.0 and never encodes the negative, and Boogu accepts both and passes neither. The options stay accepted so existing scripts keep working; the drop is just no longer silent. Warnings key on the effective post-resolution behavior, including the omitted---guidance default (0.0, CFG disabled) on base Z-Image. Abbreviated long options (argparse prefix matching) are now rejected parser-wide. (#39)