Errores y límites
Formato de los errores, códigos de estado, límites de uso y recomendaciones de reintento para la API de VideoUpscaler.
Formato de los errores
Todos los errores tienen la misma estructura JSON. Usa code en tu código; message está pensado para personas y puede cambiar.
{
"error": {
"code": "insufficient_credits",
"message": "Not enough credits for this video. Buy credits to continue."
}
}Códigos de estado
| Estado | Código | Significado | ¿Reintentar? |
|---|---|---|---|
400 | invalid_request | La solicitud está mal formada | No: corrige la solicitud |
401 | unauthorized | Falta la clave de API o no es válida | No |
402 | insufficient_credits | No hay créditos suficientes | Después de comprar créditos |
403 | paid_plan_required | La cuenta nunca ha comprado créditos ni se ha suscrito | Después de comprar créditos |
403 | invalid_upload_token | URL de subida no válida o caducada | Solicita una nueva URL de subida |
403 | invalid_stream_token | URL del stream de eventos no válida o caducada | Vuelve a abrir /tasks/{id}/events |
404 | not_found | No existe esa tarea en tu cuenta | No |
409 | idempotency_conflict | Idempotency-Key reutilizada con otros parámetros | Usa una clave nueva |
411 | invalid_request | PUT de subida sin cuerpo o sin Content-Length | No: corrige la solicitud |
413 | file_too_large | El vídeo supera el límite de tamaño | No |
422 | video_fetch_failed | No se pudo descargar video_url | Después de corregir la URL |
422 | unsupported_video | No es un MP4, MOV o WebM legible | No |
422 | video_too_long | El vídeo dura más de 600 segundos | No |
422 | video_not_found | No se subió nada en esta video_url | Cuando termine la subida |
429 | rate_limited | Demasiadas solicitudes | Sí, pasados los segundos de Retry-After |
500 | internal_error | Algo falló por nuestra parte | Sí, con la misma Idempotency-Key |
502 | upstream_error | No se pudo iniciar el procesamiento; cualquier cobro se reembolsó | Sí, con una Idempotency-Key nueva |
504 | upstream_timeout | La descarga de video_url tardó demasiado | Sí, o usa un alojamiento más rápido |
Límites
| Límite | Valor |
|---|---|
| Solicitudes | Unas 120 por minuto por clave de API |
| Duración del vídeo | 600 segundos |
Tamaño de una video_url remota | 500MB |
| Tamaño de un archivo subido | 100MB |
| Validez de la URL de subida | 1 hora |
| Claves de API activas | 20 por cuenta |
Reintentar de forma segura
Envía siempre una Idempotency-Key a /upscale. Si una solicitud agota el tiempo de espera o recibes un 500 o 504, reintenta con la misma clave: obtendrás la tarea ya creada en lugar de un segundo cobro.
Un 502 upstream_error es distinto: la tarea se creó, no pudo iniciarse y se reembolsó, así que la misma clave seguirá devolviendo esa tarea fallida. Reintenta con una clave nueva.