Nano Banana 2 (Preview) API
Nano Banana 2 (Preview) is the preview snapshot of Google's Gemini 3.1 Flash image route, exposing the same text-to-image and edit operations under the preview model ID.
- Model ID
- gemini-3.1-flash-image-preview
- Provider
- Modality
- AI Image
- Per successful call
- $0.05
- Last verified
- 2026-09-11
01
Where it fits
Keep the preview ID for deliberate evaluation of the newer snapshot, and use the stable Nano Banana 2 model ID for anything you intend to run in production.
02
What it does
Text to image
Turn a text prompt into a new image.
Image edit
Change an existing image from a prompt and reference input.
03
Call it
Media models run asynchronously. Create a task, poll it until it finishes, then download the signed asset URL.
# 1. Create the job. 202 Accepted; the body carries the task id,
# the pre-charged price, and a poll_url. Reuse one Idempotency-Key
# across retries so a timeout never starts a second paid job.
curl --fail-with-body https://api.omniakey.com/v1/media/tasks \
-H "Authorization: Bearer $OMNIAKEY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: gemini-3.1-flash-image-preview-001" \
-d '{
"model": "gemini-3.1-flash-image-preview",
"type": "image",
"operation": "generate",
"input": {"prompt": "a paper boat on a quiet lake at sunset"},
"parameters": {"size": "1024x1024", "quality": "medium"}
}'
# 2. Poll GET /v1/media/tasks/{id} until status is
# succeeded | failed | canceled. Progress carries percent and stage.
curl --fail-with-body https://api.omniakey.com/v1/media/tasks/TASK_ID \
-H "Authorization: Bearer $OMNIAKEY_API_KEY"
# 3. Download assets[0].url before expires_at, or poll again for a
# fresh signed URL. Failed and canceled jobs are refunded.
curl -sS -o out.png "$(jq -r '.assets[0].url' result.json)"04
Pricing
Image jobs are billed per successful call, not per token. Failed or canceled jobs are refunded automatically.
$0.05per call
More Google image models
Frequently asked questions
How do I call Nano Banana 2 (Preview) on OmniaKey?
POST to /v1/media/tasks with the model id, type "image", and operation "generate" or "edit". Reuse one Idempotency-Key across retries so a timeout never starts a second paid job.
What does Nano Banana 2 (Preview) cost?
Nano Banana 2 (Preview) bills $0.05 per call. Creation pre-charges that amount from your prepaid balance, and failed or canceled jobs are refunded automatically.
Why does the API return a task id instead of the image?
Provider latency runs from seconds to about a minute, so OmniaKey normalizes every image route into one asynchronous lifecycle. Poll GET /v1/media/tasks/{id} until the status is succeeded, then read the signed asset URL.
