promptstringrequired
The text prompt to generate an image from.
Default: "a cat sitting on a windowsill, golden hour lighting, photorealistic"
google/nano-banana-proNano Banana Pro is Google's new state-of-the-art image generation and editing model
Try the model
Customize your input with more control.
Select an example to load its inputs and result into the playground.
{
"aspect_ratio": "1:1",
"prompt": "Present a clear, 45° top-down isometric miniature 3D cartoon scene of London, featuring its most iconic landmarks and architectural elements. Use soft, refined textures with realistic PBR materials and gentle, lifelike lighting and shadows. Integrate the current weather conditions directly into the city environment to create an immersive atmospheric mood. Use a clean, minimalistic composition with a soft, solid-colored background. At the top-center, place the title \"London\" in large bold text, a prominent weather icon beneath it, then the date (small text) and temperature (medium text). All text must be centered with consistent spacing, and may subtly overlap the tops of the buildings."
}{
"aspect_ratio": "1:1",
"prompt": "An icon representing a cute dog. The background is white. Make the icons in a colorful and tactile 3D style. No text."
}{
"aspect_ratio": "16:9",
"prompt": "A photo of an everyday scene at a busy cafe serving breakfast. In the foreground is an anime man with blue hair, one of the people is a pencil sketch, another is a claymation person."
}Human preference
Elo ratings from blind side-by-side votes, compared with other image and video models.
Rankings sourced from Artificial Analysis Arena
Text-to-image arena: people pick the better of two images generated from the same prompt, without seeing the model names.
Nano Banana Pro (Gemini 3 Pro Image) is Google's highest-quality image model: strong reasoning over the prompt, accurate multilingual text in the image, and 1K to 4K output.
| Field | Type | Default | Notes |
|---|---|---|---|
prompt | string, required | — | Up to 50,000 characters. |
aspect_ratio | 21:9 / 16:9 / 3:2 / 4:3 / 5:4 / 1:1 / 4:5 / 3:4 / 2:3 / 9:16 | 1:1 | Output frame shape. |
output_format | jpeg / png | png | Output file format. |
resolution | 1K / 2K / 4K | 1K | Sets the per-image rate. |
$0.134 per image at 1K or 2K and $0.24 at 4K, Google's list price.
| Request | 1K | 2K | 4K |
|---|---|---|---|
| One image | $0.134 | $0.134 | $0.24 |
Failed runs are not charged.
Other Nano Banana endpoints: google/nano-banana-pro/edit, google/nano-banana-2, google/nano-banana-2/edit, google/nano-banana-2-lite, google/nano-banana-2-lite/edit.
Start building
Submit this model through the SandBase Unified Run API.
# 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"Create a SandBase API key and set it in your server environment. All requests use Bearer authentication.
export SANDBASE_API_KEY="YOUR_API_KEY"Keep the key on your server. Do not expose it in browser code or commit it to a repository.
POST to /v1/run with this model ID and its inputs. The request example above includes submission and polling.
Use the returned run ID to poll until the status is completed, failed or timeout. Read output only after completed.
curl "https://api.sandbase.ai/v1/run/$RUN_ID" \
-H "Authorization: Bearer $SANDBASE_API_KEY"Pass a publicly accessible file URL in the model’s image, video or audio field. Supported formats and limits are shown beside each Playground input.
Use the upload or replace control on supported image fields in the Playground. Video URL fields accept a hosted driving video; they do not imply video-upload support.
promptstringrequiredThe text prompt to generate an image from.
Default: "a cat sitting on a windowsill, golden hour lighting, photorealistic"
resolutionstringThe resolution of the image to generate.
Default: "1K"
Possible values: "1K", "2K", "4K"
aspect_ratiostringThe aspect ratio of the generated image.
Default: "1:1"
Possible values: "21:9", "16:9", "3:2", "4:3", "5:4", "1:1", "4:5", "3:4", "2:3", "9:16"
output_formatstringThe format of the generated image.
Default: "png"
Possible values: "jpeg", "png"
{
"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"
}A completed run exposes its result in output. The following is the model’s saved example, not a new generation.
[
{
"source": "Google AI for Developers",
"source_url": "https://ai.google.dev/gemini-api/docs/image-generation",
"url": "https://static.sandbase.ai/examples/bb9cdb52-fbe4-4e6d-a51d-7d6444b6221a/output/4924b213-a78a-413a-a727-3d330f59b658.jpg"
}
]