Obtenir le statut vidéo
GET https://api.ofox.io/v1/videos/{id}Interrogez le statut et le résultat d’une tâche. Après avoir créé une tâche, interrogez cet endpoint jusqu’à ce que status atteigne un état terminal — completed, failed, cancelled ou expired.
curl https://api.ofox.io/v1/videos/9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718 \
-H "Authorization: Bearer $OFOX_API_KEY"Limite de débit
Cet endpoint est limité par clé API (par défaut 5 req/s avec un burst de 20). Les requêtes au-delà de la limite renvoient 429 rate_limited avec un Header Retry-After: 1. La création (POST) et l’annulation (DELETE) ne sont pas soumises à cette limite.
N’interrogez pas plus d’une fois par seconde, ou fournissez un callback_url à la création de la tâche pour recevoir un webhook au lieu du polling.
Réponse
Terminée
{
"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.io/videos/vgen_xxx.mp4?sig=..."],
"usage": {
"video_seconds": 5,
"video_cost": "0.4000000000"
},
"created_at": 1776211362,
"updated_at": 1776211400
}Un timeout est signalé comme status: "failed" avec error.code défini sur expired. Pour la liste complète des codes d’erreur, consultez Codes d’erreur.
L’objet Video
Machine d’états
Sept états, construits sur le nommage OpenRouter et étendus avec cancelled / expired.
Transitions : pending → queued → in_progress → completed est le chemin de succès. Tout état non terminal peut passer à failed, cancelled ou expired.
URL vidéo
Une tâche réussie peut renvoyer deux ensembles d’URL, selon que le fournisseur du modèle a le miroir CDN activé.
Préférez mirror_urls (persistantes et stables). Lorsqu’un modèle ne renvoie que unsigned_urls, téléchargez ou réhébergez le fichier rapidement avant l’expiration de l’adresse temporaire en amont.