Documentation

Erreurs, limites et nouveaux essais

Format des erreurs, limites de débit et clés d'idempotence.

Format des erreurs

Les erreurs utilisent un statut HTTP standard et un corps JSON :

{
  "error": {
    "type": "invalid_request_error",
    "code": "video_too_long",
    "message": "Videos are limited to 15 minutes.",
    "request_id": "req_Fq8Kx2LmT9vN3pQa"
  }
}

Communiquez le request_id (aussi dans l'en-tête X-Request-Id) quand vous contactez le support. Les messages d'erreur de l'API sont en anglais.

Statut Type Codes courants
400 invalid_request_error invalid_json, invalid_parameter
401 authentication_error invalid_api_key
402 billing_error insufficient_credits
403 permission_error plan_required
404 not_found_error job_not_found, upload_not_found
409 conflict_error upload_already_used, idempotency_conflict
413 invalid_request_error video_too_large
422 invalid_request_error unsupported_format, unreadable_video, video_too_long, resolution_too_high, url_not_allowed
429 rate_limit_error rate_limited
500 api_error internal_error

Limites de débit

Les limites s'appliquent par clé d'API, par méthode et par point d'accès, sur une minute :

Point d'accès Requêtes par minute
POST /v1/jobs 30
POST /v1/uploads 60
GET /v1/jobs/{id} 240
Autres 120

Chaque réponse contient X-RateLimit-Limit, X-RateLimit-Remaining et X-RateLimit-Reset (secondes Unix). Une réponse 429 contient Retry-After en secondes.

Idempotence

POST /v1/jobs et POST /v1/uploads acceptent un en-tête Idempotency-Key (255 caractères maximum, un UUID convient bien).

  • La même clé avec le même corps renvoie la réponse d'origine, avec l'en-tête Idempotent-Replayed: true. Aucune seconde tâche n'est créée et aucun crédit supplémentaire n'est réservé.
  • La même clé avec un autre corps renvoie 409 idempotency_conflict.
  • Les clés sont gardées 24 heures.

Réessayez sur les erreurs réseau, 429 et 5xx, avec un délai croissant et la même clé d'idempotence.