Nano Banana Pro

google/nano-banana-pro

Nano Banana Pro is Google's new state-of-the-art image generation and editing model

Base price
$0.12USD / run
Execution
async
Model type
image
Input fields
4

Try the model

Playground

Open playground
Input
The text prompt to generate an image from.
The aspect ratio of the generated image. Allowed values: 21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16.
The format of the generated image. Allowed values: jpeg, png.
The resolution of the image to generate. Allowed values: 1K, 2K, 4K.
OutputReady

Your output will appear here

Complete the inputs, then click Run.

Specifications

Pricing

Base price
$0.12 / run
Billing formula
params.resolution == "4K" ? 0.24 : 0.12

Context & modalities

Input
Schema-defined
Output
image

Capabilities

Chat
Not supported
Vision
Not supported
Reasoning
Not supported
Structured output
Not supported
Function calling
Not supported
Audio input
Not supported

Access

Provider
Google
Model ID
google/nano-banana-pro
Execution
async
API
Unified Run API
Endpoint
/v1/run

API README

Google Nano Banana Pro Text-to-Image

Google's latest image generation model built on Gemini architecture. Delivers high-quality images with strong prompt understanding, native multilingual text rendering, and flexible aspect ratios — at a fraction of the cost of competing models.

Highlights

Native text rendering — Generates readable text in images across Latin, Chinese, Japanese, and Korean scripts. Handles signage, labels, posters, and UI elements with correct spelling and natural placement.

Strong prompt adherence — Follows complex multi-part prompts faithfully. Composition, lighting, color palette, and fine details described in long prompts are preserved without drift or hallucination.

Flexible resolution — Supports 1K, 2K, and 4K output resolutions with multiple aspect ratios from ultra-wide 21:9 to portrait 9:16.

Cost-efficient — $0.12 per generation (1K/2K), $0.24 for 4K output. Competitive pricing for high-volume workflows.

Pricing

ResolutionPrice
1K$0.12
2K$0.12
4K$0.24

When to Use

✅ Good fit❌ Consider alternatives
Blog covers and marketing imagesPixel-perfect brand assets (use GPT Image 2)
Social media contentIterative mask-based editing (use Edit model)
Text-heavy posters and adsVideo or animation
Concept art and brainstormingSub-second generation
Multilingual visual contentUltra-high resolution print (4K+)

Prompt Guide

Structure your prompts for best results:

Scene: [environment, time of day, background]
Subject: [main focus, position, action]
Details: [materials, lighting, camera angle, mood]
Text: [exact text to render, font style, placement]
Style: [photorealistic, illustration, flat design, etc.]

Example:

Create a 16:9 blog hero image for a tech article. A clean, modern workspace with a laptop showing code on screen, warm afternoon lighting from a window on the left. Title text "Build Faster with AI" in bold sans-serif at the top. Minimalist style, muted blue and white palette.

Technical Specs

SpecValue
InputText prompt (max 50,000 characters)
OutputPNG or JPEG
Resolution1K / 2K / 4K
Aspect ratio21:9, 16:9, 3:2, 4:3, 5:4, 1:1, 4:5, 3:4, 2:3, 9:16
ExecutionAsync (submit → poll for result)
Typical latency20–40 seconds

Related

Start building

Send your first request

OpenAI-compatible endpoint with unified authentication and usage tracking.

Production API
Unified Run API endpoint
https://api.sandbase.ai/v1/run
Model ID
google/nano-banana-pro
# The quoted heredoc keeps Unicode and shell metacharacters unchanged.
result=$(curl --fail-with-body --silent \
  -X POST "https://api.sandbase.ai/v1/run" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'SANDBASE_JSON'
{
  "model": "google/nano-banana-pro",
  "prompt": "a cat sitting on a windowsill, golden hour lighting, photorealistic",
  "resolution": "1K",
  "aspect_ratio": "1:1",
  "output_format": "png"
}
SANDBASE_JSON
)
run_id=$(printf '%s' "$result" | jq -r .id)
for attempt in $(seq 1 120); do
  status=$(printf '%s' "$result" | jq -r .status)
  case "$status" in completed|failed|timeout) break ;; esac
  sleep 2
  result=$(curl --fail-with-body --silent \
    -H "Authorization: Bearer $SANDBASE_API_KEY" \
    "https://api.sandbase.ai/v1/run/$run_id")
done
status=$(printf '%s' "$result" | jq -r .status)
[ "$status" = completed ] || { echo "Generation ended: $status" >&2; exit 1; }
printf '%s\n' "$result"

Choose your model

Compare models

All language models
ModelContextInput / 1MOutput / 1MReleased
Nano Banana ProThis model
Google
———Nov 20, 2025
Google———Jun 30, 2026
Google———Jun 30, 2026
Google———Jun 30, 2026
Google———Feb 26, 2026
Google———Feb 26, 2026