Nano Banana Pro icon
Image by Google

Nano Banana Pro API

Generate and edit images with Google's Nano Banana Pro through one unified API. A single REST endpoint, async jobs, and webhooks, with no Google Cloud setup to manage.

Integrate Nano Banana Pro with a single API call — one key, one unified endpoint, and shared billing across every model on Apiframe.

model: "nano-banana-pro"
Nano Banana Pro weather map of Europe generated from current data, with temperatures and a clean legend

What's special about Nano Banana Pro

Reasoning-driven, studio quality

Built on Gemini 3 Pro, it brings advanced reasoning to image work, making it the strongest option for complex, multi-turn creation and editing.

Up to 4K resolution

It generates natively at 1K, 2K, and 4K, giving the detail needed for print, large-format, and high-end marketing assets.

Best-in-class text rendering

It produces legible, stylized, and multilingual text, which suits infographics, menus, diagrams, and detailed marketing layouts.

Grounding with Google Search

It can use Search as a tool to pull in real-time data, generating imagery from current weather, stock charts, or recent events, and verifying facts as it goes.

Studio-level creative controls

It adjusts camera angle, focus and depth of field, color grading, and scene lighting, including shifts like day to night or adding a bokeh effect.

Reasoning-based editing and consistency

It edits through a joint reasoning-generation process that preserves everything you did not ask it to change, and it holds character consistency well, with SynthID watermarking on every output.

Made with Nano Banana Pro

A few outputs generated through the Nano Banana Pro API on Apiframe.

Nano Banana Pro infographic explaining how a battery works, with labeled diagrams and clean multilingual captions

An infographic explaining how a battery works, with labeled diagrams and clean multilingual captions.

Nano Banana Pro 4K product hero shot of a wristwatch in studio lighting with a shallow depth of field on the dial

A 4K product hero shot of a wristwatch, studio lighting, shallow depth of field on the dial.

Nano Banana Pro weather map of Europe for today generated from current data, with temperatures and a clean legend

Using current data, a weather map of Europe for today with temperatures and a clean legend.

Nano Banana Pro converting handwritten notes into a tidy flowchart diagram

Turn these handwritten notes into a tidy flowchart diagram.

Nano Banana Pro edit changing a daytime street photo to a moody night scene with warm bokeh while keeping the composition

Change this daytime street photo to a moody night scene with warm bokeh, keeping the composition.

Nano Banana Pro consistent character sheet of a mascot across six scenes with the same identity and varied poses

A consistent character sheet of this mascot across six scenes, same identity, varied poses.

Overview

Endpoint
POST /v2/images/generate
Model ID
nano-banana-pro
Params key
nanoBananaParams
Modality
Image
Provider
Google
Avg. completion
~20s

Capabilities

Aspect ratios1:1, 3:4, 4:3, 9:16, 16:9
Resolutions1K, 2K, 4K
Image inputSupported
Avg. time~20s

Quick start

Send a single POST /v2/images/generate request with your API key to generate with Nano Banana Pro. The call returns a jobId you can poll or receive via webhook.

curl -X POST https://api.apiframe.ai/v2/images/generate \
  -H "X-API-Key: afk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
        "prompt": "a sleek silver sports car on a coastal highway at sunset, hyper-realistic",
        "model": "nano-banana-pro",
        "nanoBananaParams": {
            "resolution": "1K",
            "image_input": "https://example.com/input.jpg",
            "output_format": "jpg",
            "google_search": false
        }
    }'
import requests

response = requests.post(
    "https://api.apiframe.ai/v2/images/generate",
    headers={
        "X-API-Key": "afk_your_api_key_here",
        "Content-Type": "application/json",
    },
    json={
        "prompt": "a sleek silver sports car on a coastal highway at sunset, hyper-realistic",
        "model": "nano-banana-pro",
        "nanoBananaParams": {
            "resolution": "1K",
            "image_input": "https://example.com/input.jpg",
            "output_format": "jpg",
            "google_search": False
        }
    },
)
print(response.json())  # { "jobId": "...", "status": "QUEUED" }
const response = await fetch("https://api.apiframe.ai/v2/images/generate", {
  method: "POST",
  headers: {
    "X-API-Key": "afk_your_api_key_here",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "prompt": "a sleek silver sports car on a coastal highway at sunset, hyper-realistic",
    "model": "nano-banana-pro",
    "nanoBananaParams": {
      "resolution": "1K",
      "image_input": "https://example.com/input.jpg",
      "output_format": "jpg",
      "google_search": false
    }
  }),
});
const { jobId } = await response.json();
console.log(jobId);

Response & job lifecycle

Generation is asynchronous. A successful submission returns 202 Accepted with a jobId. Poll GET /v2/jobs/{id} (or supply a webhook_url) until the status is COMPLETED; the result field then holds the output URL(s).

1. Submission response (202)

{
  "jobId": "b2c3d4e5-f6a7-8901-bcde-f23456789012",
  "status": "QUEUED"
}

2. Poll for the result

curl https://api.apiframe.ai/v2/jobs/JOB_ID \
  -H "X-API-Key: afk_your_api_key_here"
import requests, time

while True:
    job = requests.get(
        "https://api.apiframe.ai/v2/jobs/JOB_ID",
        headers={"X-API-Key": "afk_your_api_key_here"},
    ).json()
    if job["status"] in ("COMPLETED", "FAILED"):
        break
    time.sleep(2)
print(job["result"])
let job;
do {
  await new Promise((r) => setTimeout(r, 2000));
  job = await fetch("https://api.apiframe.ai/v2/jobs/JOB_ID", {
    headers: { "X-API-Key": "afk_your_api_key_here" },
  }).then((r) => r.json());
} while (job.status !== "COMPLETED" && job.status !== "FAILED");
console.log(job.result);

Input schema

Request parameters accepted by the Nano Banana Pro endpoint. Model-specific options are nested under the params object shown below.

Parameter Type Required Default Allowed / range Description
prompt string required Text description of what to generate.
model string required "nano-banana-pro" "nano-banana-pro" The model identifier for this endpoint.
nanoBananaParams.resolution string optional "1K" "512px", "1K", "2K", "4K" Resolution
nanoBananaParams.image_input string (URL) optional Compose with or edit a reference image.
nanoBananaParams.output_format string optional "jpg" "jpg", "png", "webp" Output format
nanoBananaParams.google_search boolean optional false Google search grounding
nanoBananaParams.image_search boolean optional false Image search grounding

Frequently Asked Questions

Common questions about the Nano Banana Pro API.

What is Nano Banana Pro?

Google's Gemini 3 Pro Image, a higher-fidelity, reasoning-driven image generation and editing model, positioned as the quality tier above the original Nano Banana.

How is it different from Nano Banana?

Pro focuses on quality, detail, and reasoning, adding up to 4K output, Search grounding, and studio controls, while the original is the faster, cheaper, more casual option.

What resolution does it produce?

Up to 4K, with native 1K, 2K, and 4K options.

What is grounding with Google Search?

It lets the model bring real-time data into images, such as current weather or recent events, and check facts while generating.

How much does it cost?

On Apiframe, 26 credits ($0.26) per 1K or 2K image and 52 credits ($0.52) for 4K, and every output carries a SynthID watermark.

Where can you access it?

Through Apiframe, as well as the Gemini app, Google AI Studio, the Gemini API, and Vertex AI.

Still have questions?

Start building with the Nano Banana Pro API

Get your API key and integrate Nano Banana Pro in minutes — Pay-as-you-go.

Free credits to start
One API for every model
Webhooks, SDKs & idempotency
No provider account required

Questions? Join our Discord or contact sales.