Skip to content
Pricing
Google

Nano Banana 2.1 API

Create images with Nano Banana 2.1 using text, images. Available resolutions: 1k / 2k / 4k. Try the current API settings, preview results and reuse your inputs.

Modalities
TextImageImage
Published
1kAbout 40% less than official
$0.02/ request
$0.0336 · official reference
2kAbout 20% less than official
$0.04/ request
$0.0504 · official reference
4kAbout 29% less than official
$0.08/ request
$0.113 · official reference
Input
Sign in to choose a key from your account.
Generation mode
Guide generation with the supported reference inputs below.
images0 / 14
JPEG / PNG / WEBP · ≤ 10 MB
Add a reference before running in reference mode.
Request preview
{
  "model": "nano-banana2.1",
  "input": {
    "images": [],
    "resolution": "1k",
    "aspect_ratio": "auto",
    "output_format": "jpeg",
    "prompt": "A quiet mountain lake at sunrise, soft morning light."
  }
}
Output

Your next idea starts here.

Run the model to preview your result.

Nano Banana 2.1 pricing

Estimate one request, then choose a budget for your workflow.

UsageQuantityRateCost
1k1 request$0.02/ request$0.02
Cost per request$0.02

Public USD estimate. Your account rate and final recorded usage determine the actual charge.

View all specifications and prices
SpecificationOur priceOfficial reference
1k$0.02 / request$0.0336 About 40% less than official
2k$0.04 / request$0.0504 About 20% less than official
4k$0.08 / request$0.113 About 29% less than official

Official source ↗ · 2026-10-14

Start with a prompt

Original prompts adapted to documented capabilities; use platform-supported parameters.

Consistent character editing

Place the original reference character in a full-body rainy street scene. Preserve facial traits, costume design and main colors; change only pose and setting.

Try this prompt ↗

Infographic design

Design an infographic showing four tea-brewing steps: warm the cup, add leaves, pour water and serve. Use readable labels with matching illustrations.

Try this prompt ↗

What is Nano Banana 2.1?

Create images with Nano Banana 2.1 using text, images. Available resolutions: 1k / 2k / 4k. Try the current API settings, preview results and reuse your inputs.

Nano Banana 2.1 improves visual quality, typography and multi-turn character consistency over Nano Banana 2.

Official model information ↗ · 2026-10-14

Nano Banana 2.1 specifications

Model IDnano-banana2.1
ProviderGoogle
API/v1/tasks
Resolution1k / 2k / 4k
Aspect ratioauto / 1:1 / 3:2 / 2:3 / 3:4 / 4:3 / 4:5 / 5:4 / 9:16 / 16:9 / 21:9 / 1:4 / 1:8 / 4:1 / 8:1
Output formatpng / jpeg / webp
Reference imagesUp to 14

Before you generate

  • Use the current model ID and the API request shape shown on this page.
  • Generation is asynchronous. Keep the returned task ID to retrieve the result and billing status.
  • Only options supported by the current platform contract are exposed in Playground.

Compare Nano Banana 2.1 with related models

SpecificationNano Banana 2.1GPT Image 2GPT Image 2.5 Flare
ProviderGoogleOpenAIOpenAI
Input → outputTextImageImageTextImageImageTextImageImage
Selection basisCurrent modelBoth declare text, image input · Same billing unitsBoth declare text, image input · Same billing units
Resolution1k / 2k / 4k1k / 2k / 4k1k / 2k / 4k
Reference images142020
Starting price$0.02 / request$0.02 / request$0.02 / request

Choose by the input types, output settings and billing unit your workflow needs. Try the same prompt across models to compare results for your own use case.

BUILD WITH NEWROUTERS

Build with Nano Banana 2.1 in your app

Submit parameters through the Media Tasks API, then retrieve the result with the task ID. Image and video models keep their own input requirements.

  1. 01
    Get your API key

    Sign in and prepare a key with access to this model.

  2. 02
    Configure your request

    Choose parameters in Playground and copy the API example.

  3. 03
    Run and inspect the result

    Review status, outputs and charges in History.

API integration

POST /v1/tasks · Authorization: Bearer

