Skip to content
Go back

Nano Banana Is Eating Its Own Images

By KingPin 14 min read
Nano Banana Is Eating Its Own Images
Contents

Two Ways Nano Banana Wrecks Your Image, Only One Of Which Will Actually Ruin Your Week

People treat “Nano Banana’s image quality tanked” as one problem. It’s two, and they behave nothing alike. One is an acute service regression: something breaks on Google’s servers, a bunch of people notice within hours, and Google fixes it. That happened in June 2026 and it was over in about fifteen hours. The other is generational loss from iterative editing: a permanent, by-design consequence of how these models handle a follow-up edit. It is not a config error anybody can roll back.

The acute kind is loud and gets forum threads with URGENT in the title. The permanent kind is quiet, shows up three or four edits into a session you thought was going fine, and you can’t wait it out, file a bug report, or check Google’s status page for it. If you only remember one thing from this article, remember that the second one is the problem that will actually cost you an evening.

The Current Lineup, Because The Names Keep Changing

Quick orientation, because Google renames these every few months and half the advice online still uses last year’s names.

Nano Banana Pro is Gemini 3 Pro Image (API id gemini-3-pro-image). It’s the premium tier: best world knowledge, generates up to 4K, and produces interim “thought images” behind the scenes before it hands you a final result. Nano Banana 2 is Gemini 3.1 Flash Image (gemini-3.1-flash-image), announced February 26, 2026. It’s the generalist workhorse, also 4K capable, and the best of the three at handling multiple reference images in one request (Google’s docs put it at up to 10 objects and 4 characters per call, while Gemini 3 Pro Image tops out at 14 reference images total). Nano Banana 2 Lite is Gemini 3.1 Flash Lite Image (gemini-3.1-flash-lite-image), the cheap tier. Google’s own docs say it straight: Flash Lite is “not optimized for multiple reference inputs or multi-turn sequential editing.” If you’re chaining edits, that’s not the model to use.

The original Nano Banana, the one that kicked this whole naming mess off in August 2025, is gemini-2.5-flash-image. It was not affected by anything in the June 2026 incident below, and it shuts down October 2, 2026, so don’t start anything new on it.

The Generation Death Spiral (This Is The One That’ll Get You)

Here’s what actually happens when you ask Nano Banana to edit an image instead of generate a new one. It isn’t opening a layered file and moving a shape around. The model doesn’t hold your original pixels anywhere. What it has is its own previous output, the image it already generated, and to edit it, the model re-reads the image it already generated, reasons about your new instruction, and generates a new image from scratch. Google doesn’t publish the internals, but the API shape and the billing both behave that way.

Every one of those round trips is lossy. The model reinterprets what it sees rather than copying it. Small errors from the last pass get baked into the next one, and ambiguous detail gets smoothed over instead of preserved. Do that five or six times and you’re not looking at your original image with some tweaks. You’re looking at the sixth link in a chain of redrawings, each one working from a slightly worse copy of the last.

You can see this in the API itself. A follow-up edit is a brand new interactions.create call carrying a previous_interaction_id. There’s no diff, no layer, no partial update. It’s a fresh generation every single time, and it’s billed as one:

generate.py
from google import genai
import base64
client = genai.Client()
interaction = client.interactions.create(
model="gemini-3-pro-image",
input="A high-resolution studio photograph of a ceramic coffee mug on polished concrete",
response_format={
"type": "image",
"mime_type": "image/jpeg",
"aspect_ratio": "16:9",
"image_size": "2K",
},
)
with open("mug.jpg", "wb") as f:
f.write(base64.b64decode(interaction.output_image.data))

Now the edit:

edit.py
interaction_2 = client.interactions.create(
model="gemini-3-pro-image",
input="Change the mug to matte black. Do not change any other elements of the image.",
previous_interaction_id=interaction.id,
response_format={"type": "image", "image_size": "2K"},
)

Look at that second call. There’s no field for “just recolor this region.” The model regenerates the entire frame with your instruction folded in, working from the compressed representation of the first image, not the pixels. Six edits means six full generations, six full encode-decode cycles, and six separate line items on your bill at Nano Banana Pro’s 2K rate of $0.134 each, as of September 2026. The cost structure says it plainly: the model starts over every time.

The symptoms follow a predictable order as edits stack up. High-frequency detail goes first: crisp edges and fine textures soften. Faces smear and distort next. Text degrades into approximations of letters. And instruction-following gets worse too, because by the fourth or fifth pass the model is interpreting an already-garbled source image before it can even start on your new request. In my own testing, the visible cliff usually lands around the third or fourth edit. That’s an observation from using the tool, not a benchmark number, so treat it as a working rule of thumb rather than a hard limit.

