Obter status do vídeo
GET https://api.ofox.ai/v1/videos/{id}Consulte o status e o resultado de uma tarefa. Depois de criar uma tarefa, faça polling neste endpoint até status chegar a um estado terminal — completed, failed, cancelled ou expired.
curl https://api.ofox.ai/v1/videos/9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718 \
-H "Authorization: Bearer $OFOX_API_KEY"Limite de taxa
Este endpoint tem limite de taxa por API key (padrão 5 req/s com burst de 20). Requisições acima do limite retornam 429 rate_limited com o header Retry-After: 1. Criação (POST) e cancelamento (DELETE) não estão sujeitos a este limite.
Não faça polling mais de uma vez por segundo; ou forneça um callback_url ao criar a tarefa para receber um webhook em vez de fazer polling.
Resposta
Concluída
{
"id": "9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718",
"status": "completed",
"model": "bytedance/seedance-2.5",
"prompt": "A golden retriever running on the beach at sunset",
"unsigned_urls": ["https://upstream.example/out.mp4"],
"mirror_urls": ["https://cdn.ofox.ai/videos/vgen_xxx.mp4?sig=..."],
"usage": {
"video_seconds": 5,
"video_cost": "0.4000000000"
},
"created_at": 1776211362,
"updated_at": 1776211400
}Um timeout é relatado como status: "failed" com error.code definido como expired. Para a lista completa de códigos de erro, veja Códigos de erro.
O objeto Video
Máquina de estados
Sete estados, baseados na nomenclatura do OpenRouter e estendidos com cancelled / expired.
Transições: pending → queued → in_progress → completed é o caminho de sucesso. Qualquer estado não terminal pode mover para failed, cancelled ou expired.
URLs de vídeo
Uma tarefa bem-sucedida pode retornar dois conjuntos de URLs, dependendo de o provedor do modelo ter espelhamento CDN ativado.
Prefira mirror_urls (persistentes e estáveis). Quando um modelo retorna apenas unsigned_urls, baixe ou hospede novamente o arquivo rapidamente antes que o endereço temporário do upstream expire.