Nano Banana API

Model Page: Nano Banana API

Community model card for calling Nano Banana through a REST API.

This repo documents the nano-banana model as exposed by Apiframe: Google's Gemini 2.5 Flash Image, text-to-image and image-to-image, up to 14 reference images, mask-free edits from a text prompt. Related ids on the same endpoint: nano-banana-pro, nano-banana-2, nano-banana-2-lite.

This repository does not host weights. Nano Banana is a closed model. Inference runs remotely.

Sample output

Model description

Architecture Gemini 2.5 Flash Image (Nano Banana)
Task text-to-image; image-to-image (up to 14 references)
Output 1 image
Aspect ratios 1:1, 3:4, 4:3, 9:16, 16:9
Typical latency ~9s

How to use

pip install requests
import os
import time
import requests

API = "https://api.apiframe.ai/v2"
headers = {
    "X-API-Key": os.environ["APIFRAME_API_KEY"],
    "Content-Type": "application/json",
}

job = requests.post(
    f"{API}/images/generate",
    headers=headers,
    json={
        "model": "nano-banana",
        "prompt": "a serene mountain lake at dawn",
        "nanoBananaParams": {
            "aspect_ratio": "16:9",
            "output_format": "png",
        },
    },
).json()

while True:
    result = requests.get(f"{API}/jobs/{job['jobId']}", headers=headers).json()
    if result["status"] in ("COMPLETED", "FAILED"):
        break
    time.sleep(2)

print(result.get("result"))

result["images"] is a list with one CDN URL. Pass webhookUrl on the generate call if you do not want to poll.

Image-to-image

import os
import requests

headers = {
    "X-API-Key": os.environ["APIFRAME_API_KEY"],
    "Content-Type": "application/json",
}

requests.post(
    "https://api.apiframe.ai/v2/images/generate",
    headers=headers,
    json={
        "model": "nano-banana",
        "prompt": "change the wall color to sage green, keep everything else the same",
        "nanoBananaParams": {
            "image_input": ["https://example.com/photo.jpg"],
            "output_format": "png",
        },
    },
)

Swap model for nano-banana-2 or nano-banana-pro to use a later variant. Those ids also accept resolution (1K, 2K, 4K).

Limitations

  • Closed model. No weights, fine-tuning, or local inference.
  • Requires an Apiframe API key (X-API-Key).
  • Outputs carry Google's SynthID watermark.
  • Commercial use follows Google's terms.
  • Generated media is retained on the CDN for 90 days.

License

Outputs are subject to Google's terms. This card is documentation only. Apiframe is not affiliated with, endorsed by, or sponsored by Google LLC.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support