Klein 9b is decent for image-to-image, but when used for pure generative purposes brings back SDXL levels of body horror (have some Gattica pianists).
If you can get past the annoying JSON structuring, Ideogram 4 is probably the best option in the open‑weights world right now for text2image purposes, and even scored higher than the original Nano-Banana.
For ref: Flux.2 scored 5, Ideogram4 scored 8, and gpt-image-2 scored 12 out of 15.
Comparison of Flux.2 [dev], Ideogram4, NB Pro, and gpt-image-2.
I use flux2.dev on my 5090 with a prompt upsampler (that I host on my 3080ti, it's been so long since I looked at it, its either some qwen or Mistral model). I use the upsampler to produce json structure based on this prompting guide: https://docs.bfl.ml/guides/prompting_guide_flux2
For being able to run on my 5090, it produces incredibly consistent and stable results that work for my use case so well, I find myself reaching for it over proprietary models.
I'm always interested to see objective comparisons though. It's clear from yours that flux lags. But the fact that I can use it locally over closed source sota models is very compelling (to me).
You've convinced me to checkout ideogram4 though!
I personally use Qwen3 8b LLM for this purpose, but I think that the KJ prompt builder node handles this out of the box in ComfyUI.