Aparência
Obter resultado da tarefa
Depois de enviar uma tarefa assíncrona de imagem ou vídeo, a Pixapi retorna um id. Use esse identificador com GET /v1/tasks/{id} para consultar o status, o progresso e as URLs finais da mídia.
Para saber como enviar tarefas assíncronas, consulte Tarefas assíncronas de mídia.
Endpoint
| Método | Caminho | Descrição |
|---|---|---|
GET | /v1/tasks/{id} | Consulta o status e o resultado da tarefa |
Autenticação: Authorization: Bearer <API_KEY>
Só é possível consultar tarefas criadas pela mesma chave de API ou conta. IDs desconhecidos retornam 404.
Requisição
bash
curl --request GET \
--url 'https://api.pixapi.ai/v1/tasks/task_01KPQ7J7DWB7QZ3WCEK3YVPBRA' \
--header 'Authorization: Bearer $PIXAPI_KEY'Parâmetro do caminho:
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id | string | Sim | ID retornado no envio da tarefa assíncrona (por exemplo, task_...). |
Valores de status
| Status | Significado |
|---|---|
submitted | A Pixapi aceitou a tarefa e a colocou na fila. |
processing | A geração está em andamento no provedor. |
completed | Concluída com sucesso. Leia result.data[].url. |
failed | Encerrada com erro. Leia error. |
Consulte até que status seja completed ou failed. Enquanto a tarefa estiver em andamento, result será null.
Resposta durante o processamento
json
{
"id": "task_01KPQ7J7DWB7QZ3WCEK3YVPBRA",
"status": "processing",
"credits_cost": 64,
"model": "veo3.1-fast",
"progress": 40,
"result": null,
"created": 1703884800
}Resposta concluída
json
{
"id": "task_01KPQ7J7DWB7QZ3WCEK3YVPBRA",
"status": "completed",
"credits_cost": 64,
"model": "veo3.1-fast",
"progress": 100,
"result": {
"type": "video",
"data": [
{
"url": "https://cdn.example.com/output.mp4"
}
]
},
"created": 1703884800,
"completed": 1703884880
}Em tarefas de imagem, result.type é image e cada item de data[] também expõe uma url pública.
Resposta com falha
json
{
"id": "task_01KPQ7J7DWB7QZ3WCEK3YVPBRA",
"status": "failed",
"credits_cost": 64,
"model": "veo3.1-fast",
"progress": 100,
"error": {
"code": 400,
"message": "Upstream generation failed",
"type": "api_error"
},
"created": 1703884800,
"completed": 1703884820
}Campos da resposta
| Campo | Descrição |
|---|---|
id | ID da tarefa. |
status | submitted, processing, completed ou failed. |
credits_cost | Créditos associados à tarefa. |
model | ID do modelo usado no envio. |
progress | Número inteiro de 0 a 100. |
result | Presente após a conclusão; null durante o processamento. |
result.type | image ou video. |
result.data | Itens de saída. Use result.data[0].url para o arquivo principal. |
error | Presente quando status é failed. |
created | Timestamp Unix (segundos) de criação da tarefa. |
completed | Timestamp Unix (segundos) em que a tarefa chegou a um estado final. |
Exemplo de consulta periódica
bash
TASK_ID="task_01KPQ7J7DWB7QZ3WCEK3YVPBRA"
while true; do
RESP=$(curl -s \
-H "Authorization: Bearer $PIXAPI_KEY" \
"https://api.pixapi.ai/v1/tasks/$TASK_ID")
STATUS=$(printf '%s' "$RESP" | python3 -c 'import sys,json; print(json.load(sys.stdin)["status"])')
echo "$STATUS"
case "$STATUS" in
completed|failed) printf '%s\n' "$RESP"; break ;;
esac
sleep 3
donejs
async function waitForTask(taskId) {
for (;;) {
const response = await fetch(`https://api.pixapi.ai/v1/tasks/${taskId}`, {
headers: { Authorization: `Bearer ${process.env.PIXAPI_KEY}` },
});
if (!response.ok) throw new Error(await response.text());
const task = await response.json();
if (task.status === 'completed' || task.status === 'failed') return task;
await new Promise((resolve) => setTimeout(resolve, 3000));
}
}
const task = await waitForTask('task_01KPQ7J7DWB7QZ3WCEK3YVPBRA');
if (task.status === 'completed') {
console.log(task.result.data[0].url);
} else {
console.error(task.error);
}Observações de integração
- Armazene o
idretornado no envio assíncrono. - Consulte
GET /v1/tasks/{id}pelo seu backend, aumentando o intervalo quando necessário (por exemplo, a cada 2 a 5 segundos). - Pare quando
statusforcompletedoufailed. - Salve
result.data[].url(ouerror) no seu próprio armazenamento.
Não exponha sua chave de API da Pixapi em código de consulta executado somente no navegador.
