Image
gemini-3-pro-image API
Call gemini-3-pro-image through Modelflare with the exact model ID shown on this page.
Use the exact model ID gemini-3-pro-image. The model field must match this page exactly.

Parameters: size=2Kratio=16:9
Prompt: Photoreal interior photograph of a sunlit Scandinavian living room: pale oak floor, linen sofa, a large window with sheer curtains, a single olive tree in a clay pot, morning light casting long soft shadows, no text.
{ "contents": [ { "role": "user", "parts": [ { "text": "Photoreal interior photograph of a sunlit Scandinavian living room: pale oak floor, linen sofa, a large window with sheer curtains, a single olive tree in a clay pot, morning light casting long soft shadows, no text." } ] } ], "generationConfig": { "responseModalities": [ "IMAGE" ], "imageConfig": { "aspectRatio": "16:9", "imageSize": "2K" } }}Authentication and endpoint
Section titled “Authentication and endpoint”Use a Modelflare API key with https://modelflare.dev. The gateway entry point is POST /v1/models/{model}:generateContent.
Authorization: Bearer YOUR_MODELFLARE_API_KEYGenerate an image
Section titled “Generate an image”curl "https://modelflare.dev/v1/models/gemini-3-pro-image:generateContent" \ -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "contents": [{"role": "user", "parts": [{"text": "A white cat runs through a neon-lit street in the rain"}]}], "generationConfig": {"responseModalities": ["TEXT", "IMAGE"], "imageConfig": {"aspectRatio": "16:9", "imageSize": "1K"}} }'Request notes
Section titled “Request notes”Gemini image models use native contents and generationConfig; edits send the text instruction and inline_data in the same parts[].
Request parameters
Section titled “Request parameters”Gemini image models use native Gemini generateContent. Put text and reference images in the same contents[].parts[]; images use inline_data. Do not send these models to /v1/images/generations, /v1/images/edits, or OpenAI /v1/responses. The imageSize enum is model-specific and shown below.
| Field | Required | Notes |
|---|---|---|
contents[].parts[].text |
Yes | Text prompt or edit instruction |
contents[].parts[].inline_data |
No | Base64 image data and MIME type |
contents[].parts[].inline_data.mime_type |
No | image/jpeg / image/png / image/webp |
contents[].parts[].inline_data.data |
No | Base64-encoded reference image content |
generationConfig.responseModalities |
Yes | ["IMAGE"] or ["TEXT", "IMAGE"] |
generationConfig.imageConfig.aspectRatio |
No | 1:1 / 4:3 / 3:4 / 16:9 / 9:16 |
generationConfig.imageConfig.imageSize |
No | 1K / 2K / 4K |
Response and input limits
Section titled “Response and input limits”Pro supports 1K, 2K, and 4K with 1:1, 4:3, 3:4, 16:9, and 9:16. The official documentation does not publish a reference-image count cap, so the gateway adds no local cap.
Image editing example
Section titled “Image editing example”Put the edit instruction and the reference image in the same contents[].parts[]. inline_data.data is the Base64 image content; do not send Gemini image models to the OpenAI Images or Responses endpoints.
curl "https://modelflare.dev/v1/models/gemini-3-pro-image:generateContent" \ -H "Authorization: Bearer YOUR_MODELFLARE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "contents": [{"role": "user", "parts": [ {"text": "Keep the subject and lighting, but replace the background with a misty pine forest."}, {"inline_data": {"mime_type": "image/jpeg", "data": "BASE64_IMAGE_DATA"}} ]}], "generationConfig": {"responseModalities": ["TEXT", "IMAGE"], "imageConfig": {"aspectRatio": "1:1", "imageSize": "1K"}} }'Response shape
Section titled “Response shape”Read candidates[].content.parts[]; do not assume every part is an image because the response may contain text and image parts together.
| Field | Notes |
|---|---|
candidates[].content.parts[].inline_data |
Generated image MIME type and Base64 data |
candidates[].content.parts[].text |
Text caption returned when TEXT was requested |
candidates[].finishReason |
Completion or safety reason |
usageMetadata |
Input/output token usage when returned by the service |
Modelflare preserves the native Gemini response shape for gemini-3-pro-image and persists usable image parts.
Errors and failed tasks
Section titled “Errors and failed tasks”Field errors, size/ratio limits, and safety refusals from the native Gemini request remain Gemini-compatible error responses. The gateway does not rewrite them as OpenAI Images responses.
Supported scope
Section titled “Supported scope”This page covers Modelflare model generation and editing calls. Search or map enrichment, voice management, and element-library management are resource APIs outside this public model-call surface and are not required request fields.
Pricing and billing
Section titled “Pricing and billing”This model uses token-based billing. See the model pricing page for the current customer price, reference list price, and complete specification.
Media contract · v1
Official source: Google
Contract parameters
| Intent field | Control | Options |
|---|---|---|
size | select | 1K / 2K / 4K |
ratio | select | 1:1 / 4:3 / 3:4 / 16:9 / 9:16 |
Supported capability
allowed_values·size· 1K, 2K, 4Kallowed_values·ratio· 1:1, 4:3, 3:4, 16:9, 9:16
Structured request example
text
Intent
{
"prompt": "A red paper kite over a quiet harbour at dusk.",
"ratio": "1:1",
"size": "1K"
}Provider request
{
"contents": [
{
"parts": [
{
"text": "A red paper kite over a quiet harbour at dusk."
}
],
"role": "user"
}
],
"generationConfig": {
"imageConfig": {
"aspectRatio": "1:1",
"imageSize": "1K"
},
"responseModalities": [
"TEXT",
"IMAGE"
]
},
"systemInstruction": {
"parts": [
{
"text": "Generate an image for the user's request. If details are missing, choose reasonable defaults and still return an image. Do not ask clarifying questions."
}
]
}
}reference
Intent
{
"prompt": "A red paper kite over a quiet harbour at dusk.",
"ratio": "1:1",
"size": "1K"
}Provider request
{
"contents": [
{
"parts": [
{
"text": "A red paper kite over a quiet harbour at dusk."
},
{
"inline_data": {
"data": "AAAA",
"mime_type": "image/png"
}
}
],
"role": "user"
}
],
"generationConfig": {
"imageConfig": {
"aspectRatio": "1:1",
"imageSize": "1K"
},
"responseModalities": [
"TEXT",
"IMAGE"
]
},
"systemInstruction": {
"parts": [
{
"text": "Generate an image for the user's request. If details are missing, choose reasonable defaults and still return an image. Do not ask clarifying questions."
}
]
}
}