Documentation Index
Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt
Use this file to discover all available pages before exploring further.
Visão geral
Para agentes de código, descubra primeiro a lista de imagens recomendadas atuais comGET /v1/models?recommended_for=image e, em seguida, envie o model selecionado explicitamente para este endpoint.
gpt-image-2 é um modelo GPT Image com cobrança por token. A TokenLab segue o detalhamento oficial de usage da OpenAI para liquidar tokens de entrada de texto, entrada de imagem, entrada em cache quando informada, e saída de imagem; ele não é cobrado como preço fixo por imagem.
Para geração de imagens com gpt-image-2, os parâmetros públicos aceitos são prompt, n, size, quality, response_format, async, background, output_format, output_compression ou compression, moderation, partial_images e user. Se size ou quality for omitido, a TokenLab usa auto; valores personalizados de size devem seguir o contrato flexível WIDTHxHEIGHT documentado abaixo.
Nota de compatibilidade: se uma solicitação gpt-image-2 enviar input_fidelity, a TokenLab remove esse campo antes de encaminhar, porque o GPT Image 2 já processa entradas de imagem com alta fidelidade automaticamente.
Observações sobre comportamento dos modelos
Google Gemini não usam exatamente o mesmo contrato de seleção:gemini-3.1-flash-image-preview,gemini-3-pro-image-preview,nano-banana-2enano-banana-proaceitamaspect_ratiomaisresolution(1k,2k,4k) para geração text-to-image.gemini-2.5-flash-image,nano-bananaenano-banana-editaceitamaspect_ratio, mas não expõem seleção pública deresolution.gemini-2.0-flash-preview-image-generationé documentado aqui como texto-para-imagem somente por prompt.- Para solicitações com imagem de referência de
nano-banana,nano-banana-2enano-banana-pro, use este endpoint (/v1/images/generations) comoperation: "image-to-image"eimage_urls. Não envie solicitações de referência Nano Banana para/v1/images/edits. - Para solicitações image-to-image de Nano Banana, omita
resolution.nano-banana-2enano-banana-prosó expõemresolutionpara text-to-image, enano-banananão expõe esse parâmetro. - Imagens de referência neste endpoint podem ser enviadas como JSON
image_url/image_urlsou como arquivo multipartimage./v1/images/generationsnão aceitaimages[]nemfile_id; referências de/v1/filessó valem para modelos de/v1/images/editsque documentamimages[].file_id.
aspect_ratio e envie resolution apenas quando o modelo suportar explicitamente.
Os modelos de imagem xAI Grok Imagine (grok-imagine-image, grok-imagine-image-quality e o legacy grok-imagine-image-pro) aceitam aspect_ratio mais resolution (1k, 2k). grok-imagine-image-pro é mantido como ID de compatibilidade e roteia upstream para grok-imagine-image-quality.
Corpo da requisição
Timeout de solicitações síncronas: alguns provedores de imagem roteados retornam a imagem final inline e aguardam a geração terminar. Solicitações de alta resolução ou alta qualidade podem levar perto de um minuto ou mais, então configure o timeout do seu cliente HTTP para pelo menos120s. Se a resposta de criação incluir status: "pending", task_id ou poll_url, siga o poll_url retornado.
Modelo a usar (por exemplo,
gpt-image-2, dall-e-3, flux-pro, midjourney).Descrição em texto da imagem desejada.
URL HTTPS pública de imagem de referência para geração image-to-image. Para a família Nano Banana, defina
operation como image-to-image e omita resolution, a menos que o modelo a suporte explicitamente nessa operação.URLs HTTPS públicas de imagens de referência. Use para uma ou mais imagens de referência em requests JSON.
file_id e images[] não são suportados neste endpoint.URLs adicionais de imagens de referência específicas do modelo para provedores que distinguem imagens principais de referências.
Arquivo multipart de imagem de referência para geração image-to-image. Use quando a imagem de origem for privada ou exigir headers. Isso não é um
file_id de /v1/files; este endpoint não aceita file_id.Número de imagens a gerar (1-10, dependendo do modelo).
Tamanho da imagem. Use isto para famílias de imagem no estilo OpenAI e outros modelos que aceitam tamanhos exatos em pixels.Para
gpt-image-2, size aceita auto ou WIDTHxHEIGHT. Dimensões personalizadas devem ter ambos os lados como múltiplos de 16, a maior aresta deve ter no máximo 3840px, a razão maior/menor lado deve ser no máximo 3:1, e o total de pixels deve ficar entre 655,360 e 8,294,400. aspect_ratio e resolution não fazem parte do contrato público atual da TokenLab para gpt-image-2.Para famílias de imagem Google Gemini, size é tratado como um alias de compatibilidade que mapeia para o contrato público de aspect_ratio do modelo e, quando suportado, para resolution. Para esses modelos, prefira enviar aspect_ratio diretamente.Seletor de proporção dependente do modelo.Valores comuns para as famílias de imagem do Google incluem
1:1, 16:9, 9:16, 3:2 e 2:3.Seletor de resolução de saída dependente do modelo.Suportado em
gemini-3.1-flash-image-preview, gemini-3-pro-image-preview, nano-banana-2, nano-banana-pro e famílias semelhantes de alta resolução. Os valores típicos são 1k, 2k e 4k. Não envie esse parâmetro para famílias de imagem Gemini que só aceitam proporção, a menos que o modelo documente isso explicitamente. Para modelos de imagem xAI Grok Imagine, use 1k ou 2k.Qualidade da imagem. Modelos DALL-E usam
standard ou hd; modelos GPT Image como gpt-image-2 usam auto, low, medium ou high.Formato da resposta:
url ou b64_json. O padrão é url.Para rotas gpt-image-2 Azure Official ou compatíveis com Azure, a TokenLab não encaminha response_format para o upstream. O gateway sempre recebe os dados de imagem upstream como b64_json; para solicitações url, envia cada imagem ao CDN e retorna data[].url. Se o armazenamento CDN estiver indisponível ou o upload falhar, a solicitação falha em vez de voltar para Base64. Para b64_json, o Base64 bruto é retornado.Defina como
true com gpt-image-2 ou modelos de imagem oficiais FLUX/BFL para criar uma tarefa primeiro. Tarefas assíncronas concluídas retornam URLs independentemente do response_format solicitado; use solicitações síncronas se precisar de b64_json.Estilo para DALL-E 3:
vivid ou natural.Um identificador único para o usuário final.
Resposta
Resposta em linha
Timestamp Unix da criação.
Array de imagens geradas.Cada objeto contém:
url(string): URL da imagem geradab64_json(string): Imagem codificada em Base64 (se solicitada)revised_prompt(string): O prompt usado (DALL-E 3)
Resposta de tarefa assíncrona
Definaasync: true com gpt-image-2 ou modelos de imagem oficiais FLUX/BFL para criar uma tarefa em vez de esperar pela imagem final na solicitação de criação. A resposta inclui status: "pending", task_id e poll_url. Consulte /v1/tasks/{task_id} até a tarefa chegar a completed ou failed.
Tarefas assíncronas de imagem retornam apenas URLs das imagens finais. Se precisar dos dados brutos b64_json, use uma solicitação síncrona.
A criação da tarefa pode reservar o valor estimado. Tarefas concluídas são cobradas pelo uso real; tarefas com falha ou timeout liberam ou reembolsam a reserva.
Timestamp Unix de criação.
Identificador único da tarefa para polling.
Status inicial:
pending.URL relativa para fazer polling dos resultados, por exemplo
/v1/tasks/{id}.Vazio enquanto a tarefa estiver pendente. Tarefas de imagem concluídas retornam URLs de imagens geradas em
data[].url.status: "pending", use poll_url ou GET /v1/tasks/{task_id} para recuperar o resultado.
Modelos disponíveis
| Modelo | Tipo | Recursos |
|---|---|---|
dall-e-3 | Normalmente em linha | Melhor qualidade, aprimoramento de prompt |
dall-e-2 | Normalmente em linha | Mais rápido, mais acessível |
flux-pro | Frequentemente baseado em tarefa | Fotorrealista, alta qualidade |
flux-schnell | Normalmente em linha | Muito rápido |
midjourney | Frequentemente baseado em tarefa | Estilo artístico |
ideogram-v3 | Frequentemente baseado em tarefa | Melhor renderização de texto |
stable-diffusion-3 | Normalmente em linha | Open source, personalizável |
status: "pending", siga poll_url e faça polling até a conclusão.
Lidando com respostas baseadas em tarefa
Para modelos de imagem, sempre verifique se a resposta contémstatus: "pending":