nano-banana-2:yellowcheapestNano Banana 2 API — how to connect and pay
Nano Banana 2 — Google image generation from text or a reference image. Lite → nano-banana-2-lite; Standard → nano-banana-2 (with 1K/2K/4K resolution upstream).
Channel comparison
last 7 days
nano-banana-2:whitedefaultnano-banana-2| Channel | Price |
|---|---|
Yellow nano-banana-2:yellowcheapest | from $0.012 per image |
White nano-banana-2:whitedefault | from $0.02 per image |
Pixel nano-banana-2 | from $0.02 per image |
Build the result you need
nano-banana-2:whiteWhat is Nano Banana 2
Nano Banana 2 — Google image generation from text or a reference image. Lite → nano-banana-2-lite; Standard → nano-banana-2 (with 1K/2K/4K resolution upstream).
Contract at a glance
- Input
- text, image
- Output
- image
- Mode
- async (job + polling)
- Status polling
- every 3 s · up to 90 s
Strengths
- Pricing: per image
- Inputs: text, image
- 5 configurable options
- One API key for media generation
Where it is used
- Article and social media illustrations
- Product images
- Banners and covers
- Design prototypes
API contract
Generation runs asynchronously: create a job, then poll its status until completion.
- Create job
- POST /api/media/generate
- Check status
- GET /api/media/jobs/{jobId}
- Input
- text, image
- Output
- image
- Polling
- every 3 s · up to 90 s
- Authentication
- Authorization: Bearer sk-pv-…
Example request
Pass your key in the Bearer header. The API returns jobId for polling the status.
curl -sS https://getvibeapi.com/api/media/generate \
-H "Authorization: Bearer $GETVIBE_API_KEY" \
-H "Content-Type: application/json" \
--data-binary '{"model":"nano-banana-2:white","prompt":"a beautiful landscape","opts":{"aspect_ratio":"1:1","tier":"standard","resolution":"1K"}}'JavaScript
const response = await fetch('https://getvibeapi.com/api/media/generate', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.GETVIBE_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"model": "nano-banana-2:white",
"prompt": "a beautiful landscape",
"opts": {
"aspect_ratio": "1:1",
"tier": "standard",
"resolution": "1K"
}
}),
});
if (!response.ok) throw new Error(`GetVibe API: ${response.status}`);
const { jobId } = await response.json();
console.log(jobId);API request parameters
Parameters for requests to Nano Banana 2 via the GetVibe API.
promptreq.image_urlaspect_ratiotierresolutioninput_urlsimage_file_idimage_base64input_file_idsinput_base64| Parameter | Type | Values | Default | Price |
|---|---|---|---|---|
promptreq. | text | text description | required | — |
image_url | URL | Public image URL | — | — |
aspect_ratio | option selection | 1:1 (default) · 16:9 · 9:16 · 4:3 · 3:4 | 1:1 | Included in the base price |
tier | option selection | Lite · Standard (default) | Standard | Lite: $0.026667, Standard: $0.02 |
resolution | option selection | 1K (default) · 2K · 4K | 1K | 1K: $0.02, 2K: $0.026667, 4K: $0.033333 |
input_urls | Array<URLs>, 0–10 items | Public HTTP(S) URLs | — | Included in the base price |
image_file_id | text | Alternative to image_url: the id of your own file from POST /v1/files (file-pv-…) | — | Included in the base price |
image_base64 | text | Alternative to image_url: the file inline, as base64 or a data: URI | — | Included in the base price |
input_file_ids | Array<strings> | List of values | — | Included in the base price |
input_base64 | Array<strings> | List of values | — | Included in the base price |
Request: POST https://getvibeapi.com/api/media/generate. Prices in USD.
Price of Nano Banana 2
The cost of Nano Banana 2: from $0.02 per image. The price is calculated dynamically at the current exchange rate, and the final charge is shown in the API response (priceRub). Payment in USD, no subscriptions.
What a default request costs
With no parameters sent, the request uses these values: Resolution — 1K, Version and quality — Standard, Frame format — 1:1. That request costs $0.02.
Channels and prices for every parameter combination
For every channel, the price of every parameter combination. It is exactly the amount a successful generation is charged, and the same figure as in the machine-readable table linked below.
Whitenano-banana-2:whitefrom $0.02exact prices
| Quality \ Resolution | 1K | 2K | 4K |
|---|---|---|---|
| Standard | $0.02 | $0.026667 | $0.033333 |
Every combination as JSON: /api/media/price-table?model=nano-banana-2%3Awhite
Pixelnano-banana-2from $0.02exact prices
| Quality \ Resolution | — | 1K | 2K | 4K |
|---|---|---|---|---|
| Lite | $0.026667 | — | — | — |
| Standard | — | $0.02 | $0.026667 | $0.033333 |
Every combination as JSON: /api/media/price-table?model=nano-banana-2
Yellownano-banana-2:yellowfrom $0.012exact prices
| Quality \ Resolution | 1K |
|---|---|
| Standard | $0.012 |
Every combination as JSON: /api/media/price-table?model=nano-banana-2%3Ayellow
README
The machine-readable contract for Nano Banana 2 contains the request schema, operations, limits, polling and response examples.
# Nano Banana 2
Public model: nano-banana-2:white
Create job: POST /api/media/generate
Check status: GET /api/media/jobs/{jobId}
## Input parameters
- `prompt` (text): text description; default: required
- `image_url` (URL): Public image URL; default: —
- `aspect_ratio` (option selection): 1:1 (default) · 16:9 · 9:16 · 4:3 · 3:4; default: 1:1
- `tier` (option selection): Lite · Standard (default); default: Standard
- `resolution` (option selection): 1K (default) · 2K · 4K; default: 1K
- `input_urls` (Array<URLs>, 0–10 items): Public HTTP(S) URLs; default: —
- `image_file_id` (text): Alternative to image_url: the id of your own file from POST /v1/files (file-pv-…); default: —
- `image_base64` (text): Alternative to image_url: the file inline, as base64 or a data: URI; default: —
- `input_file_ids` (Array<strings>): List of values; default: —
- `input_base64` (Array<strings>): List of values; default: —
## Public variants
- `nano-banana-2:yellow`: Yellow
- `nano-banana-2:white`: White
- `nano-banana-2`: PixelFAQ about the Nano Banana 2 API
How much does Nano Banana 2 cost?
The price of Nano Banana 2: from $0.02 per image. The price is calculated dynamically at the current exchange rate.
Is it compatible with the OpenAI SDK?
Yes, the API is fully OpenAI-compatible. Just change base_url to https://getvibeapi.com/v1 and set your key — the rest of the code stays the same.