Saltar para o conteúdo principal
POST
/
v1
/
images
/
generations
curl --request POST \
  --url https://api.apimart.ai/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "gemini-3.1-flash-lite-image",
    "prompt": "赛博朋克风格的城市夜景,霓虹灯闪烁",
    "size": "16:9",
    "resolution": "1K",
    "n": 1
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01K8SGYNNNVBQTXNR4MM964S7K"
    }
  ]
}
curl --request POST \
  --url https://api.apimart.ai/v1/images/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "gemini-3.1-flash-lite-image",
    "prompt": "赛博朋克风格的城市夜景,霓虹灯闪烁",
    "size": "16:9",
    "resolution": "1K",
    "n": 1
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01K8SGYNNNVBQTXNR4MM964S7K"
    }
  ]
}

Autorizações

Authorization
string
obrigatório
Todos os endpoints da API requerem autenticação por Bearer TokenObtenha sua chave de API:Acesse a página de gerenciamento de chaves de API para obter sua chave de APIAdicione-a ao cabeçalho da requisição:
Authorization: Bearer YOUR_API_KEY

Body

model
string
padrão:"gemini-3.1-flash-lite-image"
obrigatório
Nome do modelo de geração de imagensPreencha sempre com este nome de modelo: gemini-3.1-flash-lite-image (Nano Banana Lite)
Este modelo conecta-se diretamente ao canal oficial do Gemini, não possui variante -official e também não suporta o parâmetro de fallback official_fallback.
prompt
string
obrigatório
Descrição textual para a geração da imagem
size
string
Proporção da imagemProporções suportadas:
  • auto - Escolhe automaticamente a proporção
  • 1:1 - Quadrado, avatares, redes sociais
  • 3:2 / 2:3 - Fotos padrão
  • 4:3 / 3:4 - Proporção tradicional de telas
  • 16:9 / 9:16 - Widescreen / capas de vídeos verticais
  • 5:4 / 4:5 - Imagens para Instagram
  • 21:9 - Banner ultrawide
Para geração a partir de texto, quando size é auto, o padrão é 1:1 ou 16:9; para geração a partir de imagem, a proporção segue a resposta do upstream. Recomendamos especificar uma proporção explicitamente.
resolution
string
padrão:"1K"
Resolução da imagem de saídaValores suportados:
  • 1K - ~1024px, resolução padrão (o Lite suporta apenas este nível)
O Lite suporta apenas 1K. Enviar 2K / 4K / 0.5K resulta em rebaixamento silencioso para 1K, sem gerar erro e sem produzir de fato uma resolução mais alta. A interface do frontend não precisa expor a opção de resolução.
n
integer
padrão:"1"
Número de imagens a serem geradasIntervalo: 1 ~ 4, padrão 1Quando n>1, o backend faz várias requisições simultâneas ao upstream e cobra pelo número de imagens realmente geradas com sucesso. Recomendamos que o frontend envie sempre 1 (exibe o progresso imagem por imagem e torna a cobrança mais clara).⚠️ Observação: Deve ser um número puro (ex.: 1), não use aspas, caso contrário ocorrerá um erro
image_urls
array
Lista de URLs de imagens de referência para geração a partir de imagemDois formatos são suportados:1. URL completo da imagem
  • URL de imagem publicamente acessível (http:// ou https://)
  • Exemplo: https://example.com/image.jpg
2. Formato Base64
  • Deve usar o formato Data URI completo
  • Formato: data:image/{format};base64,{base64data}
  • Formatos de imagem suportados: jpeg, png, webp
  • Exemplo: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABg...
  • ⚠️ Observação: É necessário incluir o prefixo data:image/jpeg;base64,
Limitações:
  • Máximo de 14 imagens de referência (recomendado: até 10 referências de objetos + 4 referências de personagens)
  • Tamanho de uma única imagem: não exceder 10 MB
  • Formatos suportados: jpeg, png, webp
webhook
string
Endereço de callback da tarefa (base)Quando a tarefa é concluída com sucesso / falha, a plataforma faz o callback para webhook + /callback (não encaminha o upstream). Enviar este parâmetro reduz significativamente o polling; ainda assim, recomendamos manter o polling como mecanismo de reserva.
Pontos importantes de uso do Lite
  • Não suporta google_search / google_image_search: o Lite usa o endpoint interactions da Developer API, e o upstream não disponibiliza a ferramenta de Search (retorna “Search as tool is not enabled for this model”), e o adaptador da plataforma também não envia esse parâmetro. Enviá-lo não gera erro e a imagem é gerada normalmente, mas sem qualquer efeito de aprimoramento por busca. Se precisar de aprimoramento por busca, use gemini-3.1-flash-image-preview.
  • Não suporta repintura local via mask_url (a família Gemini usa aspect ratio + imagens de referência, não máscaras).
  • Cobrança por token (diferente do preço fixo por imagem do flash/pro): entrada de cerca de 0.25/milha~odetokens,saıˊdadeimagemdecercade0.25/milhão de tokens, saída de imagem de cerca de 30/milhão de tokens, uma única imagem 1K ≈ 1120 tokens de output ≈ $0.0336/imagem. O preço real segue a configuração de multiplicador do backend.
  • Todas as imagens geradas contêm a marca d’água invisível SynthID do Google (comportamento do upstream, não pode ser desativado).

Response

code
integer
Código de status da resposta
data
array
Array de dados da resposta