Início rápido
O endpoint nativo de imagens é síncrono por padrão. Defina o booleanoasync como true para criar uma tarefa em segundo plano. O exemplo usa qwen-image-2.0.
Como descobrir modelos de mídia assíncronos e obter seus esquemas
O fluxo de descoberta tem duas etapas. Primeiro, obtenha no catálogo público os modelos de texto para imagem ou texto para vídeo compatíveis com as APIs assíncronas. Depois, use omodel_id do modelo para obter o esquema de solicitação de seus endpoints.
Listar modelos compatíveis com as APIs assíncronas
O catálogo de modelos usa a mesma fonte de dados do Playground. Usetype=image_generation para modelos de texto para imagem e type=video para modelos de texto para vídeo. Com schema_checked=true, a lista fica limitada a modelos cujo esquema de solicitação foi publicado e revisado.
type aceita atualmente um único valor, então solicite cada tipo de modelo separadamente.
A resposta tem o formato {success, message, data}. Os campos de data relevantes para integrações de mídia assíncrona são os seguintes.
Obter o esquema de solicitação de um modelo
Os campos, enumerações e intervalos numéricos aceitos podem variar conforme o modelo. Antes de enviar uma solicitação de imagem ou vídeo, use o endpoint público abaixo para obter os endpoints disponíveis e os esquemas JSON de solicitação do modelo selecionado.modality na resposta é image ou video. Cada item do array endpoints descreve um protocolo de chamada disponível.
Um modelo pode retornar endpoints
/ai/v1 e endpoints /v1 compatíveis com OpenAI. Os endpoints compatíveis com OpenAI podem ainda não oferecer suporte aos modelos mais recentes, portanto dê preferência aos endpoints /ai/v1. Para as APIs de tarefas assíncronas, selecione o item cujo path seja /ai/v1/images/generations ou /ai/v1/videos e use seu request.schema. Não dependa da posição do item no array endpoints.
Os comandos abaixo extraem diretamente o esquema de solicitação de cada endpoint de tarefa assíncrona.
404 model_not_found quando o modelo não existe ou não possui endpoints detectáveis. Ele retorna 500 endpoints_unavailable quando os dados dos endpoints estão temporariamente indisponíveis.
Como criar uma tarefa de imagem
Imagem síncrona
Quandoasync é omitido ou definido como false, a API aguarda a conclusão da geração e retorna o objeto de tarefa:
GET /ai/v1/images para localizar a tarefa.
Imagem assíncrona
Quandoasync é definido como o booleano true, a API retorna imediatamente o objeto de tarefa e a geração continua em segundo plano:
GET /ai/v1/images/{id}. Após a conclusão, solicite diretamente o content_url de cada item de output. Essa URL já contém o result_id da imagem correspondente.
O campo
async de uma requisição de imagem deve ser booleano. webhook_url e
webhook_events_filter só podem ser usados com async: true.Campos padrão de imagem
Objeto de tarefa de mídia
As APIs específicas de imagem e vídeo retornam a seguinte estrutura:
Item de
output de mídia:
Descrição dos status
O cliente pode consultar a tarefa a cada 15 segundos até que o status seja
completed, failed ou cancelled. Esse intervalo de 15 segundos é uma recomendação de polling do cliente, não uma limitação do protocolo do servidor.
Como consultar tarefas de mídia
Consultar detalhes da mídia
Consultar a lista de mídia
Se a resposta de criação for perdida, localize o ID da tarefa na lista da mídia correspondente:Como usar a API de tarefas unificadas
A API de tarefas unificadas aceita os seguintes filtros:
Detalhes da tarefa unificada:
output unificado de uma tarefa de mídia:
/ai/v1/tasks/{id}/content. Para tarefas com vários resultados, solicite /ai/v1/tasks/{id}/content/{result_id}. Sem o ID do resultado, a API retorna 400 result_id_required.
As APIs de lista, detalhes e conteúdo das tarefas unificadas são isoladas pelo
Bearer Token usado para criar a tarefa. Outra API Key da mesma conta não pode
ler essa tarefa.
Como baixar resultados de mídia
Baixar imagens
Quando a imagem estiver concluída, solicite cadaoutput[].content_url do objeto de tarefa de mídia:
/ai/v1/images/{id}/content/{result_id}. O objeto de tarefa de mídia não expõe result_id separadamente. O cliente pode usar content_url diretamente.
Quando b64_json não estiver vazio, decodifique esse campo diretamente em Base64.
Como usar Webhook
Imagens assíncronas e vídeos aceitam Webhooks no nível da tarefa:webhook_url aceita no máximo 512 caracteres e não pode apontar para a máquina local, uma rede privada ou outro endereço restrito. Quando webhook_events_filter é omitido, a plataforma envia completed, failed e cancelled. Quando informado explicitamente, o array não pode estar vazio nem conter duplicatas e deve ser usado com webhook_url.
Quando webhook_url não é enviado na requisição, imagens assíncronas e vídeos tentam usar o endereço de callback padrão configurado na conta. Um endereço padrão inválido é ignorado e não impede a criação da tarefa.
Requisição de callback
results só aparece quando o resultado foi arquivado. O download ainda exige um Bearer Token.
Novas tentativas e desduplicação
A plataforma usa entrega pelo menos uma vez. O mesmo evento pode ser enviado mais de uma vez:- HTTP
2xxindica recebimento bem-sucedido. - HTTP
5xx, erros de rede ou timeout acionam uma nova tentativa. - HTTP
3xxe4xxnão acionam novas tentativas. - São feitas no máximo 6 entregas, com intervalos de 1, 4, 16, 64 e 256 segundos.
event_id e retornar imediatamente 2xx ao receber novamente o mesmo evento.
Respostas e códigos de erro
error.tid é o ID de rastreamento da requisição. Informe-o ao suporte técnico durante a investigação.