Skip to content

Native Gemini format

POST
/v1beta/models/{model}:generateContent
curl --request POST \
--url https://api.mirapi.ai/v1beta/models/gemini-3-pro-image-preview:generateContent \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "contents": [ { "role": "user", "parts": [ { "text": "draw a cat" } ] } ], "generationConfig": { "responseModalities": [ "TEXT", "IMAGE" ], "imageConfig": { "aspectRatio": "16:9", "imageSize": "4K" } } }'

Gemini image generation

Calling through the OpenAI chat endpoint: the Nano Banana model family can also be called via POST /v1/chat/completions (OpenAI format), with image parameters in extra_body.google.image_config (aspect_ratio, image_size).

model
required
string

Model name

Example
gemini-3-pro-image-preview
Media typeapplication/json
object
contents
required
Array<object>
object
role
string
parts
Array<object>
object
text
string
generationConfig
required
object
thinkingConfig
object
includeThoughts
required

Whether to return thinking content

boolean
responseModalities
required
Array<string>
imageConfig
required
object
aspectRatio
required
string
imageSize
required
string
Examples

Drawing

{
"contents": [
{
"role": "user",
"parts": [
{
"text": "draw a cat"
}
]
}
],
"generationConfig": {
"responseModalities": [
"TEXT",
"IMAGE"
],
"imageConfig": {
"aspectRatio": "16:9",
"imageSize": "4K"
}
}
}

Success

Media typeapplication/json
object
candidates
Array<object>
object
content
object
role
string
parts
Array<object>
object
finishReason
string
safetyRatings
Array<object>
object
usageMetadata
object
promptTokenCount
integer
candidatesTokenCount
integer
totalTokenCount
integer
Examplegenerated
{
"candidates": [
{
"content": {
"role": "example",
"parts": [
{}
]
},
"finishReason": "example",
"safetyRatings": [
{}
]
}
],
"usageMetadata": {
"promptTokenCount": 1,
"candidatesTokenCount": 1,
"totalTokenCount": 1
}
}