MenuGeração de imagens

Geração de imagens

Transforme uma descrição em texto (prompt) em imagens com os modelos de imagem do Google (família Nano Banana / Gemini Image). O endpoint é compatível com a OpenAI Images API — basta apontar o SDK openai para a base URL do Geraikita, com a mesma gk- key e o mesmo saldo de GeraiPoints.

Endpoint

POSThttps://ai.geraikita.com/v1/images/generations
HeaderValor
AuthorizationBearer gk-... (ou x-api-key: gk-...)
Content-Typeapplication/json

Uma requisição = um prompt, que gera de 1 a 4 imagens. Streaming não é suportado — a resposta é enviada de uma vez quando as imagens ficam prontas.

Parâmetros do body

ParâmetroTipoDescrição
modelstringobrigatórioID do modelo de imagem, p. ex. gemini-3.1-flash-image ou gemini-3-pro-image — a lista completa está na tabela de preços abaixo.
promptstringobrigatórioDescrição da imagem desejada, no máximo 4000 caracteres.
nintegeropcionalQuantidade de imagens, 1–4. Padrão 1. Cada imagem bem-sucedida é cobrada separadamente.
sizestringopcionalUm de auto | 1024x1024 | 1536x1024 | 1024x1536 | 1792x1024 | 1024x1792. Padrão auto: o modelo escolhe a proporção, geralmente paisagem 16:9 (cerca de 1376×768). O tamanho é apenas uma indicação de proporção — a resolução final fica a cargo do modelo.
response_formatstringopcionalurl (padrão) para um link da imagem, ou b64_json para os dados da imagem em base64 diretamente na resposta.

Outros campos (p. ex. quality ou style) são ignorados.

Exemplos

O processamento costuma levar 15–45 segundos por requisição e pode chegar a cerca de 4 minutos quando a rota de reserva é usada. Defina um timeout do cliente de pelo menos 300 segundos para que a requisição não seja cortada antes de as imagens ficarem prontas.
curl https://ai.geraikita.com/v1/images/generations \
  --max-time 300 \
  -H "Authorization: Bearer gk-xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.1-flash-image",
    "prompt": "Pôster promocional de um café gelado com açúcar de palma sobre uma mesa de madeira, luz quente da manhã, texto grande \"20% OFF\" no topo, estilo ilustração flat",
    "n": 1,
    "size": "1024x1024"
  }'

Exemplo de resposta

data traz um objeto por imagem bem-sucedida — url ou b64_json conforme response_format. Se algumas imagens falharem, pode haver menos objetos que n.

200 OK · application/json
{
  "created": 1793464057,
  "data": [
    { "url": "https://api.geraikita.com/cdn/ai-gambar/2026/11/xxxxxxxxxxxx.jpg" }
  ]
}

Cabeçalhos da resposta: X-Geraikita-Images = número de imagens bem-sucedidas, X-Geraikita-GP-Charged = GeraiPoints cobrados por essa requisição.

Preços

Modelos de imagem são cobrados por imagem gerada com sucesso — não por token. Os preços atuais (sujeitos a alteração) estão na tabela abaixo e na página de preços.

Não foi possível carregar os preços dos modelos de imagem agora — veja a página de preços.

  • Imagens que falham não são cobradas, assim como requisições rejeitadas (parâmetros inválidos ou violação da política de conteúdo).
  • Seu saldo de GeraiPoints precisa cobrir n × o preço por imagem antes de a requisição ser processada; caso contrário, a resposta é 402.
  • Modelos de imagem não estão incluídos no Unlimited plan, no Bansos (nível gratuito) nem em outras cotas gratuitas — são sempre descontados do saldo de GeraiPoints.
  • Cada imagem aparece como uma linha no histórico de uso do dashboard, com o rótulo Imagem.

Códigos de erro

Os erros seguem o formato da OpenAI: um objeto error com message, type, param e code.

Statustype / codeSignificado
400invalid_request_errorParâmetro inválido (p. ex. n fora de 1–4, size desconhecido, prompt vazio ou longo demais). Não é cobrado.
400content_policy_violationO prompt viola a política de conteúdo (veja abaixo). Não é cobrado.
401—API key ausente ou inválida.
402insufficient_quotaGeraiPoints insuficientes para a quantidade de imagens pedida — recarregue, por favor.
403—Este modelo não é permitido para essa API key — adicione-o à lista de modelos da key no dashboard.
404model_not_foundModelo desconhecido ou que não é de imagem.
429rate_limit_exceededRequisições demais — o limite é de 10 requisições/minuto por key. Aguarde o tempo indicado no cabeçalho Retry-After.
502image_generation_failedA geração da imagem falhou no servidor. Não é cobrado — tente novamente.
Exemplo de erro
{
  "error": {
    "message": "...",
    "type": "...",
    "param": "...",
    "code": "..."
  }
}

Chamar um modelo de imagem por /v1/chat/completions retorna 400 com indicação deste endpoint — use /v1/images/generations.

Dicas de prompt

  • Os prompts podem ser escritos em português, inglês, indonésio ou outros idiomas.
  • O modelo consegue escrever texto dentro da imagem — coloque o texto exato entre aspas, p. ex. o texto "20% OFF".
  • Descreva o assunto, o cenário, o estilo (foto, ilustração flat, 3D, aquarela), a iluminação e a composição — quanto mais específico, mais fiel o resultado.
  • Escolha size conforme o uso: 1024x1024 para o feed, 1024x1792 para stories/retrato, 1792x1024 para banners em paisagem.
  • Precisa de várias variações? Use n até 4 numa só requisição — lembre que cada imagem bem-sucedida é cobrada.

Política de conteúdo

As seguintes requisições são rejeitadas:

  • Conteúdo sexual ou explícito.
  • Conteúdo que explore ou coloque crianças em perigo.
  • Violência sádica ou gore.
  • Figuras políticas reais ou figuras públicas reais.

As rejeições retornam 400 com o código content_policy_violation e não são cobradas.

Links das imagens e armazenamento

A URL em data[].url é pública — qualquer pessoa com o link pode abrir a imagem — e não há garantia de que fique disponível para sempre. Baixe e guarde uma cópia no seu próprio armazenamento logo após a geração, ou peça b64_json para receber os dados da imagem diretamente na resposta.