
Nano Banana API — ruble pricing and a 5-minute setup
Nano Banana API (Gemini Image) with ruble billing: image generation and editing through one Zerocoder key. Per-image pricing, OpenAI Images, samples, limits.
What Nano Banana is
Nano Banana is Google's (Gemini) image family for generation and editing. Through Zerocoder you call it as a plain HTTP API: send a prompt, get back an image URL. The family covers five tiers, from a fast cheap model to a pro vip tier, so you pick quality versus cost per request.
The family is strong at following detailed prompts, handling edits on existing images (up to four references in one call), and producing clean results across common aspect ratios for web, social and product shots.
What Zerocoder adds
- One API key that works for every model in the catalog, not just Nano Banana
- A single ruble wallet shared across models, separate from studio credits
- Payment by Russian bank card or company invoice — no foreign card or VPN needed
- Docs and a key management cabinet on the site
- Request and response shapes that match common SDK conventions, so existing HTTP client code needs minimal changes
How a request works
You send a POST request with your prompt, the model id, and either a size or an aspect ratio. For edits, you also attach one or more source images. The API replies with a short JSON object containing a URL to the generated image.
That URL is temporary — fetch and store the file right after the response arrives. Every image is billed at the moment of the request; if the provider itself fails, the charge is refunded automatically in the same response.
Available models and prices
Built from the live GET /v1/models price list: prices include our margin, in rubles and in dollars at the internal rate. Anything missing is temporarily not served by the gateway.
| Model | Unit | ₽ | $ | Cost examples | Endpoint |
|---|---|---|---|---|---|
gemini-image-2recommendedalso: nano-banana-2, gemini-3-flash | per image | 2.4 ₽ | $0.027 | 1 generation: 2.4 ₽ · $0.027 10 generations: 24 ₽ · $0.267 | /v1/images/generations |
gemini-image-prorecommendedalso: nano-banana-pro, gemini-3-pro | per image | 2.64 ₽ | $0.029 | 1 generation: 2.64 ₽ · $0.029 10 generations: 26.4 ₽ · $0.293 | /v1/images/generations |
gemini-imagerecommendedalso: nano-banana, unspecified | per image | 0.96 ₽ | $0.011 | 1 generation: 0.96 ₽ · $0.011 10 generations: 9.6 ₽ · $0.107 | /v1/images/generations |
nano-banana-2-literecommended | per image | 1.2 ₽ | $0.013 | 1 generation: 1.2 ₽ · $0.013 10 generations: 12 ₽ · $0.133 | /v1/images/generations |
nano-banana-pro-viprecommended | per image | 9.6 ₽ | $0.107 | 1 generation: 9.6 ₽ · $0.107 10 generations: 96 ₽ · $1.07 | /v1/images/generations |
Cost calculator
Pick a model and a volume — the calculator uses the same formulas as API billing.
Prices from GET /v1/models, internal exchange rate. Failed generations are not charged.
First request
One zc-sk-… key, the x-api-key header (or Authorization: Bearer), base URL https://zerocoder.com/api/v1. Samples are generated from the real route contracts.
Create a key
Account → API: top up the balance in rubles and create a zc-sk-… key
Send a request
Copy the sample below — the model id is already taken from the price list.
Check the charge
GET /v1/balance shows the balance; the call price comes back in the response.
curl https://zerocoder.com/api/v1/images/generations \
-H "x-api-key: zc-sk-…" -H "content-type: application/json" \
-d '{"model": "gemini-3-flash", "prompt": "Studio photo of a ceramic coffee mug on a walnut table, soft window light", "aspect": "1:1"}'
# → {"created":…,"data":[{"url":"https://…"}]} (the URL is temporary — download it)import requests
r = requests.post("https://zerocoder.com/api/v1/images/generations",
headers={"x-api-key": "zc-sk-…"},
json={"model": "gemini-3-flash", "prompt": "Studio photo of a ceramic coffee mug on a walnut table, soft window light", "aspect": "1:1"})
r.raise_for_status()
print(r.json()["data"][0]["url"])const r = await fetch("https://zerocoder.com/api/v1/images/generations", {
method: "POST",
headers: { "x-api-key": "zc-sk-…", "content-type": "application/json" },
body: JSON.stringify({ model: "gemini-3-flash", prompt: "Studio photo of a ceramic coffee mug on a walnut table, soft window light", aspect: "1:1" }),
});
const { data } = await r.json();
console.log(data[0].url);Image editing (/images/edits)
# JSON — image(s) by https URL or data URI, up to 4
curl https://zerocoder.com/api/v1/images/edits \
-H "x-api-key: zc-sk-…" -H "content-type: application/json" \
-d '{"model": "gemini-3-flash", "prompt": "Make it a night scene", "image": "https://example.com/photo.jpg", "aspect": "16:9"}'
# multipart — files from disk (≤ 8 MB each)
curl https://zerocoder.com/api/v1/images/edits \
-H "x-api-key: zc-sk-…" \
-F model=gemini-3-flash -F prompt="Make it a night scene" -F aspect=16:9 \
-F "image[]=@photo1.jpg" -F "image[]=@photo2.jpg"Inputs, limits and refunds
- Generation: prompt + aspect 1:1 / 16:9 / 9:16 / 4:3 / 3:4 or size 1024x1024 / 1792x1024 / 1024x1792
- Editing: up to 4 images — https URLs, data URIs or multipart
- Up to 8 MB per file, 48 MB per request (413 otherwise)
- The result URL is temporary — save the file right away
- Provider failure — nothing is charged
- 30 requests per minute per key (all endpoints combined)
Error responses and refunds
# 401 {"type":"error","error":{"type":"authentication_error","message":"Invalid or revoked API key."}}
# 402 {"type":"error","error":{"type":"billing_error","message":"Not enough API balance: …"}}
# 429 {"type":"error","error":{"type":"rate_limit_error","message":"…"}} ← 30 requests/min per key
# 400 {"type":"error","error":{"type":"invalid_request_error","message":"Unknown model \"…\". See GET /v1/models."}}
# 413 {"type":"error","error":{"type":"invalid_request_error","message":"…"}} ← > 8 MB per file / > 48 MB body
# 502 {"type":"error","error":{"type":"api_error","message":"…"}} ← provider failed → nothing chargedUse cases
Generate product mockups on demand inside an e-commerce admin panel
Build a Telegram bot that turns user prompts into illustrations
Batch-create blog cover images in a CMS publishing pipeline
Let a design tool edit uploaded photos based on short text instructions
Automate marketing banner variants for A/B testing in an internal tool
Swap backgrounds or outfits in user avatars for a social app feature
Prompting tips
- Describe framing and composition explicitly: subject position, camera angle, foreground versus background
- Name materials and style directly — matte plastic, brushed metal, watercolor, flat vector — instead of vague adjectives
- State the light source and mood: soft window light, harsh noon sun, neon backlight, overcast
- Pick aspect to match the placement: 16:9 for banners, 9:16 for stories, 1:1 for avatars, 4:3 or 3:4 for print-like crops
- For edits, say exactly what to change and what to keep, e.g. 'change the jacket color, keep the face and pose'
Real results
Works by Zerocoder users made with this model: preview, resolution, duration and date. Nothing was generated specifically for this page.
| Model | Date | Likes | Prompt |
|---|---|---|---|
| Nano Banana 2 | 4 September 2026 | 87 | Ultra-realistic black and white studio portrait of the uploaded man, wearing a perfectly tailored black suit, white dress shirt and black ti |
| Nano Banana | 23 July 2026 | 32 | Используя прикреплённое референс-фото только как основу для лица, сохрани 100% сходство внешности. В кадре ровно четыре человека: один задер |
| Nano Banana | 30 July 2026 | 29 | Используя прикреплённое референс-фото только как основу для лица, сохрани 100% сходство внешности без изменений. Парень идёт в сторону полно |
| Nano Banana 2 | 12 August 2026 | 25 | Реалистичное ночное фото с телефона, 9:16. Камера находится сзади чёрного Mercedes-Benz G63 AMG и направлена сверху вниз через открытое води |
| Nano Banana 2 | 2 September 2026 | 22 | Любительское вечернее фото в помещении, ощущение спонтанного кадра. Девушка сидит на полу или низком пуфе среди больших роскошных букетов ро |
| Nano Banana | 9 August 2026 | 15 | Не меняя внешности мужчины с фото ни на 1% Кинематографичный снимок привлекательного мужчины одет в брюки и рубашку мультикам без татуировок |
| Nano Banana 2 | 9 August 2026 | 13 | Ультраблизкий гиперреалистичный портрет, фотореализм, документальная подача, сверхдетализация кожи, глаз, ресниц и текстуры ткани Черно- бел |
| Nano Banana 2 | 28 August 2026 | 9 | Фотореалистичная черно-белая спортивная фотография в профессиональном боксерском зале. Современный ринг, канаты на заднем плане, индустриаль |
FAQ
How is Nano Banana Pro different from the standard model?
Pro is the larger model: it follows complex prompts more precisely, renders text and fine detail better and costs more per image. The standard and Lite tiers are for bulk generation and drafts.
Can I edit my own photos through the Nano Banana API?
Yes — via /api/v1/images/edits: send one or more images (https URLs, data URIs or multipart) plus an instruction. The model keeps the composition and character and changes only what you asked.
How do I get a Nano Banana API key?
Sign up at Zerocoder, open the API section of your account and create a zc-sk-… key. The same key unlocks Nano Banana and every other model in the catalogue — no separate Nano Banana key needed.
How is Nano Banana API billed?
Top up the API balance in rubles (Russian bank card or invoice for companies). Usage is charged per Nano Banana image at the price returned by GET /v1/models; Nano Banana prices already include our margin, there are no hidden fees.
What if Nano Banana fails to generate the image?
If the provider fails a Nano Banana generation, the charge is refunded automatically and the response carries refunded: true. You only pay for a finished image.
What are the Nano Banana API rate limits?
A shared limit of 30 requests per minute per key across all generation endpoints, Nano Banana included. Above that you get 429 rate_limit_error; for higher Nano Banana volumes contact us and we raise it individually.
Do I need a VPN or a foreign card for Nano Banana API?
No. Nano Banana requests go to zerocoder.com, payment is in rubles, and accounting documents are available on request.
Can I try Nano Banana without code?
Yes: Nano Banana is available in the Zerocoder studio and in the free tools catalogue — check the quality by hand, then wire up the Nano Banana API.

AI API for your product
70% cheaper than the official APIs — one key for GPT, Claude, Gemini, images and video