Nano Banana 2
nano-banana-2Photos and scenes that follow the prompt closely, in 1K, 2K, and 4K, including panoramic and elongated aspect ratios.



- Price from
- $0.025
- Resolutions
- 1K, 2K, 4K
- Average time
- 34 s
- Success rate over 7 days
- 99 %
- Images over 7 days
- 35 thousand
- Updated
Couldn’t load the 7-day stats.
01Playground
Try Nano Banana 2
Prompt, reference images, aspect ratio, and resolution, all without code. The code of the same request is one button away.
02Pricing
Nano Banana 2 pricing
The official Google price and ours. No subscription: you pay from your balance only for successful images.
| Resolution | Official Google price | Rendergrid | Savings | For $10 |
|---|---|---|---|---|
| 1K | $0.067 | $0.025 | 62% | 400 images |
| 2K | $0.101 | $0.04 | 60% | 250 images |
| 4K | $0.151 | $0.06 | 60% | 166 images |
At Google’s official price: $670, savings of $420
From $1,000 per month—send a request and we’ll work out custom terms.
03Examples
Made with Nano Banana 2
Six images from this model, with their prompts. “Open in the playground” fills the prompt and parameters into the form.

A narrow evening street in an old town after rain, the signs clearly read: “Luga Coffee”, “Pharmacy 24”, “Books and Records”, wet asphalt reflecting the lights, photograph

Advertising product shot: a frosted glass bottle of water from a fictional brand called “Spring” in crushed ice, condensation drops, cold blue background, rim light

A spacious loft studio in the morning: brick wall, large windows, slanting sunbeams, a wooden desk with a laptop and plants, a bicycle by the wall, interior photograph

Portrait of a baker with flour on the apron taking a tray of baguettes out of the oven, warm oven light, steam, skin and fabric texture visible, documentary photograph

Strictly top-down view: on a gray concrete table, a cup of coffee, a croissant, round glasses, a notebook, keys, and wireless earbuds are neatly laid out separately from each other, nothing overlaps, soft daylight

