Imagem
gemini-3.1-flash-image API
Ligue para gemini-3.1-flash-image através do Modelflare com o ID exato do modelo mostrado nesta página.
Use o ID exato do modelo gemini-3.1-flash-image. O campo do modelo deve corresponder exatamente a esta página.

Parâmetros: size=2Kratio=16:9
Prompt: The cold room of a flower shop, steel shelves and buckets of cut stems. A figure in an acid-green vinyl coat has just pulled one bucket toward the door. Along that whole shelf the flowers have begun turning to blown glass, petal by petal, the transformation running outward from the bucket like frost: stems still green at the base, heads already clear and ringing, throwing hard coloured caustics across the steel. One hard pink light through the open cooler door, cold blue shade behind. Wide low camera, macro-sharp on the glass edges, real weight, film grain, no text.
{ "contents": [ { "role": "user", "parts": [ { "text": "The cold room of a flower shop, steel shelves and buckets of cut stems. A figure in an acid-green vinyl coat has just pulled one bucket toward the door. Along that whole shelf the flowers have begun turning to blown glass, petal by petal, the transformation running outward from the bucket like frost: stems still green at the base, heads already clear and ringing, throwing hard coloured caustics across the steel. One hard pink light through the open cooler door, cold blue shade behind. Wide low camera, macro-sharp on the glass edges, real weight, film grain, no text." } ] } ], "generationConfig": { "responseModalities": [ "IMAGE" ], "imageConfig": { "aspectRatio": "16:9", "imageSize": "2K" } }}Autenticação e endpoint
Seção intitulada “Autenticação e endpoint”Use uma chave de API Modelflare com https://modelflare.dev. O ponto de entrada do gateway é POST /v1/models/{model}:generateContent.
Authorization: Bearer YOUR_MODELFLARE_API_KEYGerar uma imagem
Seção intitulada “Gerar uma imagem”curl "https://modelflare.dev/v1/models/gemini-3.1-flash-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"}} }'Solicitar notas
Seção intitulada “Solicitar notas”Os modelos de imagem Gemini usam contents e generationConfig nativos; edições enviam a instrução de texto e inline_data no mesmo parts[].
Parâmetros de solicitação
Seção intitulada “Parâmetros de solicitação”Os modelos de imagem Gemini usam Gemini nativo generateContent. Colocar texto e imagens de referência no mesmo contents[].parts[]; imagens usam inline_data. Não envie esses modelos para /v1/images/generations, /v1/images/edits ou OpenAI /v1/responses. O imageSize enum é específico do modelo e mostrado abaixo.
| Campo | Obrigatório | Notas |
|---|---|---|
contents[].parts[].text |
Sim | Solicitação de texto ou instrução de edição |
contents[].parts[].inline_data |
Não | Dados de imagem Base64 e tipo MIME |
contents[].parts[].inline_data.mime_type |
Não | image/jpeg / image/png / image/webp |
contents[].parts[].inline_data.data |
Não | Conteúdo da imagem de referência codificada em Base64 |
generationConfig.responseModalities |
Sim | ["IMAGE"] ou ["TEXT", "IMAGE"] |
generationConfig.imageConfig.aspectRatio |
Não | 1:1 / 4:3 / 3:4 / 16:9 / 9:16 |
generationConfig.imageConfig.imageSize |
Não | 512 / 1K / 2K / 4K |
Limites de resposta e entrada
Seção intitulada “Limites de resposta e entrada”A imagem Flash suporta 512, 1K, 2K e 4K com 1:1, 4:3, 3:4, 16:9 e 9:16. A documentação oficial não publica um limite de contagem de imagens de referência, portanto o gateway não adiciona nenhum limite local.
Exemplo de edição de imagem
Seção intitulada “Exemplo de edição de imagem”Coloque a instrução de edição e a imagem de referência no mesmo contents[].parts[]. inline_data.data é o conteúdo da imagem Base64; não envie modelos de imagem Gemini para os endpoints OpenAI Images ou Responses.
curl "https://modelflare.dev/v1/models/gemini-3.1-flash-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"}} }'Forma de resposta
Seção intitulada “Forma de resposta”Leitura candidates[].content.parts[]; não presuma que cada parte é uma imagem porque a resposta pode conter partes de texto e imagem juntas.
| Campo | Notas |
|---|---|
candidates[].content.parts[].inline_data |
Tipo MIME de imagem gerada e dados Base64 |
candidates[].content.parts[].text |
Legenda de texto retornada quando TEXT foi solicitado |
candidates[].finishReason |
Conclusão ou motivo de segurança |
usageMetadata |
Uso de token de entrada/saída quando retornado pelo serviço |
Modelflare preserva o formato de resposta nativo do Gemini para gemini-3.1-flash-image e persiste partes de imagem utilizáveis.
Erros e tarefas com falha
Seção intitulada “Erros e tarefas com falha”Erros de campo, limites de tamanho/proporção e recusas de segurança da solicitação nativa do Gemini permanecem respostas de erro compatíveis com o Gemini. O gateway não as reescreve como respostas do OpenAI Images.
Escopo suportado
Seção intitulada “Escopo suportado”Esta página cobre chamadas de geração e edição de modelo Modelflare. O enriquecimento de pesquisa ou mapa, gerenciamento de voz e gerenciamento de biblioteca de elementos são APIs de recursos fora dessa superfície pública de chamada de modelo e não são campos de solicitação obrigatórios.
Preços e cobrança
Seção intitulada “Preços e cobrança”Este modelo utiliza faturamento baseado em token. Consulte a página de preços do modelo para obter o preço atual do cliente, a lista de preços de referência e as especificações completas.
Contrato de mídia · v1
Fonte oficial: Google
Parâmetros do contrato
| Campo de intenção | Controle | Opções |
|---|---|---|
size | select | 512 / 1K / 2K / 4K |
ratio | select | 1:1 / 4:3 / 3:4 / 16:9 / 9:16 |
Capacidade suportada
allowed_values·size· 512, 1K, 2K, 4Kallowed_values·ratio· 1:1, 4:3, 3:4, 16:9, 9:16
Exemplo de solicitação estruturada
text
Intenção
{
"prompt": "A red paper kite over a quiet harbour at dusk.",
"ratio": "1:1",
"size": "512"
}Solicitação do provedor
{
"contents": [
{
"parts": [
{
"text": "A red paper kite over a quiet harbour at dusk."
}
],
"role": "user"
}
],
"generationConfig": {
"imageConfig": {
"aspectRatio": "1:1",
"imageSize": "512"
},
"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
Intenção
{
"prompt": "A red paper kite over a quiet harbour at dusk.",
"ratio": "1:1",
"size": "512"
}Solicitação do provedor
{
"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": "512"
},
"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."
}
]
}
}