Fehler & Limits
Fehlerformat, Statuscodes, Rate-Limits und Tipps für Wiederholungsversuche bei der VideoUpscaler API.
Fehlerformat
Jeder Fehler hat dieselbe JSON-Struktur. Verwende in deinem Code code; message ist für Menschen gedacht und kann sich ändern.
{
"error": {
"code": "insufficient_credits",
"message": "Not enough credits for this video. Buy credits to continue."
}
}Statuscodes
| Status | Code | Bedeutung | Erneut versuchen? |
|---|---|---|---|
400 | invalid_request | Die Anfrage ist fehlerhaft | Nein – korrigiere die Anfrage |
401 | unauthorized | API-Schlüssel fehlt oder ist ungültig | Nein |
402 | insufficient_credits | Nicht genügend Credits | Nach dem Kauf von Credits |
403 | paid_plan_required | Das Konto hat noch nie Credits gekauft oder ein Abo abgeschlossen | Nach dem Kauf von Credits |
403 | invalid_upload_token | Upload-URL ungültig oder abgelaufen | Neue Upload-URL anfordern |
403 | invalid_stream_token | Event-Stream-URL ungültig oder abgelaufen | /tasks/{id}/events erneut öffnen |
404 | not_found | Kein solcher Task in deinem Konto | Nein |
409 | idempotency_conflict | Idempotency-Key mit anderen Parametern wiederverwendet | Neuen Schlüssel verwenden |
411 | invalid_request | Upload-PUT ohne Body oder Content-Length | Nein – korrigiere die Anfrage |
413 | file_too_large | Video überschreitet die Größenbeschränkung | Nein |
422 | video_fetch_failed | video_url konnte nicht heruntergeladen werden | Nachdem die URL korrigiert wurde |
422 | unsupported_video | Keine lesbare MP4-, MOV- oder WebM-Datei | Nein |
422 | video_too_long | Video länger als 600 Sekunden | Nein |
422 | video_not_found | Unter dieser video_url wurde nichts hochgeladen | Nach Abschluss des Uploads |
429 | rate_limited | Zu viele Anfragen | Ja, nach Retry-After Sekunden |
500 | internal_error | Bei uns ist etwas schiefgelaufen | Ja, mit demselben Idempotency-Key |
502 | upstream_error | Die Verarbeitung konnte nicht starten; eventuelle Abbuchungen wurden erstattet | Ja, mit einem neuen Idempotency-Key |
504 | upstream_timeout | Der Download von video_url hat zu lange gedauert | Ja, oder nutze einen schnelleren Host |
Limits
| Limit | Wert |
|---|---|
| Anfragen | Etwa 120 pro Minute und API-Schlüssel |
| Videolänge | 600 Sekunden |
Größe einer externen video_url | 500MB |
| Größe hochgeladener Dateien | 100MB |
| Gültigkeit der Upload-URL | 1 Stunde |
| Aktive API-Schlüssel | 20 pro Konto |
Sichere Wiederholungsversuche
Sende bei /upscale immer einen Idempotency-Key mit. Läuft eine Anfrage in ein Timeout oder erhältst du einen 500 oder 504-Fehler, wiederhole sie mit demselben Schlüssel: Du bekommst dann den bereits erstellten Task zurück, statt ein zweites Mal zu bezahlen.
Ein 502 upstream_error ist anders: Der Task wurde angelegt, konnte nicht starten und wurde erstattet, daher liefert derselbe Key weiter diesen fehlgeschlagenen Task. Versuche es mit einem neuen Key.