cURL
curl 'https://newrouters.com/v1/tasks' \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $MODEL_API_KEY" \
  --data '{
  "model": "nano-banana2.1",
  "input": {
    "images": [],
    "resolution": "1k",
    "aspect_ratio": "auto",
    "output_format": "jpeg",
    "prompt": "A quiet mountain lake at sunrise, soft morning light."
  }
}'
JavaScript
const response = await fetch("https://newrouters.com/v1/tasks", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer $MODEL_API_KEY"
  },
  body: JSON.stringify({
    "model": "nano-banana2.1",
    "input": {
      "images": [],
      "resolution": "1k",
      "aspect_ratio": "auto",
      "output_format": "jpeg",
      "prompt": "A quiet mountain lake at sunrise, soft morning light."
    }
  })
});
if (!response.ok) throw new Error(await response.text());
console.log(await response.text());
Python
import json
import requests

response = requests.post(
    "https://newrouters.com/v1/tasks",
    headers=json.loads("{\"Content-Type\":\"application/json\",\"Authorization\":\"Bearer $MODEL_API_KEY\"}"),
    json=json.loads("{\"model\":\"nano-banana2.1\",\"input\":{\"images\":[],\"resolution\":\"1k\",\"aspect_ratio\":\"auto\",\"output_format\":\"jpeg\",\"prompt\":\"A quiet mountain lake at sunrise, soft morning light.\"}}"),
    timeout=300,
)
response.raise_for_status()
print(response.text)

Poll the returned task ID for processing status and output assets.

curl -H "Authorization: Bearer $MODEL_API_KEY" "https://newrouters.com/v1/tasks/$TASK_ID"

Documentation: Authentication · Task status and results · Error handling

Full API parameters and combination constraints

Request parameters

ParameterTypeValues & constraints
imagesarrayDefault: []
prompt *string
resolutionJSON"1k" · "2k" · "4k"Default: "1k"
aspect_ratioJSON"auto" · "1:1" · "3:2" · "2:3" · "3:4" · "4:3" · "4:5" · "5:4" · "9:16" · "16:9" · "21:9" · "1:4" · "1:8" · "4:1" · "8:1"Default: "auto"
ground_searchboolean
output_formatJSON"png" · "jpeg" · "webp"Default: "jpeg"
Full JSON Schema and combination constraints
{
  "type": "object",
  "required": [
    "prompt"
  ],
  "properties": {
    "images": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      },
      "default": [],
      "maxItems": 14
    },
    "prompt": {
      "type": "string",
      "maxLength": 100000,
      "minLength": 1
    },
    "resolution": {
      "enum": [
        "1k",
        "2k",
        "4k"
      ],
      "default": "1k"
    },
    "aspect_ratio": {
      "enum": [
        "auto",
        "1:1",
        "3:2",
        "2:3",
        "3:4",
        "4:3",
        "4:5",
        "5:4",
        "9:16",
        "16:9",
        "21:9",
        "1:4",
        "1:8",
        "4:1",
        "8:1"
      ],
      "default": "auto"
    },
    "ground_search": {
      "type": "boolean"
    },
    "output_format": {
      "enum": [
        "png",
        "jpeg",
        "webp"
      ],
      "default": "jpeg"
    }
  },
  "additionalProperties": false
}

Nano Banana 2.1 API · Common questions

Answers about pricing, inputs, integration and results.

How much does Nano Banana 2.1 cost?

The current public price starts at $0.02 / request. The pricing section lists each specification. Playground checks your account price before submitting; the completed request records the final charge.

How do I get a NewRouters API key?

Sign in and open Quick Start above the workspace. Select or create a key with access to this model, then copy the request example.

Which inputs and output settings are supported?

Supported input fields: images, prompt, resolution, aspect_ratio, ground_search, output_format. The parameter table includes allowed values and defaults.

Can I use reference images?

Yes. Use the reference mode to upload images or supply their URLs. The current limit is 14 images. Reference images guide a new generation; they do not imply mask editing support.

How do I retrieve results and past requests?

Save the returned task ID and query the task until it succeeds or fails. The History tab lets you reopen your tasks and reuse their parameters.

What happens if the model is closed?

The model keeps its page and identity, but new generation requests are blocked. Existing task records remain accessible. An upstream outage is reported separately from an administrator closing the model.

Read the API documentation ↗

Discover more AI tools

Browse all models ↗

Integration topics / Documentation

All documentation ↗