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.