Imagens
Editar imagem
Edita uma imagem a partir de um prompt e uma imagem de origem
Visão geral
Cria uma imagem editada ou estendida a partir de uma imagem original e um prompt.
A rota suporta ambos:
- o fluxo de upload
multipart/form-datacompatível com OpenAI documentado abaixo - requisições JSON que fornecem
image_url,image_urlsou referências oficiaisimagespara famílias de image-to-image suportadas
gpt-image-2 é compatível aqui. Ele aceita uploads multipart image, JSON image_url / image_urls e referências oficiais images[] (image_url ou file_id), com até 16 imagens de origem. Crie valores file_id primeiro via /v1/files. Defina async: true para receber uma tarefa primeiro; modelos oficiais de edição FLUX/BFL usam o mesmo fluxo de polling.
Edições com gpt-image-2 não aceitam resolution; use size para as dimensões de saída. background aceita auto ou opaque; transparent não é suportado. Para edições com várias imagens ou alta latência, prefira async: true e consulte a tarefa retornada.
Solicitações Nano Banana com imagem de referência (nano-banana-edit, nano-banana-2 e nano-banana-pro) são expostas em /v1/images/generations com operation: "image-to-image" e image_urls, não neste endpoint /v1/images/edits.
Os modelos de edição de imagem xAI Grok Imagine (grok-imagine-image, grok-imagine-image-quality e o legacy grok-imagine-image-pro) aceitam no máximo 3 imagens de origem. Solicitações com mais de 3 imagens de origem falham na validação de entrada com 400 too_many_images.
input_fidelity não faz parte do campos admitidos atual da TokenLab para gpt-image-2; omita esse campo ou a solicitação retornará 400 unsupported_parameter.
Corpo da requisição
Timeout de solicitações síncronas: algumas solicitações de imagem 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 menos 120s. Se a resposta de criação incluir status: "pending", task_id ou poll_url, siga o poll_url retornado.
URLs de imagem remotas: quando entrada multipart é necessária, a TokenLab busca JSON image_url, image_urls ou images[].image_url e envia os bytes como partes multipart image. As URLs devem ser públicas em http/https, sem credenciais embutidas nem fragmentos, e não podem resolver para localhost, faixas de IP privadas ou reservadas; cada redirecionamento é verificado novamente. O payload buscado deve ser uma imagem PNG, JPEG ou WebP real. Limites: 50 MiB por imagem, 200 MiB no total para imagens buscadas por URL em uma requisição, timeout de 30s e até 3 redirecionamentos.
Uma requisição JSON deve conter exatamente um de image_url, image_urls ou images. Cada objeto images[] deve conter apenas um de image_url ou file_id. O limite total de 200 MiB inclui todas as imagens de origem e a máscara.
Imagens de origem multipart. Repita image para fornecer várias fontes GPT Image. Os arquivos devem ser PNG, JPEG ou WebP, até 16 imagens de origem e 50 MiB cada. Modelos de edição xAI Grok Imagine usam os mesmos campos de entrada, mas limitam imagens de origem a 3.
Uma descrição em texto da edição desejada.
Uma imagem adicional cujas áreas totalmente transparentes indicam onde a imagem deve ser editada. Deve ser um arquivo PNG válido, menor que 50 MiB e ter as mesmas dimensões que image.
Em solicitações JSON, mask também pode ser um objeto com exatamente um de image_url ou file_id; valores file_id devem vir de /v1/files e permanecer vinculados à mesma configuração de edição de imagem.
O modelo a usar para edição de imagem. Use gpt-image-2 para edições GPT Image, ou outro modelo atual de edição de imagem retornado por GET /v1/models?recommended_for=image.
1Número de imagens a gerar (1-10, dependendo do modelo).
O tamanho da imagem gerada. Para gpt-image-2, use auto ou WIDTHxHEIGHT; as dimensões devem ser múltiplos de 16, a maior aresta deve ter no máximo 3840px, a razão entre lado maior/menor deve ser no máximo 3:1, e o total de pixels deve ficar entre 655,360 e 8,294,400.
urlO formato em que as imagens geradas são retornadas. Deve ser url ou b64_json; o padrão é url.
url retorna as URLs em data[].url; b64_json retorna os dados de imagem Base64 em data[].b64_json.
falseDefina como true com gpt-image-2 ou modelos oficiais de edição FLUX/BFL para retornar uma tarefa antes da imagem final ficar pronta. Edições assíncronas concluídas retornam URLs independentemente do response_format solicitado; use solicitações síncronas se precisar de b64_json.
Um identificador único representando seu usuário final para monitoramento de abuso.
Resposta
Timestamp Unix de quando as imagens foram criadas.
Array de imagens geradas.
Cada objeto contém:
url(string): URL da imagem editada (seresponse_formatforurl)b64_json(string): Imagem codificada em Base64 (seresponse_formatforb64_json)
Resposta de tarefa assíncrona
Defina async: true com gpt-image-2 ou modelos oficiais de edição FLUX/BFL para criar uma tarefa em vez de esperar pela imagem editada na solicitaçã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 edição retornam apenas URLs das imagens finais. Se precisar dos dados brutos b64_json, use uma solicitação síncrona.
Ao criar a tarefa, o valor estimado pode ser reservado. Tarefas concluídas são cobradas pelo uso real; tarefas com falha ou expiradas liberam ou reembolsam a reserva.
Requisição
curl -X POST "https://api.tokenlab.sh/v1/images/edits" \
-H "Authorization: Bearer sk-your-api-key" \
-F "model=gpt-image-2" \
-F "image=@sunlit_lounge.png" \
-F "mask=@mask.png" \
-F "prompt=A sunlit indoor lounge area with a pool" \
-F "n=1" \
-F "size=1024x1024"Resposta
{
"created": 1706000000,
"data": [
{
"url": "https://..."
}
]
}Observações
Falhas ao buscar imagens remotas são retornadas como erros de entrada antes do início da geração. URLs inacessíveis, timeouts, respostas 403/404, hosts privados/internos, credenciais ou fragmentos na URL, conteúdo que não é imagem, formatos não suportados e violações de tamanho retornam 400 ou 413 e identificam image_url / image_urls[n]. Para assets privados ou protegidos por headers, envie arquivos multipart image diretamente ou crie referências /v1/files.
Hy Image 3.5 Preview cria imagens quadradas de 1024 pixels a partir de texto e edita imagens de referência com instruções escritas. É útil para criar rascunhos visuais e refinar uma composição.
{
"model": "hy-image-v3.5-preview",
"prompt": "Change the table to pale blue",
"image_url": "https://example.com/reference.png",
"size": "1024x1024",
"n": 1,
"response_format": "url"
}Autorização
BearerAuth Autenticação por Chave de API. Crie ou gerencie chaves de API em Dashboard > API > API Keys.
Local: header
Cabeçalhos
Política de entrega por solicitação. Substitui os padrões da API key e do Workspace. Tenta automaticamente o TokenLab Verified primeiro e pode alternar uma vez para Official apenas antes da saída, aceitação da solicitação ou criação de recurso persistente.
Valores permitidos
- "auto"
- "verified"
- "official"
Resposta
application/json
application/json
application/json
application/json
application/json
application/json