Quando Usar Cada Endpoint
| Fluxo de trabalho do usuário | Endpoint | Usar quando | Evitar quando |
|---|---|---|---|
| Texto-para-imagem | POST /v1/images/generations | O usuário começa apenas com um prompt | Você precisa de um fluxo de edição de imagem GPT oficial |
| Imagem-para-imagem | POST /v1/images/generations | Os documentos do modelo referenciam imagens através de operation: "image-to-image" mais image_url, image_urls ou reference_image_urls | O modelo espera entrada de edição multipart |
| Edição de imagem | POST /v1/images/edits | Você está editando uma imagem existente com um modelo de edição suportado, como um modelo da família GPT Image | Você está usando geração de imagem estilo Nano Banana |
| Variação | POST /v1/images/variations | Você mantém uma integração compatível com variações legadas | Você está construindo um novo fluxo de imagem de referência |
| Status | GET /v1/tasks/{id} | Uma resposta de criação retorna task_id, status: "pending" ou poll_url | A resposta de criação já contém data[] final |
model. Os endpoints de imagem intencionalmente não dependem de um modelo padrão implícito histórico para tráfego de produção.
Escolha Um Modelo
Comece com a descoberta do modelo e, em seguida, inspecione o contrato do TokenLab do modelo selecionado:tokenlab.public_contract_summary. As páginas de detalhes do modelo podem expor o tokenlab.public_contract mais completo. Use esses campos para confirmar:
- A operação suportada, como
text-to-image,image-to-imageouimage-edit. - O endpoint de solicitação esperado pelo modelo.
- Qual forma usar para referências, como
image_url,image_urls,reference_image_urls, multipartimageou JSONimages[]. - Se o modelo aceita
size,aspect_ratio,resolution,quality,background,output_formatouresponse_format.
Regras de Forma de Solicitação
- Solicitações estilo
gpt-image-2usam campos desize,qualitye edição semelhantes aos da OpenAI. Deixe de fora os campos opcionais quando você quiser que o modelo ou o TokenLab usem padrões automáticos. - As famílias de imagem Gemini e Nano Banana geralmente usam
aspect_ratio; envieresolutionapenas quando o contrato do modelo o expuser. - A geração de imagem-para-imagem Nano Banana pertence a
/v1/images/generationscomoperation: "image-to-image"e URLs de imagem de referência. /v1/images/generationsnão aceitaimages[]oufile_idde nível superior; esses são formatos de fluxo de edição.- Referências de imagem remotas devem ser URLs públicas
httpouhttps. Não envie URLs de rede privada, credenciais incorporadas, fragmentos de URL ou URLs assinadas que possam expirar antes que o processamento comece.
Exemplo de Texto-Para-Imagens
Exemplo de Imagem de Referência
Manipulação de Resultados
As respostas de imagem podem ser síncronas ou assíncronas:- Respostas síncronas retornam
data[]final comurloub64_json. - Respostas assíncronas retornam
id,task_id,statuse geralmentepoll_url. - Prefira
poll_urlquando estiver presente. Se você precisar de uma rota fixa, consulteGET /v1/tasks/{id}. - Use solicitações síncronas quando você precisar especificamente de
b64_json; resultados de imagem assíncronos são orientados a URL.
Lista de Verificação de Produção
- Valide as entradas do usuário antes de chamar o TokenLab: comprimento do prompt, contagem de imagens, acessibilidade da URL e tipo de arquivo.
- Defina os timeouts HTTP altos o suficiente para solicitações síncronas de alta resolução. Use o modo assíncrono onde disponível para trabalhos longos.
- Armazene
request_id,task_id,poll_url, modelo, endpoint e forma de solicitação sanitizada para suporte. - Em caso de timeout do cliente, verifique se uma tarefa foi criada antes de tentar novamente a solicitação de criação.
- Reconcilie o custo com registros de uso e
billing_transaction_idquando presente, não com IDs de tarefas do provedor.
Erros Comuns
| Sintoma | Causa provável | Correção |
|---|---|---|
400 com param: "model" | Modelo explícito ausente | Consulte /v1/models?recommended_for=image e envie model |
| Campo não suportado | O campo não está no contrato público desse modelo | Remova o campo ou escolha um modelo/endpoint que o documente |
Sem b64_json no resultado assíncrono | Tarefas de imagem assíncronas retornam resultados orientados a URL | Use o modo síncrono para saída em base64 |
| Imagem de referência rejeitada | Endpoint errado ou URL privada/expirada | Combine a forma de referência documentada do modelo e use URLs acessíveis |
Referência da API
| Tópico | Referência |
|---|---|
| Criar Imagem | Criar Imagem |
| Editar Imagem | Editar Imagem |
| Criar Variação de Imagem | Criar Variação de Imagem |
| Obter Status da Imagem | Obter Status da Imagem |
| Obter Status da Tarefa | Obter Status da Tarefa |