This is the failure mode that matters, because there’s no workaround for it beyond not doing it. Save your best version, start a new chat, upload that image as a fresh reference, and re-prompt. You reset the chain. There’s no setting, no model switch, and no amount of waiting that fixes an image that’s already three generations deep into its own decay.

The June 2026 Incident: The One Everyone Panicked About, Then Google Fixed In A Day

This is the acute regression, and it needs separating cleanly from the mess above because the two get conflated constantly online.

A Google incident notice, quoted in full by an affected customer on the AI Developers forum, describes an image quality problem affecting Gemini 3 Pro Image and Gemini 3.1 Flash Image between June 18, 2026 at 2:22 PM PT and June 19, 2026 at 5:47 AM PT, roughly fifteen hours. The symptom was blurry, low-detail output specifically at 2K and 4K resolutions. Native 1K generation was fine the whole time. The cause, per Google, was a configuration error, not a model regression or a training problem.

A forum thread on the Google AI Developers forum (thread 171870, opened June 19) has the sharper detail: people running gemini-3-pro-image-preview and gemini-3.1-flash-image-preview got heavily blurred, low-resolution results back, while gemini-2.5-flash-image kept working fine the whole time. People reproduced it directly in AI Studio, so it wasn’t an SDK bug on anyone’s end. Weirder still, the requested imageSize parameter appeared to be ignored: ask for 4K, get something that looked closer to 1K regardless.

A Google staffer, username Jon_Matthews and tagged as Google staff, replied on June 22: “This has been fixed as of Friday Jun 19th.” That lines up with the incident notice’s end time. Start to finish, this was a same-day problem. A configuration got flipped, 2K and 4K requests came back mush for about fifteen hours, people noticed fast because a lot of them hit it at once, and Google shipped a fix before most people finished reading the thread.

There is one loose end to name honestly. A separate forum thread opened August 6, 2026 asked Google to confirm whether some residual quality loss persisted in 2K generations made after the incident window closed. A Google staffer replied the same day asking for sample images and timestamps by direct message. That thread has had no further activity since, and it isn’t the only one still open. A July 27 thread about a pink and magenta color cast on 2K and 4K edits is live, with a Google staffer engaged and no fix; users there measured the tint compounding across successive edits. A September 16 thread reports the same magenta shift plus deformation on Gemini 3 Pro at 4K. None of those carry a Google incident notice. So if you’re generating 2K or 4K images today, in September 2026, you are not living through the June incident. That one is closed. The color cast reports are a separate, unanswered problem.

The broader pattern here (and there were earlier related reports too, a Gemini 3 Pro fidelity-drop thread opened May 9 and a Vertex AI Studio quality thread opened May 10) is that acute regressions are the kind of failure you can actually wait out. Lots of people hit them simultaneously, the forum lights up, Google’s engineers see the spike, and a config error gets rolled back. Compare that to generational loss, where nobody’s paged, nothing’s broken from Google’s point of view, and the only fix is you changing your workflow.

The Download Bug Is Actually Two Different Bugs

The download complaint deserves its own section because it wears the same “my image came out wrong” coat as the two problems above, but the mechanism is different again.

Failure mode one: you get the wrong image entirely. This was a UI-layer bug where the download button grabbed the wrong asset reference from the session, so hitting download on image B could hand you image A from an earlier prompt in the same chat. A late January 2026 update to a writeup from ThoughtMunchies reported the bug was no longer reproducible on freshly generated images, so it looks patched from Google’s side, though that’s a third-party observation, not an official fix announcement. The catch: if you generated images during the buggy window, they can still download wrong today, because the broken reference got baked into that chat’s history and isn’t going to fix itself retroactively.

The workaround, for this specific failure, still works because a good master image actually exists on Google’s CDN:

  1. Right-click the preview in chat and choose “Open image in new tab.”
  2. Find the size parameter at the end of the URL. It looks like s1024-rj, where s1024 caps the image to preview resolution.
  3. Replace it with s2752, reload the tab, then “Save Image As.”

The s parameter drives Google’s server-side resizing, so s2752 asks the CDN for the full-resolution master instead of the shrunk preview. This only helps when that master actually exists. It can’t manufacture detail the model never produced in the first place.

