nano-banana-2 still works but runs as 2.1: check the stored job id

Sume retired Nano Banana 2: google/nano-banana-2 runs as Nano Banana 2.1 and the job stores the 2.1 id. A Python check and what you pay.

5 min readSume
All posts

Calling google/nano-banana-2 or nano-banana-2 on Sume still works, but the request runs as Nano Banana 2.1 (google/nano-banana-2.1) and the job stores the 2.1 id. Nano Banana 2 is retired in Sume's catalog, so you are priced at the 2.1 rows, which on 2026-10-09 are $0.075 at 0.5K, $0.10 at 1K, $0.15 at 2K and $0.20 at 4K.

What Sume documents

The Image API docs list Nano Banana 2 as a retired model. The old ids keep working as aliases, the job records the 2.1 id, and the catalog no longer lists the retired id. The response model field echoes the id you sent, so it will still say nano-banana-2 even though 2.1 ran. The job record is where the real id lives.

This matters for cost tracking. If your logs key on the echoed model, your old rows will keep saying Nano Banana 2 while every call is billed at the 2.1 price.

Nano Banana 2.1 rows on Sume, as of 2026-10-09
TierPer image
0.5K$0.075
1K$0.10
2K$0.15
4K$0.20

Check it yourself

Submit with mode: async so you get a job envelope, then read the job. This script prints the id the job stored.

import os, time, requests

H = {"Authorization": f"Bearer {os.environ['SUME_API_KEY']}"}
B = "https://api.sume.com"
r = requests.post(
    f"{B}/v1/images",
    headers=H,
    json={"model": "nano-banana-2", "prompt": "a paper boat on a pond",
          "resolution": "1K", "mode": "async"},
    timeout=60,
)
r.raise_for_status()
env = r.json()["data"]
print("requested: nano-banana-2")
for _ in range(30):
    s = requests.get(env["status_url"], headers=H, timeout=30).json()
    job = s.get("data", {}).get("job", s.get("data", s))
    if job.get("status") in ("completed", "failed", "cancelled"):
        print("stored:", job.get("model"), job.get("status"))
        break
    time.sleep(2)

What to change

Replace the old id with google/nano-banana-2.1 in config so logs, dashboards and budgets name the model that actually runs. Sume also accepts the bare Image Router ids (such as nano-banana-2.1) as aliases for the org/slug form. If the response shape of the status call differs from what the script assumes, print s and read the job from the documented envelope in Jobs and results.

Cost tracking after the swap

If your dashboards were built when Nano Banana 2 was a separate row, the data will show a model that no longer exists in the catalog. Group by the stored job model, not the echoed one, and expect the 2.1 prices going forward.

Compare a week of spend before and after you made the change. For 1,000 images at 2K on the 2.1 row the bill is 1,000 x $0.15 = $150.00, so if your records show a different number for that volume, the route or tier differs from what you think.

Sources

Related posts

More in Models

All Models posts

Written by Sume