Gemini 2.5 Flash Image, known as Nano Banana, is Google's image generation and editing model that the official page calls its best engine for high-velocity visual creation, with state-of-the-art speed and efficiency.
- Input
- text image $0.3/M
- Output
- image text $30/M
- Knowledge cutoff
- 2025-06
Benchmarks
gemini-2.5-flash-image: 22 published, but no benchmark it shares with enough other models to compare.
Price in context
Where the price sits among 8 comparable models
The bar shows how this model’s price compares with every other model of the same kind on Synthorai. The cheapest and the most expensive are named at each end. These are base rates; batch, region and cache-write discounts are on the pricing page.
Specs & limits
Tokens
| Max output (vendor spec) | 32,768 |
|---|---|
| Knowledge cutoff | 2025-06 |
Image
| Sizes |
|
|---|---|
| Input modes | text-to-image, conversational image editing (image + text in) |
| Image capabilities |
|
Model
| Modalities | text + image → image + text |
|---|
- Unusually for an image model, publishes a knowledge cutoff (June 2025)
- function calling and thinking not supported
One prompt, measured through the gateway
gemini-2.5-flash-image
Model returned 1024×1024 latency 7 s
One prompt, one request per model, no retries and no cherry-picking - the first result each model returned. Neither size nor duration was pinned: each model used its own default, because a request shaped to fit all of them would flatter none. Files here are re-encoded for the web, so judge composition and prompt adherence, not compression.
Use gemini-2.5-flash-image in 30 seconds
OpenAI-compatible: swap the base_url, keep your SDK. POST /v1/images/generations
from openai import OpenAI
client = OpenAI(
base_url="https://synthorai.io/v1",
api_key="sk-syn-...",
)
resp = client.images.generate(
model="gemini-2.5-flash-image",
prompt="a watercolor lighthouse at dawn",
size="1024x1024",
)
print(resp.data[0].b64_json[:80])import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://synthorai.io/v1",
apiKey: "sk-syn-...",
});
const resp = await client.images.generate({
model: "gemini-2.5-flash-image",
prompt: "a watercolor lighthouse at dawn",
size: "1024x1024",
});
console.log(resp.data?.[0]?.b64_json?.slice(0, 80));curl https://synthorai.io/v1/images/generations \
-H "Authorization: Bearer sk-syn-..." \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-2.5-flash-image",
"prompt": "a watercolor lighthouse at dawn",
"size": "1024x1024"
}'package main
import (
"context"
"fmt"
"github.com/openai/openai-go/v3"
"github.com/openai/openai-go/v3/option"
)
func main() {
client := openai.NewClient(
option.WithBaseURL("https://synthorai.io/v1"),
option.WithAPIKey("sk-syn-..."),
)
resp, _ := client.Images.Generate(context.TODO(), openai.ImageGenerateParams{
Model: "gemini-2.5-flash-image",
Prompt: "a watercolor lighthouse at dawn",
Size: "1024x1024",
})
fmt.Println(resp.Data[0].B64JSON[:80])
}import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.images.*;
OpenAIClient client = OpenAIOkHttpClient.builder()
.baseUrl("https://synthorai.io/v1")
.apiKey("sk-syn-...")
.build();
ImagesResponse resp = client.images().generate(
ImageGenerateParams.builder()
.model("gemini-2.5-flash-image")
.prompt("a watercolor lighthouse at dawn")
.size("1024x1024")
.build());
System.out.println(resp.data().orElseThrow().get(0).b64Json().orElseThrow().substring(0, 80));About gemini-2.5-flash-image
- It is designed for high-volume scenarios, conversational image editing, and low-latency workflows, combining native multimodal understanding of image and text input with image-and-text output at 1K, 2K, and 4K, with aspect-ratio control added when the model reached general availability.
- Editing follows the family pattern: multi-turn conversational refinement that carries the previous interaction forward, adding, removing, or modifying elements, semantic masking for inpainting, style transfer, and composition from several reference images.
- Token limits are 65,536 for input and 32,768 for output, and structured outputs, caching, batch processing, and Flex and Priority inference are supported, while function calling, Search grounding, and thinking are not, which is the practical ceiling on how much reasoning it will do about a layout before drawing it.
- Every generation carries a SynthID watermark.
- Google now describes it as the legacy pioneer of the Nano Banana series and recommends new work move to Nano Banana 2 Lite for better quality, faster speeds, and lower cost, so treat it as the compatibility option rather than the default.
- Its knowledge cutoff is June 2025.
- Synthorai serves it behind the same OpenAI-compatible endpoint as its chat models.
FAQ
Is the gemini-2.5-flash-image API free to try?
Yes: new accounts get 10 trial calls and up to $1 in free credit, no card required. That's enough to try gemini-2.5-flash-image against your real workload before adding a payment method.
What is gemini-2.5-flash-image best at?
Best engine for high-velocity visual creation; conversational image editing at low latency; state-of-the-art speed and efficiency. See the About section for the full picture from the vendor's own release notes.
How much does gemini-2.5-flash-image cost?
gemini-2.5-flash-image costs $0.3 per million input tokens and $30 per million output tokens on Synthorai. That is the provider's list price, with no platform markup.
How do I generate images with the gemini-2.5-flash-image API?
POST to /v1/images/generations on Synthorai with model="gemini-2.5-flash-image". It follows the OpenAI images API shape, so no vendor SDK is needed. Supported sizes: 1024x1024 (1:1), 832x1248 (2:3), 1248x832 (3:2), 864x1184 (3:4), 1184x864 (4:3), 896x1152 (4:5), 1152x896 (5:4), 768x1344 (9:16), 1344x768 (16:9), 1536x672 (21:9).
How do I get access to gemini-2.5-flash-image?
Point your existing OpenAI SDK at base_url="https://synthorai.io/v1", set model="gemini-2.5-flash-image", and you're done. One API key covers every model on the gateway.
Related models
Compare
Every value on this page is transcribed from the vendor's own documentation, linked above, and carries the date it was checked. Prices are compared across the catalogue; specification values that vendors define differently are shown with the difference stated rather than charted. Nothing here is measured by us, and nothing is scored.