Image Generation
gemini-2-5-flash-image Image Generation API
Designed for low-latency image generation, local edits, multimodal text-image responses, and iterative visual creation.
Authorization
BearerAuth
Model relay interface recognition. Request heading: Autoration: Bearer .
In: header
Path Parameters
Gemini model name.
"gemini-2.5-flash-image"Request Body
application/json
Enter an array of content to carry one or more rounds of messages between users, models or tools. Each element is a Content object, usually consisting of __ FD_PROTECT_0 __ and __ FD_PROTECT_1 __: __ FD_PROTECT_2 __, commonly known as _ FD_PROTECT_3 __, _ FD_PROTECT_4 __, single-cycle user_9 _ with _ FD_PROTECT_10, _ FD_PROTECT_11 __, _ FD_PROTECT_12 __, _ FD_PRT_13 _ _ _ _ _ _FCED_14 Applies to scenarios such as text conversations, image/audio/video/document understanding, function calls and multimodular generation. The number of arrays and media sizes are based on upstream model and operational configuration limits.
Gemini system command.
Generates configurations such as temperature, TopK, TopP, maximum output length.
Security policy settings. List of safetySettings. Scope: An array length is based on upstream or business configuration.
Gemini tool definition. . Scope: The length of arrays and the complexity of schema are based on upstream limits.
Response Body
application/json
curl -X POST "https://api.tokaify.com/v1beta/models/gemini-2.5-flash-image:generateContent" \ -H "Content-Type: application/json" \ -d '{ "contents": [ { "parts": [ { "text": "Writing a four-word Chinese short poem on the theme of urban night rain." } ] } ], "generationConfig": { "temperature": 0.7, "maxOutputTokens": 100000 } }'{
"candidates": [],
"usageMetadata": {},
"modelVersion": "string"
}Request Parameters
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
contents | array | Yes | None | Gemini content array. Use parts[].text for text-to-image generation; for image editing, you can also provide images via inline_data. |
contents[].role | string | No | user | Message role, usually user. |
contents[].parts[].text | string | Yes | None | Image generation prompt. |
contents[].parts[].inline_data.mime_type | string | No | None | Input reference image MIME type. Supports image/png, image/jpeg, image/webp, image/heic, and image/heif. |
contents[].parts[].inline_data.data | string | No | None | Base64-encoded reference image. |
generationConfig.responseModalities | string[] | No | ["TEXT","IMAGE"] | Returned modalities. If you only need images, pass ["IMAGE"]. |
generationConfig.imageConfig.aspectRatio | string | No | 1:1 | Supports 1:1, 3:2, 2:3, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, and 21:9. |
generationConfig.candidateCount | integer | No | 1 | Candidate count. The official default is 1, and it is typically kept at 10 or below. |
safetySettings | array | No | None | Gemini safety settings. |
Example Code
curl "https://api.tokaify.com/v1beta/models/gemini-2.5-flash-image:generateContent" \
-H "Authorization: Bearer $TOKAIFY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"contents": [{ "role": "user", "parts": [{ "text": "Generate a 16:9 modern API documentation cover in a minimalist blue-and-white style." }] }],
"generationConfig": {
"responseModalities": ["IMAGE"],
"imageConfig": { "aspectRatio": "16:9" }
}
}'import requests
response = requests.post(
"https://api.tokaify.com/v1beta/models/gemini-2.5-flash-image:generateContent",
headers={"Authorization": "Bearer YOUR_TOKAIFY_API_KEY"},
json={
"contents": [{"role": "user", "parts": [{"text": "Generate a 16:9 modern API documentation cover in a minimalist blue-and-white style."}]}],
"generationConfig": {"responseModalities": ["IMAGE"], "imageConfig": {"aspectRatio": "16:9"}},
},
)
print(response.json())const response = await fetch("https://api.tokaify.com/v1beta/models/gemini-2.5-flash-image:generateContent", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.TOKAIFY_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({
contents: [{ role: "user", parts: [{ text: "Generate a 16:9 modern API documentation cover in a minimalist blue-and-white style." }] }],
generationConfig: { responseModalities: ["IMAGE"], imageConfig: { aspectRatio: "16:9" } },
}),
});
console.log(await response.json());Response Example
{
"candidates": [
{
"content": {
"role": "model",
"parts": [{ "inlineData": { "mimeType": "image/png", "data": "iVBORw0KGgoAAAANSUhEUg..." } }]
},
"finishReason": "STOP"
}
],
"usageMetadata": { "promptTokenCount": 32, "candidatesTokenCount": 1290, "totalTokenCount": 1322 }
}Notes
Billing follows the configured model and channel ratios. This model typically outputs images around the 1024px class; if you only need images, explicitly set responseModalities=["IMAGE"].
How is this guide?
Last updated on