KI-Videoerkennungs-API
Vollständige Dokumentation zur Integration der KI-Videoerkennungs-API von TruthScan in Ihre Anwendungen.
Testen Sie die API ohne Code, indem Sie unseren FastAPI-Endpunkt besuchen: https://detect-video.truthscan.com/docs
Preise & Credits
Jede Videoerkennungsanfrage verbraucht Credits aus Ihrem Konto, wenn die Verarbeitung abgeschlossen ist.
Prüfen Sie Ihr Guthaben mit GET /check-user-credits. Preispläne anzeigen
Authentifizierung
TruthScan verwendet API-Schlüssel, um den Zugriff auf die API zu ermöglichen. Sie können Ihren API-Schlüssel oben auf der Seite in unserem Entwicklerportal erhalten.
TruthScan erwartet, dass der API-Schlüssel in allen API-Anfragen an den Server entweder als Form-Parameter oder Header wie folgt enthalten ist:
{
"key": "YOUR API KEY GOES HERE"
}Sie müssen YOUR_API_KEY durch Ihren persönlichen API-Schlüssel ersetzen.
KI-Videoerkennung
Erkennung (2-Schritte-Prozess)
Der KI-Videoerkennungs-Workflow besteht aus zwei Schritten:
- Video zur Erkennung einreichen (Multipart-Upload oder URL)
- Auftrag abfragen, um Ergebnisse abzurufen
Erkennungsmodelle
Wählen Sie mit dem optionalen model-Parameter, welches ML-Modell während der Erkennungspipeline ausgeführt wird. Wenn weggelassen, wird generic verwendet.
generic: Allgemeines KI-Videoerkennungsmodell (Standard)faceswap: Dediziertes Face-Swap-Videoerkennungsmodell
Beide Modelle verwenden dieselbe Erkennungspipeline (metadata → watermark → ML) und liefern dasselbe Antwortformat. Ungültige model-Werte geben 422 zurück.
1. Video einreichen
Laden Sie eine Videodatei direkt zur API hoch oder reichen Sie eine Video-URL ein. Der Server validiert die Datei.
Unterstützte Dateiformate
mp4, mov, avi, mkv, webm
Dateigrößenbeschränkungen
- Minimale Dateigröße: 1KB
- Maximale Dateigröße: 100MB
Per Datei-Upload einreichen
Header
key(erforderlich): Ihr API-Schlüsselemail: Optionale E-Mail-Adresseuserkey: Optionaler Integrations-Benutzerschlüssel
Multipart form-data
file(erforderlich): Das zu analysierende Videomodel: Zu verwendendes Erkennungsmodell, d.h. generic oder faceswap (optional, Standard: generic)
POST https://detect-video.truthscan.com/detect-fileBeispiel-Request
curl -X POST \
'https://detect-video.truthscan.com/detect-file' \
-H 'accept: application/json' \
-H 'key: YOUR-API-KEY-GOES-HERE' \
-F 'file=@/path/to/video.mp4;type=video/mp4'Face-Swap-Modell-Beispiel
curl -X POST \
'https://detect-video.truthscan.com/detect-file' \
-H 'accept: application/json' \
-H 'key: YOUR-API-KEY-GOES-HERE' \
-F 'file=@/path/to/video.mp4;type=video/mp4' \
-F 'model=faceswap'Optionale Parameter
document_type: Dokumenttyp (Standard: Video)email: E-Mail-Adresse für die Verarbeitungmodel: Erkennungsmodell, d.h. generic oder faceswap (Standard: generic)
Per URL einreichen
Header
Content-Type: application/json
Body (JSON)
key(erforderlich): Ihr API-Schlüsselurl: https://ai-video-detector-prod.nyc3.digitaloceanspaces.com/<FILE_PATH>model: Zu verwendendes Erkennungsmodell, d.h. generic oder faceswap (optional, Standard: generic)
POST https://detect-video.truthscan.com/detectBeispiel-Request
curl -X POST \
'https://detect-video.truthscan.com/detect' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"key": "YOUR-API-KEY-GOES-HERE",
"url": "https://example.com/video.mp4",
"model": "generic"
}'Face-Swap-Modell-Beispiel
curl -X POST \
'https://detect-video.truthscan.com/detect' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"key": "YOUR-API-KEY-GOES-HERE",
"url": "https://example.com/video.mp4",
"model": "faceswap"
}'Optionale Parameter
document_type: Dokumenttyp (Standard: Video)email: E-Mail-Adresse für die Verarbeitungmodel: Erkennungsmodell, d.h. generic oder faceswap (Standard: generic)
Beispiel-Antwort
{
"id": "77565038-9e3d-4e6a-8c80-e20785be5ee9",
"status": "pending"
}Die Antwort enthält eine eindeutige Video-ID zur Verfolgung des Erkennungsstatus.
2. Erkennungsstatus und Ergebnisse abfragen
Nach der Einreichung fragen Sie den /query-Endpunkt mit der Auftrags-ID ab, um Status und Ergebnisse abzurufen.
POST https://detect-video.truthscan.com/queryBeispiel-Request
curl -X POST 'https://detect-video.truthscan.com/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{"id":"JOB-ID-GOES-HERE"}'Beispiel-Antwort
{
"id": "bfd136fc-666b-42d0-89cf-0e9690c98f21",
"status": "done",
"result": 0.101969311406719,
"result_details": {
"final_stage": "watermark",
"metadata": {
"status": "ok",
"prediction": "no_detection",
"confidence": 0.0
},
"watermark": {
"prediction": "ai_generated (watermark)",
"confidence": 1.0
},
"ml": {
"aggregate": {
"prob_fake": 0.1019693114067195,
"label": "cancelled",
"n_frames": 256,
"latency_sec": 23.319
}
},
"latency_sec": 24.017
},
"preview_url": null
}Ergebnisdetails
status: "pending", "analyzing", "done" oder "failed"result: Skalare KI-Wahrscheinlichkeitsbewertung in [0.0, 1.0] (höher = wahrscheinlicher KI-generiert), abgeleitet von ML prob_fakefinal_stage: Letzte Stufe, die zum Ergebnis beigetragen hat: 'metadata', 'watermark' oder 'ml'metadata: Setzt immer prediction: 'no_detection' und confidence: 0.0. Status kann 'reject', 'reencode' oder 'ok' seinwatermark: Heuristik, die Frames abtastet und Pseudo-Konfidenz aus Pixelvarianz berechnetml: Klassifikatormodell, das auf abgetasteten Frames läuft. Gibt prob_fake in [0.0, 1.0] und Label zurück ('ai_generated' wenn prob_fake ≥ 0.5, sonst 'no_detection')latency_sec: Gesamte Pipeline-Zeit
Das Feld "status" ist eines von: "pending" (Verarbeitung in Warteschlange), "analyzing" (KI-Erkennung läuft), "done" (Ergebnisse verfügbar) oder "failed" (Verarbeitung fehlgeschlagen).
Benutzerguthaben prüfen
Dieser Endpunkt akzeptiert den API-Schlüssel des Benutzers über den Header und gibt die Kreditdetails des Benutzers zurück.
GET https://detect-video.truthscan.com/check-user-creditsBeispiel-Request
curl -X 'GET' \
'https://detect-video.truthscan.com/check-user-credits' \
-H 'apikey: YOUR API KEY GOES HERE' \
-H 'accept: application/json' \
-H 'Content-Type: application/json'Beispiel-Antwort
{
"baseCredits": 10000,
"boostCredits": 1000,
"credits": 11000
}Gesundheitsprüfung
Überprüfen Sie den Gesundheitsstatus des API-Servers.
GET https://detect-video.truthscan.com/healthBeispiel-Request
curl -X 'GET' \
'https://detect-video.truthscan.com/health' \
-H 'accept: application/json'Beispiel-Antwort
{
"status": "healthy"
}Fehler
Die meisten Fehler stammen von falschen Parametern, die an die API gesendet werden. Überprüfen Sie die Parameter jedes API-Aufrufs, um sicherzustellen, dass sie korrekt formatiert sind, und versuchen Sie, den bereitgestellten Beispielcode auszuführen.
Die generischen Fehlercodes, die wir verwenden, entsprechen dem REST-Standard:
| Fehlercode | Bedeutung |
|---|---|
| 400 | Bad Request -- Ihre Anfrage ist ungültig. |
| 403 | Forbidden -- Der API-Schlüssel ist ungültig oder es gibt nicht genügend Credits für die Videoverarbeitung. |
| 404 | Not Found -- Die angegebene Ressource existiert nicht. |
| 405 | Method Not Allowed -- Sie haben versucht, auf eine Ressource mit einer ungültigen Methode zuzugreifen. |
| 406 | Not Acceptable -- Sie haben ein Format angefordert, das nicht JSON ist. |
| 410 | Gone -- Die Ressource an diesem Endpunkt wurde entfernt. |
| 422 | Invalid Request Body -- Ihr Request Body ist falsch formatiert, ungültig oder hat fehlende Parameter. |
| 429 | Too Many Requests -- Sie senden zu viele Anfragen! Verlangsamen Sie! |
| 500 | Internal Server Error -- Wir hatten ein Problem mit unserem Server. Versuchen Sie es später noch einmal. |
| 503 | Service Unavailable -- Wir sind vorübergehend wegen Wartungsarbeiten offline. Bitte versuchen Sie es später noch einmal. |
Häufige Probleme und Lösungen
Authentifizierungsprobleme
"Benutzerverifizierung fehlgeschlagen" (403)
Ursache: Ungültiger oder abgelaufener API-Schlüssel
Lösung:
- Überprüfen Sie, ob Ihr API-Schlüssel korrekt ist
- Prüfen Sie, ob Ihr API-Schlüssel in Ihrem Konto aktiv ist
- Versuchen Sie, Ihren API-Schlüssel neu zu generieren
"Nicht genügend Credits" (403)
Ursache: Unzureichende Credits für die Videoverarbeitung
Lösung:
- Überprüfen Sie Ihre verbleibenden Credits mit /check-user-credits
- Kaufen Sie bei Bedarf zusätzliche Credits
Eingabevalidierungsprobleme
"Nicht unterstützter Videotyp" (400)
Ursache: Dateiformat nicht unterstützt
Lösung:
- Konvertieren Sie das Video in ein unterstütztes Format (MP4, MOV, AVI, MKV, WEBM)
- Stellen Sie sicher, dass Dateierweiterung und MIME-Typ korrekt sind
"Dateigröße überschreitet Limit" (400)
Ursache: Videodatei ist zu groß
Lösung:
- Komprimieren, kürzen oder neu kodieren Sie das Video, um die Größe zu reduzieren (maximal 100MB)
- Verwenden Sie einen effizienteren Codec/Container
"Dateigröße zu klein" (400)
Ursache: Videodatei liegt unter der Mindestgröße
Lösung:
- Verwenden Sie eine größere Videodatei (mindestens 1KB)
- Überprüfen Sie, ob die Datei beim Hochladen beschädigt wurde
"Ungültiger Dateityp" (400)
Ursache: Dateityp-Validierung fehlgeschlagen (z.B. falscher MIME-Typ oder beschädigte Datei)
Lösung:
- Stellen Sie sicher, dass die Datei ein gültiges Videoformat ist
- Überprüfen Sie, ob der MIME-Typ mit der Dateierweiterung übereinstimmt
- Exportieren oder kodieren Sie die Datei bei Bedarf neu
Ungültiger model-Wert (422)
Ursache: Der model-Parameter ist weder generic noch faceswap
Lösung:
- Lassen Sie model weg, um das Standardmodell generic zu verwenden
- Setzen Sie model auf generic für allgemeine KI-Videoerkennung
- Setzen Sie model auf faceswap für Face-Swap-Videoerkennung
Verarbeitungsprobleme
Videostatus "fehlgeschlagen"
Ursache: Verarbeitung fehlgeschlagen (z.B. unlesbarer Container, Dekodierungsfehler)
Lösung:
- Stellen Sie sicher, dass Container/Codec häufig unterstützt wird (H.264/AAC in MP4 empfohlen)
- Kodieren Sie das Video mit einer Standardvoreinstellung (z.B. ffmpeg) neu und laden Sie es erneut hoch
- Stellen Sie sicher, dass die Datei Größen- und Formatanforderungen erfüllt
- Kontaktieren Sie den Support, wenn das Problem weiterhin besteht
"Benutzer nicht gefunden"
Ursache: Ungültige Benutzer-ID
Lösung:
- Überprüfen Sie, ob Ihr API-Schlüssel korrekt und mit einem aktiven Konto verknüpft ist
- Stellen Sie sicher, dass der Integrationsbenutzer gültig und aktiv ist
- Authentifizieren Sie sich bei Bedarf erneut
"Dateimetadaten konnten nicht abgerufen werden" (500)
Ursache: Kann nicht auf die hochgeladene Datei zugreifen oder sie parsen
Lösung:
- Überprüfen Sie, ob der Upload erfolgreich abgeschlossen wurde
- Prüfen Sie, ob die Datei zugänglich und nicht beschädigt ist
- Versuchen Sie, die Datei erneut hochzuladen
Brauchen Sie Hilfe?
Für weitere Informationen zur Verwendung unserer API oder für technischen Support kontaktieren Sie uns bitte.
API Häufig gestellte Fragen
Finden Sie Antworten auf die häufigsten Fragen zu unserer KI-Videoerkennungs-API.