Back to Models

Nano Banana

Google's fast, low-cost image family for text-to-image generation and prompt-based editing of existing images.

Image Editing$0.031Text to Image$0.031
Pricing$0.031/request
Latency~30 seconds average
ResolutionPer request
Best fortext to image, Fast, Low Cost

Parameters

Estimated Cost

You save 20% on this model
Base cost per request$0.039
Discount-20%
Your Total$0.031
You save $0.0078 per request

Sign in to run models

Output Preview

Ready

No output yet

Run the model to see generated results.

Sample Output

API Example— Current Parameters

generate.py
import requests

result = requests.post(
    'https://api.e2x.ai/v1/jobs/submit',
    headers={
        'Authorization': f'Bearer {API_KEY}',
        'Content-Type': 'application/json'
    },
    json={
  'model': 'google/nano-banana/text-to-image',
  'input': {}
}
)

Get Job— Poll for result

get_job.py
import time

job_id = result.json()['jobId']

while True:
    response = requests.get(
        f'https://api.e2x.ai/v1/jobs/{'{job_id}'}',
        headers={'Authorization': f'Bearer {'{API_KEY}'}'}
    )
    data = response.json()['data']

    if data['status'] == 'completed':
        print('Done!', data['outputs'][0]['url'])
        break
    elif data['status'] == 'failed':
        raise Exception(f"Job failed: {'{'}data['error']['message']{'}'}")

    time.sleep(2)
Explore Alternatives

Related Models

Discover more AI models for Text to Image

View all models

Nano Banana Text-to-Image on E2X — and Where to Move Before October 2

Nano Banana is Google's gemini-2.5-flash-image, the model that put the name on the map. We expose it as google/nano-banana/text-to-image and we charge $0.0312 per image, 20% under fal.ai's $0.039. Then there is the number that matters more than the price: Google shuts this model down on 2 October 2026, thirty-seven days from the day we wrote this.

That one fact reorders the rest of the page. We still run the endpoint, we still honour the price, and a batch you queue this week will finish fine. What we will not do is talk you into a fresh integration on a model with a five-week runway.

Here is where our price sat when we last checked it on August 26, 2026:

API providerPrice per imagevs. E2X
E2X$0.0312—
fal.ai$0.039we're 20% lower
Google Gemini API$0.039we're 20% lower
OpenRouter$0.039we're 20% lower

Prices and product terms can change. Check each provider's current pricing before making a purchasing decision. Google Batch or Flex pricing is not directly equivalent to a standard on-demand API request because scheduling, availability, and processing conditions differ; it is therefore excluded from this comparison. This is a scoped comparison, not a claim that E2X is the world's cheapest option in every configuration.

Google's own verdict on the model

The vendor is not being coy. Straight from the image generation docs:

"The legacy pioneer of the Nano Banana series. While it has been a reliable workhorse, we strongly recommend that customers transition to Nano Banana 2 Lite to experience enhanced quality, faster generation speeds, and lower API pricing."

Read who wrote that. Not a rival, not us — Google, about its own model, next to a deprecation table that lists gemini-2.5-flash-image with a shutdown date of 2 October 2026. "Strongly recommend" plus a hard date is roughly what an eviction notice looks like in model-card language.

Already have an image you want changed rather than replaced? Nano Banana edit-image takes references instead of a blank canvas — same model, same $0.0312, same expiry.

What the original still does well

Credit where it belongs. This model earned its reputation, and for the next few weeks it remains a fast, cheap generator.

It is quick. Independent measurement from OpenRouter puts the median around 1.94 seconds on AI Studio and 4.48 seconds on Vertex. Our own job pipeline budgets about 30 seconds end to end, which includes queueing and delivery on our side.

It covers ten aspect ratios — 21:9, 16:9, 4:3, 3:2, 1:1, 9:16, 3:4, 2:3, 5:4, 4:5. Wide enough for a banner set and a story crop out of the same prompt template.

It writes one resolution: 1K. No 2K, no 4K, no upscale path. If a client asked for print, this was never the model.

And one thing we will not pretend about: in-image text is weak here. Google attributes advanced text rendering to the Gemini 3 generation, not this one. Ask for a poster headline and you will get letterforms that look right at thumbnail size and fall apart at full size. Every page that told you otherwise was guessing.

API request: prompt in, image out

Create a key in your dashboard, keep it on your server, and post the job. Only prompt is required.

curl -X POST https://api.e2x.ai/v1/jobs/submit \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "google/nano-banana/text-to-image",
    "input": {
      "prompt": "A brass diving helmet resting on a workshop bench, morning light through a dusty window, shallow depth of field",
      "aspect_ratio": "3:2"
    }
  }'

You get a job ID back. Poll it until the status settles:

const headers = {
  Authorization: `Bearer ${process.env.E2X_API_KEY}`,
  "Content-Type": "application/json",
};

