Images
Generate an image with gemini-2.5-flash-image: request, response and price.
The open tier serves one image model, gemini-2.5-flash-image. You call it through the same POST /v1/chat/completions route and pay the same way: sign a ceiling, receive the image, pay for the tokens delivered.
Where your prompt goes
Image prompts are served by Arcloak's always-on cloud node, which forwards them to OpenRouter, which routes them to Google. Treat an image prompt like any prompt sent to a cloud provider. The private tier has no image model: private/gemini-2.5-flash-image is refused with model_not_found.
Request
Send one user message with the description of the image. Image input and image editing are not supported: content must be a string.
{"model":"gemini-2.5-flash-image","messages":[{"role":"user","content":"A red fox in the snow, watercolour"}],"stream":true}
Every image request is quoted and run at max_tokens 1500, whatever the request sends: one image uses about 1290 output tokens, and a lower limit would cut it off.
Response
With "stream": true, the image arrives as one chunk event whose delta carries it as a PNG data URL, in OpenRouter's shape. The event is about 1.15 MB. Text chunks with a short caption may come before or after it. Then come the usage chunk, the x402.payment event and [DONE], as for text.
{"choices":[{"index":0,"delta":{"images":[{"type":"image_url","image_url":{"url":"data:image/png;base64,iVBOR…"}}]}}]}
With "stream": false, the images are in choices[0].message.images, in the same shape, beside content.
Price
The image tier costs 0.50 USDC per million input tokens and 40 USDC per million output tokens: about 0.05 USDC per 1024x1024 image. See Pricing.
In the playground, pick gemini-2.5-flash-image · image in the model list. The image shows in the transcript with a Download link. It stays in the tab's memory and is gone when you leave; nothing is stored. Each image request sends your prompt alone, without the earlier conversation.