Skip to content
No models found
OpenRouter
© 2026 OpenRouter, Inc

Product

  • Chat
  • Rankings
  • Apps
  • Models
  • Providers
  • Pricing
  • Enterprise
  • Labs

Company

  • About
  • Announcements
  • CareersHiring
  • Privacy
  • Terms of Service
  • Support
  • State of AI
  • Works With OR
  • Data

Developer

  • Documentation
  • API Reference
  • SDK
  • Status

Connect

  • Discord
  • GitHub
  • LinkedIn
  • X
  • YouTube
Favicon for google

Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)

google/gemini-3.1-flash-image-preview

Compare

Gemini 3.1 Flash Image Preview, a.k.a. "Nano Banana 2," is Google’s latest state of the art image generation and editing model, delivering Pro-level visual quality at Flash speed. It combines advanced contextual understanding with fast, cost-efficient inference, making complex image generation and iterative edits significantly more accessible. Aspect ratios can be controlled with the image_config API Parameter(opens in new tab)

Modalities

Input Price

$0.50per 1M

Output Price

$3per 1M

Context

131K

Weekly Tokens

5.48B

Released

Feb 26, 2026

Overview
Providers
Performance
Pricing
Benchmarks
Apps
Activity
Uptime
API

Sample code and API for Nano Banana 2 (Gemini 3.1 Flash Image Preview)

OpenRouter normalizes requests and responses across providers for you.

1

Get your API key

Create an API key from your OpenRouter dashboard and set it as an environment variable:

2

Make your first request

Use google/gemini-3.1-flash-image-preview with the OpenRouter API:

OpenRouter supports image generation models that can output both text and images. These models can create images from text prompts when you specify modalities: ["image", "text"] in your request. The generated images are returned as base64-encoded data URLs in the assistant message. Learn more about image generation.

In the examples below, the OpenRouter-specific headers are optional. Setting them allows your app to appear on the OpenRouter leaderboards.

Using third-party SDKs

For information about using third-party SDKs and frameworks with OpenRouter, please see our frameworks documentation.

3

Enable streaming

Add "stream": true to your request body to receive responses as server-sent events:

Endpoint

POSThttps://openrouter.ai/api/v1/chat/completions
AuthorizationBearer $OPENROUTER_API_KEY
Content-Typeapplication/json
HTTP-Refereroptional — your site URL, for rankings
X-Titleoptional — your site name, for rankings
Modelgoogle/gemini-3.1-flash-image-preview

Parameters

NameTypeDefaultDescription
reasoningmap—Controls reasoning behavior for models that support thinking tokens, including whether reasoning is enabled, the reasoning effort, maximum reasoning tokens, and whether reasoning is excluded from the response.
include_reasoningboolean—Deprecated alias for reasoning.exclude.
max_tokensinteger—This sets the upper limit for the number of tokens the model can generate in response.
temperaturefloat1This setting influences the variety in the model's responses.
top_pfloat1This setting limits the model's choices to a percentage of likely tokens: only the top tokens whose probabilities add up to P.
seedinteger—If specified, the inferencing will sample deterministically, such that repeated requests with the same seed and parameters should return the same result.
response_formatmap—Forces the model to produce specific output format.
stoparray—Stop generation immediately if the model encounter any token specified in the stop array.
structured_outputsboolean—If the model can return structured outputs using response_format json_schema.