I'll add the new output resolutions and other features ASAP. However, looking at the pricing (https://ai.google.dev/gemini-api/docs/pricing#standard_1), I'm definitely not changing the default model to Pro as $0.13 per 1k/2k output will make it a tougher sell.
> The model generates up to two interim images to test composition and logic. The last image within Thinking is also the final rendered image.
Maybe that's partially why the cost is higher: it's hard to tell if intermediate images are billed in addition to the output. However, this could cause an issue with the base gemimg and have it return an intermediate image instead of the final image depending on how the output is constructed, so will need to double-check.
>> - Put a strawberry in the left eye socket.
>>- Put a blackberry in the right eye socket.
>> All five of the edits are implemented correctly
This is a GREAT example of the (not so) subtle mistakes AI will make in image generation, or code creation, or your future knee surgery. The model placed the specified items in the eye sockets based on the viewers left/right; when we talk relative in this scenario we usually (always?) mean from the perspective of the target or "owner". Doctors make this mistake too (they typically mark the correct side with a sharpie while the patient is still alert) but I'd be more concerned if we're "outsourcing" decision making without adequate oversight.
There's a classic well-illustrated book, _How to Keep Your Volkswagen Alive_, which spends a whole illustrated page at the beginning building up a reference frame for working on the vehicle. Up is sky, down is ground, front is always vehicle's front, left is always vehicle's left.
Sounds a bit silly to write it out, but the diagram did a great job removing ambiguity when you expect someone to be laying on the ground in a tight place looking backwards, upside down.
Also feels important to note that in the theatre, there is stage-right and stage-left, jargon to disambiguate even though the jargon expects you to know the meaning to understand it.
It doesn't affect your point but technically since the IAU are insane, exoplanets aren't technically planets and Jupiter is the largest planet in the universe.
Seems like you're making a judgment based on your own experience, but as another commenter pointed out, it was wrong. There are plenty of us out there who would confirm, because people are too flawed to trust. Humans double/triple check, especially under higher stakes conditions (surgery).
Heck, humans are so flawed, they'll put the things in the wrong eye socket even knowing full well exactly where they should go - something a computer literally couldn't do.
“People are too flawed to trust”? You’ve lost the plot. People are trusted to perform complex tasks every single minute of every single day, and they overwhelmingly perform those tasks with minimal errors.
Extremely talented, studied, hard working humans perform complex tasks all the time, and never with 100% win rate over all time.
In other examples, almost every single person has had the experience of saying, "turn right", "oh I meant left sorry, I knew it was right too, I don't know why I said left". Even the most sophisticated humans have made this error. A computer would never.
Humans are deeply flawed and after pre-selection require expensive training to perform complex tasks at a never perfect success rate.
Intelligence in my book includes error correction. Questioning possible mistakes is part of wisdom.
So the understanding that AI and HI are different entities altogether with only a subset of communication protocols between them will become more and more obvious, like some comments here are already implicitly telling.
If the instructions were actually specific, e.g. Put a blackberry in its right eye socket, then yes, most humans would know what that meant. But the instructions were not that specific: in the right eye socket
If you asked me right now what the biggest known planet was, I'd think Jupiter. I'd assume you were talking about our solar system ("known" here implying there might be more planets out in the distant reaches).
> when we talk relative in this scenario we usually (always?) mean from the perspective of the target or "owner".
I dunno... I feel pretty confident 99% percent of people would do the same thing, and put the strawberry in the eye socket to our left, the viewer's.
You really have to be trained explicitly to put yourself in the subject's shoes, and very few people are. To me, the model is correctly following the instructions most people will mean.
And it's not even incorrect. "The left x" is linguistically ambiguous. If you say "the left flower", it's obviously the flower to our left. So when you say "the left eye socket", the eye socket to our left is a valid interpretation. If they had said their or its left eye socket, then it's more arguable that it must be from the subject's side. But that's not the case in this example.
I don't know if that's so much a mistake as it is ambiguity though? To me, using the viewer's perspective in this case seems totally reasonable.
Does it still use the viewer's perspective if the prompt specifies "Put a strawberry in the _patient's left eye_"? If it does, then you're onto something. Otherwise I completely disagree with this.
I think "the left eye" in this particular case (a photo of a skull made of pancake batter) is still very slightly ambiguous. "The skull's left eye" would not be.
“The right socket” can only be implied one way when talking about a body just like you only have one right hand despite the fact that it is on my left when looking at you.
If you are facing a wall-plate with two power sockets on it side by side and you are telling someone to plug something in, which one would be "the right socket", and which would be "the left socket"?
If above the wall-plate is a photo of a person and you are someone to draw a tattoo on the photo, which is "the right arm" and which is "the left arm"?
ETA: and if I were telling someone which socket to plug something into, it would absolutely be from the prospective of the person doing the plugging, not from inside the wall.
"Right hand" is practically a bigram that has more meaning, since handedness is such a common topic.
Also context matters, if you're talking to someone you would say "right shoulder" for _their_ right since you know it's an observer with different vantage point. Talking about a scene in a photo "the right shoulder" to me would more often mean right portion of the photo even if it was the person's left shoulder.
That was a big problem when I was toying around the original Nano Banana. I always prompted the perspective of the (imaginary) camera, and yet NB often interpreted that as that of the target, giving no way to select the opposite side. Since the selected side is generally closer to the camera, my usual workaround is to force the side far from the camera. And yet that was not perfect.
In case anyone missed Max's Nano Banana prompting guide, it's absolutely the definitive manual for prompting the original Nano Banana... and I tried some of the prompts in there against Nano Banana Pro and found it to be very applicable to the new model as well.
In my experience multimodal models like gpt-image-1/nano/etc. don't really require a lot of prompt trickery [1] like the good ol' days of SD 1.5.
To be clear, that's a good thing though. It's also one of the reasons why "prompt engineering" will become less relevant as model understanding goes up.
[1] - Unless you're trying to circumvent guardrails
How do you know Simon? It's certainly a blog post, with content about prompting in it. If your goal is to make generative art that uses specific IP, I wouldn't use it.
I was going off the footnote of "Image input is set at 560 tokens or $0.067 per image" but 560 * 2 / 1_000_000 is indeed $0.0011 so I have no idea where the $0.067 came from. Fixed, and this is why I typically don't read docs without coffee.
I just pushed gemimg 0.3.2 which adds image_size support for Nano Banana Pro, and I ran a few tests on some of the images in the blog. In my testing, Nano Banana Pro correctly handled most of the image generation errors noted in my blog post: https://x.com/minimaxir/status/1991580127587921971
- Fibonacci magnets: code is correctly indented and the syntax highlighting atleast tries giving variables, numbers, and keywords different colors.
- Make me a Studio Ghibli: actually does style transfer correctly, and does it better than ChatGPT ever did.
- Rendering a webpage from HTML: near-perfect recreation of the HTML, including text layout and element sizing.
That said, there may be regressions where even with prompt engineering, the generated images which are more photorealistic look too good and land back into the uncanny valley. I haven't decided if I'm going to write a follow up blog post yet.
The system prompt hacking trick doesn't work with Nano Banana Pro unfortunately.
> "I...worked on the detailed Nano Banana prompt engineering analysis for months"
Early in four decades of tech innovation I wasted time layering on fixes for clear deficiencies in a snowballing trend's tech offerings. If it's a big enough trend to have well funded competitors, just wait. The concern is likely not unique, and will likely be solved tomorrow.
I realized it's better to learn adaptive/defensive techniques, giving your product resilience to change. Your goal is that when surfing the change waves you can pick a point you like between rock solid and cutting edge and surf there safely.
Invest that "remediate their thing" time in "change resilience" instead – pays dividends from then on. It can be argued your tool is in this camp!
// Getting better at this also helps you with zero days.
yes they are pricey but the price will go down over time and then you can switch. vlm.run got access as early customers and are releasing it for free with unlimited generations(till they are bottlenecked by google). some results here combining image gen(Nano Banana pro) with video gen(Veo 3.1) in a single chat https://chat.vlm.run/c/1c726fab-04ef-47cc-923d-cb3b005d6262. This combined the synth generation of a person and made the puppet dance. Quite impressive
> The model generates up to two interim images to test composition and logic. The last image within Thinking is also the final rendered image.
I've been using a bespoke Generative Model -> VLM Validator -> LLM Prompt Modifier REPL as part of my benchmarks for a while now so I'd be curious to see how this stacks up. From some preliminary testing (9 pointed star, 5 leaf clover, etc) - NB Pro seems slightly better than NB though it still seems to get them wrong. It's hard to tell what's happening under the covers.
It's written to mimic that style but without meaning that the work has been done for them, just that there is new work to be done, making it an odd perhaps unconscious reference
this is pretty cool!
have you found success with image editing in nano banana - i mean photoshop-like stuff.
from your article i seem to wonder if nano banana is good for editing versus generating new images.
That IS the use-case for Nano Banana (as opposed to pure generative like Imagen4).
In my benchmarks, Nano-Banana scores a 7 out of 12. Seedream4 managed to outpace it, but Seedream can also introduce slight tone mapping variations. NB is the gold standard for highly localized edits.
Comparisons of Seedream4, NanoBanana, gpt-image-1, etc.
I tried your "Remove all the brown pieces of candy from the glass bowl." prompt against Nano Banana Pro and it converted them to green, which I think is a pass by your criteria. Original Nano Banana had failed that test because it changed the composition of the M&Ms.
Thanks Simon - I'm in the middle of re-running all my prompts through NB Pro at the moment. Nice to know it's already edged out the original. It also passed the SHRDLU test (swapping colored blocks) without cheating and just changing the colors. I'll have an update to the site shortly!
EDIT: Finished the comparisons. NB Pro scored a few more points than NB which was already super impressive.
Nano Banana Pro should work with my gemimg package (https://github.com/minimaxir/gemimg) without pushing a new version by passing:
I'll add the new output resolutions and other features ASAP. However, looking at the pricing (https://ai.google.dev/gemini-api/docs/pricing#standard_1), I'm definitely not changing the default model to Pro as $0.13 per 1k/2k output will make it a tougher sell.EDIT: Something interesting in the docs: https://ai.google.dev/gemini-api/docs/image-generation#think...
> The model generates up to two interim images to test composition and logic. The last image within Thinking is also the final rendered image.
Maybe that's partially why the cost is higher: it's hard to tell if intermediate images are billed in addition to the output. However, this could cause an issue with the base gemimg and have it return an intermediate image instead of the final image depending on how the output is constructed, so will need to double-check.