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.

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.
| Tier | Per 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
- Nano Banana 2 to 2.1 on Google: 4K falls from $0.151 to $0.113
Google's price per image falls about 50% at 1K and 2K and 25% at 4K from Nano Banana 2 to 2.1. Sume runs nano-banana-2 requests as 2.1 at its own 2.1 rates.
- Nano Banana Pro 4:5 at 1K is 928x1152, not 1080x1350: the 1.16x gap
Sume's docs say Nano Banana Pro sends 4:5 at about 928x1152 at 1K, and exact 1080x1350 comes from a post-step. That is 1.16x wide and costs $0.1875 per image.
- Nano Banana Pro vs 2.1 on Sume: 1.25x at 2K, 1.875x at 1K and 4K
Nano Banana Pro costs 1.875 times Nano Banana 2.1 at 1K and 4K on Sume but only 1.25 times at 2K ($0.1875 vs $0.15). A 200-image comparison at each tier.
- Nightly read-only MCP audit: Haiku 5.5 vs Mistral Large 4 cost
A 30-turn nightly audit over Sume's read-only MCP tools costs $0.02175 on Haiku 5.5 and $0.27615 on Mistral Large 4, about 12.7x more, on stated assumptions.
Written by Sume