Obtener estado del video
GET https://api.ofox.io/v1/videos/{id}Consulta el estado y resultado de una tarea. Después de crear una tarea, consulta este endpoint hasta que status llegue a un estado terminal: completed, failed, cancelled o expired.
curl https://api.ofox.io/v1/videos/9bcf3c60-7db2-4e1a-a1b2-c3d4e5f60718 \
-H "Authorization: Bearer $OFOX_API_KEY"Límite de tasa
Este endpoint tiene límite de tasa por API Key (predeterminado 5 req/s con ráfaga de 20). Las solicitudes por encima del límite devuelven 429 rate_limited con un header Retry-After: 1. Crear (POST) y cancelar (DELETE) no están sujetos a este límite.
No consultes más de una vez por segundo, o proporciona un callback_url al crear la tarea para recibir un webhook en lugar de consultar.
Respuesta
Completada
{
"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 se informa como status: "failed" con error.code establecido en expired. Para la lista completa de códigos de error, consulta Códigos de error.
El objeto Video
Máquina de estados
Siete estados, basados en la nomenclatura de OpenRouter y extendidos con cancelled / expired.
Transiciones: pending → queued → in_progress → completed es la ruta de éxito. Cualquier estado no terminal puede pasar a failed, cancelled o expired.
URLs de video
Una tarea exitosa puede devolver dos conjuntos de URLs, según si el proveedor del modelo tiene espejado CDN habilitado.
Prefiere mirror_urls (persistentes y estables). Cuando un modelo devuelve solo unsigned_urls, descarga o vuelve a alojar el archivo pronto, antes de que expire la dirección temporal upstream.