gemini-3.1-flash-image-preview· Released Feb 26, 2026
google/gemini-3.1-flash-image-preview
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...
Input
From$0.4444/M
Output
From$2.6664/M
Context
Up to 131K
Max output
Up to 66K
Modalities
ImageTextImageTextInput and output show the lowest price across upstreams, for reference. Your actual prices are listed per upstream below.
Upstreams & pricing
| Upstream | Context | Max output | Input $/1M | Output $/1M | Data policy |
|---|---|---|---|---|---|
Zenlayer AI Gateway-openai_compat/GlobalFrom price | 131K | 66K | $0.4444 | $2.6664 | — |
Routed in real time — you pay the listed price of whichever upstream serves your call. Data policies reflect each upstream's own data terms and its agreement with us. We do not independently audit upstream implementations.
How to call
bashrequest.sh
curl https://api.lune.io/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "google/gemini-3.1-flash-image-preview",
"messages": [
{"role": "user", "content": "Say hello in five words."}
]
}'pythonrequest.py
from openai import OpenAI
import os
client = OpenAI(
api_key=os.environ["API_KEY"],
base_url="https://api.lune.io/v1",
)
resp = client.chat.completions.create(
model="google/gemini-3.1-flash-image-preview",
messages=[{"role": "user", "content": "Say hello in five words."}],
)
print(resp.choices[0].message.content)tsrequest.ts
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.API_KEY,
baseURL: "https://api.lune.io/v1",
});
const resp = await client.chat.completions.create({
model: "google/gemini-3.1-flash-image-preview",
messages: [{ role: "user", content: "Say hello in five words." }],
});
console.log(resp.choices[0].message.content);gomain.go
package main
import (
"context"
"fmt"
"os"
"github.com/sashabaranov/go-openai"
)
func main() {
cfg := openai.DefaultConfig(os.Getenv("API_KEY"))
cfg.BaseURL = "https://api.lune.io/v1"
client := openai.NewClientWithConfig(cfg)
resp, err := client.CreateChatCompletion(
context.Background(),
openai.ChatCompletionRequest{
Model: "google/gemini-3.1-flash-image-preview",
Messages: []openai.ChatCompletionMessage{
{Role: "user", Content: "Say hello in five words."},
},
},
)
if err != nil {
panic(err)
}
fmt.Println(resp.Choices[0].Message.Content)
}