Skip to main content
POST
Texto para imagem · tarefas assíncronas. Envie POST /v1/images/generations e, em seguida, consulte Obter status da tarefa.
O nome do modelo é fixo: grok-imagine-2.0-ext. Não suportado: imagens de referência, stream ou valores de response_format diferentes de url.
Não coloque chaves de API em bundles do navegador (VITE_* / NEXT_PUBLIC_*, LocalStorage etc.). Prefira chamar seu próprio BFF a partir do navegador; mantenha a chave APIMart no servidor.

Capacidades e limites

Autenticação e headers recomendados

string
obrigatório
Token Bearer. Obtenha uma chave na página de API Key.

Parâmetros da solicitação

string
obrigatório
Valor fixo: grok-imagine-2.0-ext
string
obrigatório
Prompt. Deve ser não vazio após trim. Faça trim antes de enviar.
integer
padrão:"1"
Quantidade de imagens: 112. 0 explícito gera erro. Omita para 1.
string
Proporção da imagem. Prefira strings de proporção (a UI deve mostrar apenas proporções):Aliases de pixels: 1024x1024 (1:1), 1024x1792 (2:3), 1792x1024 (3:2), 720x1280 (9:16), 1280x720 (16:9).Valores fora da lista branca retornam 400 invalid_size (ex.: 1:2, 2:1, 4:5, auto).
Os pixels reais de uma proporção podem diferir da tabela de aliases (ex.: 1:1 pode retornar 1408×1408). Confie na imagem retornada; não reescreva size a partir dos pixels medidos.
string
Campo de modo de qualidade. Valor verificado: quality.
  • Omita (o modelo é modo qualidade por padrão), ou
  • Passe resolution: "quality" explicitamente
Não é um nível de pixels 1K / 2K / 4K; o enquadramento é controlado por size.
Não envie o campo público quality — você recebe 400 invalid_quality. Use resolution.
string
padrão:"url"
Apenas url é permitido. Pode ser omitido. b64_json / base64400 invalid_response_format.
string
URL base HTTPS pública opcional. No status terminal, a plataforma faz POST em {webhook}/callback. Somente no servidor — veja Webhook.

Parâmetros não suportados

Monte as solicitações com uma lista branca; não encaminhe um objeto de formulário genérico de outros modelos de imagem.

Exemplos de solicitação

Mínimo

Recomendado

Resposta de envio

Prefira X-APIMart-Response-Version: 2026-07-27. Sucesso é HTTP 202; o id da tarefa é data.id (não dependa do legado data[0].task_id). Persista:
  • data.id para consulta (polling)
  • request_id para depuração no gateway
  • o Idempotency-Key para retentativas seguras quando o resultado for desconhecido
  • parâmetros originais da solicitação para UI / suporte

Idempotência e retentativas seguras

A geração de imagens é cobrável — recomenda-se fortemente Idempotency-Key (1–191 caracteres ASCII imprimíveis; UUID é o mais simples; retido ~24 horas). Em timeout de rede no POST quando não for possível saber se o servidor aceitou a tarefa, não crie imediatamente uma key nova — tente de novo com a mesma key / body / versão de resposta.

Consultar tarefas

language opcional: zh / en / ko / ja (apenas localização de mensagens de falha). Veja Obter status da tarefa.

Status

Consulte a cada 2 segundos aproximadamente; limite próximo de 10 minutos ou 120 tentativas. Respeite Retry-After em 429. As tarefas são mantidas ~3 dias por padrão — guarde o id da tarefa se o cliente atingir timeout.

Exemplo de conclusão

Analisando url e image_ids

  1. Use url[] para exibição; quando n>1, percorra todas as entradas
  2. Pareie por índice somente se image_ids.length === url.length
  3. image_ids ausente ainda permite exibição
  4. Links duram 72 horas — baixe com rapidez; confie também em expires_at

Cobrança

Preço base $0.08 por imagem (entregas bem-sucedidas):
  • A UI pré-envio deve dizer “estimativa”; o USD final é data.cost
  • data.credits_cost é a visão em créditos (atualmente ~ USD × 10)
  • Pré-cobrança pela quantidade solicitada; acerto pela quantidade bem-sucedida (reembolsos parciais em falha parcial)
  • Falha total: cost=0, pré-cobrança reembolsada
  • Não monte chaves de preço a partir de resolution; este modelo tem preço fixo por imagem

Webhook (opcional)

  • Forneça uma URL base; a plataforma chama {base}/callback
  • Deve ser pública e passar nas verificações SSRF
  • Se webhook_secret estiver definido, a assinatura é hex(HMAC-SHA256(secret, raw_body)) sobre os bytes brutos
  • O corpo do callback corresponde ao data da consulta de tarefa (sem wrapper extra {code,data})
  • Ainda mantenha polling de baixa frequência como fallback

Erros comuns

Prefira error.message na UI. Não exponha detalhes internos de autenticação aos usuários finais.

Diferenças em relação à 1.5 (resumo)