Wide panoramic photograph of an evening waterfront: a row of cafes with warm lights, boats at the pier, reflections in dark water, blue twilight, nobody in the foreground
04API
One request, one image
POST /images/ responds with 202 and an ID. Get the result by polling GET /creations/ or with a webhook.
| Parameter | Type | What to pass |
|---|---|---|
modelrequired | string | nano-banana-2 |
promptrequired | string | What to draw: subject, style, lighting, text in the image. Up to 20,000 characters. |
resolution | string | 1K, 2K, or 4K. If omitted: 2K. |
aspect_ratio | string | 1:1 16:9 9:16 4:3 3:4 2:3 3:2 5:4 4:5 21:9 1:4 1:8 4:1 8:1, or auto |
image_file_ids | string[] | Up to 14 file IDs from POST /uploads, as reference images: PNG, JPEG, or WebP. For a text-only request, leave the field out. |
image_urls | string[] | Instead of files: from 1 to 14 public links to images. Don’t mix them with image_file_ids. |
webhook_url | string | An address for the event about completion or an error, instead of polling. |
X-Idempotency-Keyheader | string | Repeating a request with the same key won’t create a second request or a second charge. |
Pass an address in the webhook_url field and we’ll send a creation.completed or creation.failed event. Verify the signature with the secret from the portal, in the “Webhooks” section; the delivery log and a test send are there too.
curl https://api.rendergrid.io/ api/ public/ v1/ images/ generate \ -H "Authorization: Bearer $RENDERGRID_API_KEY" \ -H "Content-Type: application/json" \ -H "X-Idempotency-Key: 7b3e0c2a-0001" \ -d '{ "model": "nano-banana-2", "prompt": "A narrow evening street in an old town after rain, the signs clearly read: “Luga Coffee”, “Pharmacy 24”, “Books and Records”, wet asphalt reflecting the lights, photograph", "resolution": "1K", "aspect_ratio": "3:4" }' # then the status and links to the result curl https:// api.rendergrid.io/ api/ public/ v1/ creations/ 8f2c41a9-1710-4917-ae39-f3374ea1952c \ -H "Authorization: Bearer $RENDERGRID_API_KEY"
import os, time, requests API = "https://api.rendergrid.io/ api/ public/ v1" headers = {"Authorization": f"Bearer {os.environ['RENDERGRID_API_KEY']}"} job = requests.post(f"{API}/images/generate", headers=headers, json={ "model": "nano-banana-2", "prompt": "A narrow evening street in an old town after rain, the signs clearly read: “Luga Coffee”, “Pharmacy 24”, “Books and Records”, wet asphalt reflecting the lights, photograph", "resolution": "1K", "aspect_ratio": "3:4", }).json() # 202: {"id": "…", "status": "queued", "task_id": "…", "cost": 0.025} while True: c = requests.get(f"{API}/creations/{job['id']}", headers=headers).json() if c["status"] in ("completed", "failed"): break time.sleep(5) print(c.get("result_urls"))
const API = "https://api.rendergrid.io/ api/ public/ v1"; const headers = { Authorization: `Bearer ${process.env.RENDERGRID_API_KEY}`, "Content-Type": "application/json", }; const job = await fetch(`${API}/images/generate`, { method: "POST", headers, body: JSON.stringify({ model: "nano-banana-2", prompt: "A narrow evening street in an old town after rain, the signs clearly read: “Luga Coffee”, “Pharmacy 24”, “Books and Records”, wet asphalt reflecting the lights, photograph", resolution: "1K", aspect_ratio: "3:4", }), }).then((r) => r.json()); // 202: {"id": "…", "status": "queued", "task_id": "…", "cost": 0.025} let c; do { await new Promise((r) => setTimeout(r, 5000)); c = await fetch(`${API}/creations/${job.id}`, { headers }).then((r) => r.json()); } while (c.status === "queued" || c.status === "processing"); console.log(c.result_urls);
{
"id": "8f2c41a9-1710-4917-ae39-f3374ea1952c",
"status": "queued",
"task_id": "8f2c41a9-1710-4917-ae39-f3374ea1952c",
"cost": 0.025
}{
"id": "8f2c41a9-1710-4917-ae39-f3374ea1952c",
"status": "completed",
"result_urls": [
"https:// …"
]
}{
"id": "8f2c41a9-1710-4917-ae39-f3374ea1952c",
"status": "failed",
"error": "The image or prompt was rejected by the safety filter. Try a different image or rephrase the prompt.",
"failure": {
"type": "declined",
"code": "content_policy",
"retryable": false
}
}{
"error": {
"code": "ERR_INSUFFICIENT_BALANCE",
"message": "insufficient api wallet balance",
"details": { "required": 0.025, "available": 0.0 }
}
}05Description
What Nano Banana 2 can do
A Google model for generating and editing images: photos and scenes that follow the prompt closely. Ten standard aspect ratios and four elongated ones, 8:1, 4:1, 1:4, and 1:8, all in 1K, 2K, and 4K.

Four elongated aspect ratios: 8:1, 4:1, 1:4, and 1:8
Besides the ten standard aspect ratios, there are the wide strips 8:1 and 4:1 and the tall 1:4 and 1:8: website headers, banners, storefronts, vertical strips. All four are available in 1K, 2K, and 4K.
nano-banana-2 · 1K · 4:1 · $0.025

Signs you can read
Put the text you need in quotes: on the street scene above you can read “Luga Coffee”, “Pharmacy 24”, and “Books and Records”. Short lettering comes out more accurately than long.
nano-banana-2 · 1K · 3:4 · $0.025

