API Vidéo
AVCaption livre une API REST pour la gestion vidéo programmatique. Disponible sur le plan Enterprise ; accès en preview pour Premium sur demande.
Authentification
Deux méthodes :
Bearer token (JWT) — émis à la connexion, envoyé en en-tête Authorization: Bearer <token>. Utilisé par vos sessions de dashboard authentifiées.
Clé API — générée dans votre page de paramètres. Format avc_<64 caractères hex>. Envoyée en en-tête X-API-Key: <key> ou en query param ?api_key=<key>. Utile pour le serveur-à-serveur.
Endpoints
GET /api/v1/videos Liste des vidéos (paginé, ?page=1)
GET /api/v1/videos/:id Métadonnées vidéo + token d'embed
POST /api/v1/upload Upload direct (petits fichiers)
POST /api/v1/upload/init Démarrer une session d'upload chunké
POST /api/v1/upload/chunk Téléverser un chunk
POST /api/v1/upload/complete Finaliser l'upload chunké
PUT /api/v1/videos/:id Mettre à jour title, allowed_domains
DELETE /api/v1/videos/:id Supprimer une vidéo
GET /api/v1/stats Stats du compte : total vidéos, vues, stockage utilisé
GET /api/v1/embed/:token Métadonnées d'embed publiques (aucune auth pour vidéos publiques)
POST /api/v1/videos/:id/subtitles Upload d'une piste de sous-titres (Enterprise)
GET /api/v1/presets Liste des préréglages du lecteur (Enterprise)
POST /api/v1/presets Créer un préréglage du lecteur (Enterprise)
Pattern d’upload chunké
# Étape 1 : init
curl -X POST https://dashboard.avcaption.com/api/v1/upload/init \
-H "X-API-Key: avc_..." \
-d '{"filename":"course-lesson-1.mp4","size":1234567890,"title":"Lesson 1"}'
# Renvoie : {"upload_id":"abc123","chunk_size":5242880}
# Étape 2 : upload des chunks (parallélisable)
curl -X POST https://dashboard.avcaption.com/api/v1/upload/chunk \
-H "X-API-Key: avc_..." \
-H "X-Upload-ID: abc123" \
-H "X-Chunk-Index: 0" \
--data-binary @chunk-0.bin
# ...répéter pour chaque chunk
# Étape 3 : complete
curl -X POST https://dashboard.avcaption.com/api/v1/upload/complete \
-H "X-API-Key: avc_..." \
-d '{"upload_id":"abc123"}'
# Renvoie : {"video_id":"...","embed_token":"...","status":"processing"}
Événements webhook (Enterprise)
Abonnez-vous aux événements sur un endpoint HTTPS quelconque :
video.uploaded— upload chunké terminévideo.encoded— encodage terminé, prêt à lirevideo.failed— échec d’encodage (avec détails)view.threshold— nombre de spectateurs franchit le seuil configurésubtitle.translated— traduction IA terminée
Payload webhook signé en HMAC-SHA256.
Limites de débit
- Endpoints en lecture (list, get) : 300 req/min par clé API
- Endpoints en écriture (update, delete) : 60 req/min
- Endpoints d’upload : 60 req/min sur init/complete ; les chunks eux-mêmes ne sont pas rate-limités
- Stats : 60 req/min
Les limites s’élargissent automatiquement pour les clients Enterprise ; contactez les ventes pour des taux personnalisés.
Format d’erreur
{
"error": "message d'erreur lisible",
"code": "machine_readable_error_code",
"request_id": "x-request-id-for-support-tickets"
}
Démarrer
L’API REST est incluse dans Enterprise. Générez votre clé API dans le dashboard Settings → API Keys. Ouvrez un compte Enterprise et lancez un seul appel d’upload chunké contre un fichier source réel avant de scripter la migration en masse. Déploiements pilotés par API courants : hébergement vidéo LMS, vidéo client agence, produits numériques.