Failure mode two: the full-size export is a degraded regeneration, and this is the one I’ve hit myself. I built a clean UI mockup in Nano Banana. Sharp, legible text in the chat preview, exactly what I asked for. On full-size download, the heading “VIDEO ANALYTICS” came back as “1DEO ANALYTICS.” “Powered by” turned into “Bowered by.” A form field’s content changed to something else entirely. JPEG compression makes images blocky and soft. It does not invent new words or swap out a field’s content. Rewritten glyphs are the signature of a model regenerating an image from scratch. Whatever export path Nano Banana uses for full-size downloads runs the asset back through the model rather than serving you the file it already showed you in preview.

If you’re building anything through the API, skip the download UI entirely and take the base64 straight out of the response. No preview, no export step, no regeneration in between you and the model’s actual output.

Quota, Tiers, And Why “It Just Got Worse” Is Hard To Diagnose

One more source of confusion: Google’s own help page for Gemini Apps subscriber limits doesn’t publish a specific per-day image count. The language is deliberately vague: your limit “factor[s] in the complexity of your prompt, the models and features you use, and the length of your chat,” and it “refreshes every 5 hours until you reach your weekly limit.” A notice on that same page says the usage limits changed starting May 17, 2026.

Third-party sites will confidently tell you a number, something like 100 images a day on Pro. That’s not sourced from Google, and I’m not going to repeat a number Google never published as if it were fact. The honest answer is that the limit is compute-based and opaque, which is a worse answer but a true one.

The practical effect is that a session which starts sharp and craters an hour later can have a billing-tier cause instead of a model-quality cause, and there’s no indicator in the UI that tells you which one you’re looking at. If quality drops mid-session and you’ve been generating a lot in the last five hours, suspect the quota before you blame the model.

What To Actually Do

Write your full prompt before you generate anything: style, composition, color, mood, every element you care about, all in the first request. Your first generation is your best-quality output. Every edit after that is spending quality you already have.

Cap yourself at two or three edits on the same image. Need a bigger change past that point? Save your current best result, start a new chat, upload it as a fresh reference image, and prompt from there. That resets the encode-decode chain instead of extending it.

Don’t trust the in-chat download button blindly. Open the preview in a new tab and swap the s parameter for s2752 before saving, especially for anything generated a while back.

Use the API for anything that matters. You skip both download-path bugs completely, and as of today you’re not fighting the June regression either, since that one’s closed. You are still subject to generational loss on multi-turn edits, because that lives in the model, not the download path.

If a session degrades partway through, check the clock before you check the prompt. Compute-based quotas refresh every five hours, and a mid-session quality drop can be a tier change instead of a model problem.

Nano Banana Pro and Nano Banana 2 are strong models for a single, well-specified generation. They are not Photoshop, and they were never going to be. Treat every edit like it costs you something, because it does: money, and a slice of the image you started with. Your 2 AM self will thank you for stopping at edit two.

Common Questions

Is the June 2026 Nano Banana image blur still happening?

No. Google’s incident notice covers a roughly fifteen hour window on June 18 and 19, 2026, blames a configuration error, and states the issue is resolved. A Google staffer confirmed the fix on June 22. Separate color cast reports from July and September 2026 are still open, but they are a different problem.

Does editing an image in Nano Banana more than once reduce quality?

Yes. Every edit pushes the model’s own previous output back through an encode, reason, and decode cycle rather than patching the original pixels. That round trip is lossy each time, so small errors compound. Google’s docs flag Nano Banana 2 Lite as not built for multi-turn sequential editing, confirming repeated edits are a harder workload.

Does the Gemini API avoid Nano Banana’s image quality problems?

Partially. Pulling the base64 image straight from the API response skips the download-UI bugs entirely, including the wrong-image glitch and the mangled full-size export. Generational loss still applies: a follow-up edit is a new interactions.create call with previous_interaction_id, billed as a fresh generation, and it degrades exactly the way the consumer app does.

How many edits before Nano Banana’s image quality visibly drops?

Around the third or fourth edit, based on hands-on use rather than a published benchmark. The first two edits usually hold up fine. By the third or fourth, faces smear, textures soften, and text starts to garble. Google hasn’t published an edit-count threshold, so treat this as a working estimate and save your best version before pushing further.

Does starting a new chat reset Nano Banana’s image quality?

Yes, for generational loss specifically. Uploading a saved image as a fresh reference in a new chat gives the model a clean input rather than chaining off degraded output, resetting the encode-decode compounding. A new chat would not have helped during the June 2026 server-side blur, which lived in Google’s serving layer.


Share this post on:

Send a Webmention

Written about this post on your own site? Send a webmention and it'll show up above once verified.


Previous Post
Komodo MCP vs the Docker Socket
Next Post
IPv6 Dual-Stack: The Hard Parts

Discussion

Powered by Garrul . Sign in with GitHub or Google, or post anonymously.

Related Posts