Gemini 3.1 Flash Image Preview API — Guia de Texto para Imagem e Imagem para Imagem
Use o gemini-3.1-flash-image-preview no APIMaster.ai para geração de texto para imagem e imagem para imagem até 4K.
Gemini 3.1 Flash Image Preview
- Modelo:
gemini-3.1-flash-image-preview(fixo) - Recursos: Texto para imagem, imagem para imagem (até 14 referências), até 4K, proporções extremas, pesquisa opcional Google Search grounding
Não chame este modelo via
/v1/chat/completions— você receberá 400 com uma dica para usar a API de Imagens.
Endpoints
| Modo | Endpoint | Quando usar |
|---|---|---|
| Síncrono (recomendado) | POST https://apimaster.ai/v1/images/generations |
Uma única ida e volta HTTP; a plataforma consulta o upstream e retorna { "data": [{ "url" }] } |
| Assíncrono | POST https://apimaster.ai/v1/images/generations/async → GET https://apimaster.ai/v1/tasks/{task_id}?model=gemini-3.1-flash-image-preview |
Trabalhos longos, filas personalizadas |
Início rápido (síncrono)
curl -s "https://apimaster.ai/v1/images/generations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3.1-flash-image-preview",
"prompt": "Cidade cyberpunk à noite, luzes de neon",
"size": "16:9",
"resolution": "2K",
"n": 1
}'
Sucesso
{
"created": 1782633696,
"data": [{ "url": "https://apimaster.ai/imgs/1782633695067198543.jpg" }]
}
Defina o tempo limite de leitura HTTP para ≥ 180s para 2K/4K. Baixe ou faça mirror dos URLs rapidamente — eles expiram.
Fluxo assíncrono
Envio
curl -s "https://apimaster.ai/v1/images/generations/async" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3.1-flash-image-preview",
"prompt": "um corgi astronauta na lua",
"size": "1:1",
"resolution": "1K",
"n": 1
}'
Resposta do envio
{
"code": 200,
"data": [{ "status": "submitted", "task_id": "task_01K8SGYNNNVBQTXNR4MM964S7K" }]
}
Consulta
curl -s "https://apimaster.ai/v1/tasks/TASK_ID?model=gemini-3.1-flash-image-preview" \
-H "Authorization: Bearer YOUR_API_KEY"
Em caso de sucesso, leia data.result.images[0].url. Status típicos de consulta: in_progress → succeeded / completed.
Aguarde 10–20s antes da primeira consulta, depois a cada 3–5s.
Autenticação
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Parâmetros do corpo
| Campo | Tipo | Obrigatório | Observações |
|---|---|---|---|
model |
string | sim | gemini-3.1-flash-image-preview |
prompt |
string | sim | Descrição da cena |
size |
string | não | Proporção; veja abaixo |
resolution |
string | não | 0.5K / 1K / 2K / 4K, padrão 1K; não diferencia maiúsculas/minúsculas |
n |
inteiro | não | Apenas 1 suportado (numérico, não string) |
image_urls |
array | não | Imagens de referência (URL ou data URI) |
google_search |
booleano | não | Grounding de pesquisa Google text |
google_image_search |
booleano | não | Requer google_search: true |
Níveis de resolução e precificação
| Valor | ~pixels | Preço vs base 1K |
|---|---|---|
0.5K |
~512 | mesmo que 1K |
1K |
~1024 | base |
2K |
~2048 | × 4/3 |
4K |
~4096 | × 2 |
A cobrança real = preço do canal × multiplicador de resolução × proporção do grupo. Veja o marketplace ou logs do console.
Erros
| HTTP | Significado |
|---|---|
| 400 | Parâmetros inválidos, ou endpoint errado (chat) |
| 401 | Chave de API inválida |
| 402 | Saldo insuficiente |
| 408 | Tempo limite da consulta síncrona — tente assíncrono ou reduza a resolução |
| 500 / 502 | Erro no upstream ou na plataforma |
Proporções inválidas podem resultar em 500 quando apenas um canal está configurado.
Observações
- Os logs de uso incluem
result_urlpara pré-visualização da imagem erequest_data.effective_resolution. - Os preços variam por canal e resolução — veja o marketplace.