More detail for print and large banners
4K gives you room in size: interiors, product shots, and wide compositions for print, large-format media, and shots that will be cropped.
nano-banana-2 · 4K · 16:9 · $0.06
Specifications and what to keep in mind
- Maker
- ID
nano-banana-2- Resolutions
- 1K, 2K, and 4K
- If omitted
- 2K · aspect ratio 1:1
- Reference images
- up to 14 · PNG, JPEG, WebP · up to 25 MiB
- Average time
- 34 s
- The four elongated aspect ratios,
8:1,4:1,1:4, and1:8, work at all three resolutions. - If no resolution is given, it is 2K.
automode is available: the model picks the aspect ratio. With a reference image it usually follows the aspect ratio of the first one.- One request, one image. For a series, send several requests.
- A prompt is required, including with reference images, and can be at most 20,000 characters long.
- Reference images larger than 7 MiB or 4,096 pixels on the longer side may be downscaled or re-encoded; keep your originals.
- Masks are not supported: to change an image, pass it as a reference image and describe the edit in the prompt.
- Resolutions are size tiers, not pixels: the
widthandheightparameters are not accepted. - The result is stored for one day, so download the file to your own storage. A file ID is valid 24 hours after its upload. The stored file is deleted 48 hours after its last upload.
- The model may decline a prompt or a reference image: the request ends as
failed, and the money is returned.
Who it’s for
Product shots, flat lays, and clean backgrounds for cards and catalogs.
Wide strips 8:1 and 4:1 for headers, storefronts, and ad strips.
Vertical frames 9:16 and 1:4 for stories and vertical feeds.
Scenes, interiors, and compositions from reference images for presentations and mood boards.
How to write prompts
Five rules that most often improve the result.
- Subject first, then details. What is in the frame, where, the lighting, and the angle; style and technique go last.
- Put lettering in quotes. Write the text verbatim: “Pharmacy 24”. Short lettering comes out more accurately than long.
- Choose the aspect ratio for the placement. The
8:1and4:1strips are for headers and storefronts,1:4and1:8for vertical banners. - Use reference images for composition. Upload up to 14 files and say in the prompt what to take from each.
- Pick the resolution for the task. 1K at $0.025 is for previews and drafts, 2K at $0.04 for websites, 4K at $0.06 for print and large banners.
Comparison with neighboring models
| Model | Strength | Resolutions | Price from | Average time |
|---|---|---|---|---|
| Nano Banana 2this model | Photos and scenes that follow the prompt closely; elongated and panoramic aspect ratios | 1K, 2K, 4K | from $0.025 | average 34 s |
| Nano Banana Pro | Text in images, complex scenes, product shots | 1K, 2K, 4K | from $0.04 | average 39 s |
06FAQ
Questions about Nano Banana 2
How much does one image from Nano Banana 2 cost?
How much cheaper is this than Google’s official price?
What happens if a generation fails?
Which resolutions and aspect ratios are supported?
auto, where the model picks the aspect ratio itself.How long does an image take?
GET /creations/ {id} or pass webhook_url. Poll no more than once every 5 seconds.Can I upload my own images?
POST /uploads and pass them in image_file_ids (up to 14), or send links in image_urls. PNG, JPEG, and WebP work, up to 25 MiB each. A file ID is valid 24 hours after its upload. The stored file is deleted 48 hours after its last upload.How do I request a panorama or an elongated frame?
aspect_ratio: 8:1 or 4:1 for wide frames, 1:4 or 1:8 for tall ones. These four aspect ratios are available in 1K, 2K, and 4K.How do I get the result?
202 response contains an ID. With it, GET /creations/ {id} returns the status and result_urls; instead of polling, pass webhook_url and we’ll send an event when the image is ready. Result files are stored for one day.How do I pay?
Do you offer terms for high volumes?
07Similar
Similar models

Nano Banana Pro
nano-banana-proComplex scenes, text in images and product shots — up to 4K
Currently unavailable: generation is disabled; the price stays the same.

GPT Image 2
gpt-image-2Illustrations, comics and stickers at 1K
Currently unavailable: generation is disabled; the price stays the same.

GPT Image 2.5
gpt-image-2.5Illustrations, maps and posters at 1K
Currently unavailable: generation is disabled; the price stays the same.
08Articles
Articles about Nano Banana 2

The best image generation APIs: 10 models in one table
Ten Nano Banana and GPT Image models in one table: resolutions, price per image, the task each model suits, and its average wait where measured.

How much do 10,000 AI images cost? Work out a budget
How to work out a monthly image budget: the formula, examples across models and resolutions, what stays out of the bill, and a template for your own counts.

A failed request is free: how paying per image works
How billing works when a request fails: the charge at submission, the automatic refund, how the API shows both, and what the portal shows, with a code sample.

High volumes
High volumes? Leave your contact and we’ll work out custom terms
A per-image price for your volume, limits for your traffic and a direct line on Telegram.
High-volume terms