const submitted = await fetch("https://api.e2x.ai/v1/jobs/submit", {
  method: "POST",
  headers,
  body: JSON.stringify({
    model: "google/nano-banana/text-to-image",
    input: {
      prompt: "Terracotta rooftops at dusk, low drone perspective, warm haze, no people",
      aspect_ratio: "16:9",
    },
  }),
}).then((r) => r.json());

const jobId = submitted.data.jobId;

while (true) {
  const job = await fetch(`https://api.e2x.ai/v1/jobs/${jobId}`, { headers })
    .then((r) => r.json());

  if (job.data.status === "completed") {
    console.log(job.data.outputs[0].url);
    break;
  }
  if (job.data.status === "failed") {
    throw new Error(job.data.error?.message || "Generation failed");
  }
  await new Promise((r) => setTimeout(r, 2000));
}

Status moves pending → processing → completed, or lands on failed or cancelled. Send a webhookUrl in the body if you would rather we call you.

One schema detail that catches people: our aspect_ratio default is 9:16, not 1:1. Portrait unless you say otherwise. The current schema and price always live in the machine-readable spec.

The model you should actually be calling

Below is our full text-to-image line-up. Look at the second row before anything else.

ModelPrice / imagePick it when
Nano Banana 2 Lite$0.0238Almost always — cheaper and newer than this page's model
Nano Banana (legacy)$0.0312A pipeline you are draining before 2 October
Nano Banana 2$0.04You want the full current generation, not the Lite tier
Nano Banana Pro$0.075Readable in-image text, many references, 4K output
GPT Image 2$0.0525You prefer OpenAI's rendering style

Nano Banana 2 Lite is 24% cheaper than the model on this page, and it is a generation newer. That combination is unusual, and it removes the only argument anyone ever makes for staying on old weights. There is no budget trade-off to weigh here: you pay less, you get better output, and your integration stops expiring in five weeks. The migration pays for itself on the first request.

Same JSON contract, same polling loop, same aspect ratios. Change the model string and ship. If your work needs legible words baked into the artwork, skip Lite and go to Nano Banana Pro — that is the tier where Google put the text rendering. Everything else we run sits in the text-to-image category and the full model catalog.

Prompting a model with a June 2025 memory

Knowledge cutoff is June 2025, so anything that happened after that does not exist inside the weights. Naming a 2026 product or a recent public event gets you an invention, confidently rendered.

Describe optics rather than adjectives. "85mm, f/1.8, backlit, slight lens flare" does more work than "beautiful cinematic shot" — the second phrase is so common in training data that it collapses toward an average. State the negative space too: this model happily fills an empty corner with clutter unless you tell it not to.

Keep prompts under a paragraph. The context window is 65,536 tokens in and 32,768 out, so length is never the constraint — attention is. Long prompts here dilute rather than refine.

Before you ship anything with it

Every output carries a SynthID watermark. Google's imperceptible provenance marker, applied without exception, and no provider — us included — has a switch for it.

Then the calendar. Put 2 October 2026 in your incident runbook, not just your backlog. When Google turns the weights off, requests to this slug fail; that is a vendor shutdown, not an outage anyone can patch around. If you have scheduled jobs, cron tasks or a customer-facing feature pointed here, move the slug now while it is a one-line change instead of a Sunday.

Frequently asked questions

When exactly does Nano Banana shut down?

Google's deprecation table lists gemini-2.5-flash-image with a shutdown date of 2 October 2026. After that date the model stops serving requests at every provider, ours included, because the weights are Google's to retire. Migrate before then rather than on the day.

What should I use instead of the original Nano Banana?

Nano Banana 2 Lite, and it is not a close call. We price it at $0.0238 against this model's $0.0312, it is a full generation newer, and Google names it as the recommended replacement. Swap the model slug — the request and response shapes are unchanged.

How much does Nano Banana text-to-image cost on E2X?

$0.0312 per generated image, which was 20% below fal.ai's $0.039 when we checked on August 26, 2026. Google's own API and OpenRouter were both at $0.039 on that date. Prices move, so confirm on the live model page before you budget.

Can this model render text inside the image?

Not reliably. Google attributes advanced text rendering to the Gemini 3 generation, and this model predates it — short words sometimes survive, sentences usually do not. For packaging, infographics or anything with a headline, use Nano Banana Pro instead.

What resolution does it output?

1K, and only 1K. There is no 2K or 4K path on this generation. If you need larger output, Nano Banana Pro goes to 4096×4096.

Do the images carry a watermark?

Yes. Every image includes SynthID, Google's imperceptible marker for AI-generated content. No provider exposes a parameter to disable it, and any that claimed to would be misleading you.

Is the API synchronous?

No. You submit a job and then either poll its status or hand us a webhookUrl. A completed job exposes the file at data.outputs[0].url, and our pipeline budgets roughly 30 seconds per request.