Video-API
AVCaption liefert eine REST-API zur programmatischen Video-Verwaltung. Verfügbar in Enterprise; Preview-Zugang für Premium auf Anfrage.
Authentifizierung
Zwei Methoden:
Bearer-Token (JWT) — bei Login ausgegeben, als Header Authorization: Bearer <token> gesendet. Wird von Ihren authentifizierten Dashboard-Sessions verwendet.
API-Key — auf der Settings-Seite generiert. Format avc_<64-Hex-Zeichen>. Versand als Header X-API-Key: <key> oder als Query-Parameter ?api_key=<key>. Gut für Server-zu-Server.
Endpoints
GET /api/v1/videos Videos auflisten (paginiert, ?page=1)
GET /api/v1/videos/:id Video-Metadaten + Embed-Token
POST /api/v1/upload Direkt-Upload (kleine Dateien)
POST /api/v1/upload/init Chunked-Upload-Session starten
POST /api/v1/upload/chunk Einen Chunk hochladen
POST /api/v1/upload/complete Chunked-Upload finalisieren
PUT /api/v1/videos/:id Title, allowed_domains aktualisieren
DELETE /api/v1/videos/:id Video löschen
GET /api/v1/stats Account-Stats: Anzahl Videos, Views, Speichernutzung
GET /api/v1/embed/:token Öffentliche Embed-Metadaten (keine Auth nötig für öffentliche Videos)
POST /api/v1/videos/:id/subtitles Untertitel-Track hochladen (Enterprise)
GET /api/v1/presets Player-Presets auflisten (Enterprise)
POST /api/v1/presets Player-Preset anlegen (Enterprise)
Chunked-Upload-Muster
# Schritt 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"}'
# Liefert: {"upload_id":"abc123","chunk_size":5242880}
# Schritt 2: Chunks hochladen (parallel möglich)
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
# ...für jeden Chunk wiederholen
# Schritt 3: complete
curl -X POST https://dashboard.avcaption.com/api/v1/upload/complete \
-H "X-API-Key: avc_..." \
-d '{"upload_id":"abc123"}'
# Liefert: {"video_id":"...","embed_token":"...","status":"processing"}
Webhook-Events (Enterprise)
Abonnieren Sie Events auf einem beliebigen HTTPS-Endpoint:
video.uploaded— Chunked-Upload abgeschlossenvideo.encoded— Encoding fertig, abspielbereitvideo.failed— Encoding fehlgeschlagen (mit Fehlerdetails)view.threshold— Zuschauerzahl überschreitet konfigurierten Schwellwertsubtitle.translated— Untertitel-Übersetzung abgeschlossen
Webhook-Payload mit HMAC-SHA256 signiert.
Rate-Limits
- Read-Endpoints (list, get): 300 Req/min pro API-Key
- Write-Endpoints (update, delete): 60 Req/min
- Upload-Endpoints: 60 Req/min auf init/complete; die Chunks selbst sind nicht rate-limited
- Stats: 60 Req/min
Limits skalieren automatisch für Enterprise-Kunden; für individuelle Raten Sales kontaktieren.
Fehlerformat
{
"error": "menschenlesbare Fehlermeldung",
"code": "machine_readable_error_code",
"request_id": "x-request-id-for-support-tickets"
}
Loslegen
REST-API ist in Enterprise enthalten. API-Key im Dashboard unter Settings → API Keys generieren. Enterprise-Konto eröffnen und einen einzelnen Chunked-Upload-Call gegen eine echte Quelldatei laufen lassen, bevor Sie die Bulk-Migration skripten. Häufige API-getriebene Einsätze: LMS-Video-Hosting, Agentur-Kunden-Video, Digitale Produkte.