AI-videodetectie-API
Volledige documentatie voor de integratie van de AI-videodetectie-API van TruthScan in uw applicaties.
Probeer het zonder code via ons FastAPI-endpoint: https://detect-video.truthscan.com/docs
Authenticatie
TruthScan gebruikt API-sleutels. U haalt uw sleutel op via bovenaan de pagina in ons developerportaal.
De API-sleutel hoort in alle verzoeken in een body zoals hieronder:
{
"key": "YOUR API KEY GOES HERE"
}Vervang YOUR API KEY GOES HERE door uw persoonlijke API-sleutel.
AI-videodetector
Detect (2 stappen)
De workflow voor AI-videodetectie:
- Video indienen (multipart-upload)
- Job opvragen voor resultaten
1. Video indienen voor detectie
Upload een videobestand direct naar de API. De server valideert het bestand.
Ondersteunde formaten
MP4, MOV, AVI, MKV, WEBM
Bestandsgroottes
- Minimum: 1 KB
- Maximum: 100 MB
POST https://detect-video.truthscan.com/detect-fileVoorbeeldrequest
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'Optionele parameters
document_type: Documenttype (standaard: ‘Video’)email: Optioneel e-mailadres voor verwerking
Voorbeeldresponse
{
"id": "77565038-9e3d-4e6a-8c80-e20785be5ee9",
"status": "pending"
}De response bevat een unieke video-ID om de status te volgen.
2. Status en resultaten opvragen
Poll /query met de job-ID voor status en resultaten.
POST https://detect-video.truthscan.com/queryVoorbeeldrequest
curl -X POST 'https://detect-video.truthscan.com/query' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{"id":"JOB-ID-GOES-HERE"}'Voorbeeldresponse
{
"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
}Resultaatdetails
status: "pending", "analyzing", "done" of "failed"result: Score in [0,0, 1,0] afgeleid van ML prob_fakefinal_stage: Laatste bijdragende fase: ‘metadata’, ‘watermark’ of ‘ml’metadata: Zet prediction op ‘no_detection’ en confidence op 0,0. Status kan ‘reject’, ‘reencode’ of ‘ok’ zijnwatermark: Heuristiek: frames samplen en pseudo-confidence uit pixelvariantieml: Classificator op gesamplede frames: prob_fake in [0,0, 1,0] en label (‘ai_generated’ als prob_fake ≥ 0,5, anders ‘no_detection’)latency_sec: Totale pipelinetijd
“status”: “pending” (wachtrij), “analyzing” (bezig), “done” (klaar) of “failed” (mislukt).
Credits controleren
Accepteert apikey in de header; retourneert creditdetails.
GET https://detect-video.truthscan.com/check-user-creditsVoorbeeldrequest
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'Voorbeeldresponse
{
"baseCredits": 10000,
"boostCredits": 1000,
"credits": 11000
}Health check
Controleer de status van de API-server.
GET https://detect-video.truthscan.com/healthVoorbeeldrequest
curl -X 'GET' \
'https://detect-video.truthscan.com/health' \
-H 'accept: application/json'Voorbeeldresponse
{
"status": "healthy"
}Fouten
Meeste fouten komen door onjuiste parameters. Controleer elke aanroep en vergelijk met de voorbeeldcode.
Onze foutcodes volgen de REST-standaard:
| Code | Betekenis |
|---|---|
| 400 | Bad Request — Ongeldig verzoek. |
| 403 | Forbidden — Ongeldige API-sleutel of onvoldoende credits voor video. |
| 404 | Not Found — Resource bestaat niet. |
| 405 | Method Not Allowed — Verkeerde HTTP-methode. |
| 406 | Not Acceptable — Geen JSON gevraagd. |
| 410 | Gone — Endpoint verwijderd. |
| 422 | Invalid Request Body — Body ongeldig of ontbrekende velden. |
| 429 | Too Many Requests — Te veel verzoeken. |
| 500 | Internal Server Error — Serverfout; probeer later opnieuw. |
| 503 | Service Unavailable — Onderhoud; probeer later opnieuw. |
Veelvoorkomende problemen en oplossingen
Authenticatie
"User verification failed" (403)
Oorzaak: Ongeldige of verlopen API-sleutel
Oplossing:
- Controleer de API-sleutel
- Controleer of de sleutel actief is
- Genereer zo nodig een nieuwe sleutel
"Not enough credits" (403)
Oorzaak: Onvoldoende credits voor video
Oplossing:
- Saldo controleren via /check-user-credits
- Extra credits kopen
Validatie van invoer
"Unsupported video type" (400)
Oorzaak: Formaat niet ondersteund
Oplossing:
- Converteer naar MP4, MOV, AVI, MKV of WEBM
- Controleer extensie en MIME-type
"File size exceeds limit" (400)
Oorzaak: Bestand te groot
Oplossing:
- Comprimeer, knip of encodeer opnieuw (max. 100 MB)
- Gebruik een efficiëntere codec/container
"File size is too small" (400)
Oorzaak: Bestand kleiner dan minimum
Oplossing:
- Gebruik een groter bestand (min. 1 KB)
- Controleer op corruptie
"Invalid file type" (400)
Oorzaak: Validatie mislukt (verkeerd MIME-type of corrupt bestand)
Oplossing:
- Controleer of het een geldig videoformaat is
- MIME-type moet bij extensie passen
- Exporteer of encodeer opnieuw indien nodig
Verwerking
Video status "failed"
Oorzaak: Verwerking mislukt (bijv. container niet leesbaar, decodefouten)
Oplossing:
- Gebruik gangbare codec (bijv. H.264/AAC in MP4)
- Encodeer opnieuw met standaardpreset (bijv. ffmpeg) en upload opnieuw
- Controleer formaat- en grootte-eisen
Video status "timeout" of lange verwerking
Oorzaak: Verwerking duurt langer dan verwacht of time-out
Oplossing:
- Wacht even en poll /query opnieuw
- Controleer formaat en grootte
- Neem contact op met support als het aanhoudt
"User not found"
Oorzaak: Ongeldige gebruiker
Oplossing:
- Controleer API-sleutel en actief account
- Controleer of de integratiegebruiker geldig is
- Zo nodig opnieuw authenticeren
"File metadata could not be fetched" (500)
Oorzaak: Geen toegang tot of parse van upload
Oplossing:
- Controleer of upload compleet was
- Controleer of het bestand bereikbaar en niet corrupt is
- Upload opnieuw
Veelgestelde vragen over de API
Antwoorden op veelgestelde vragen over de AI-videodetectie-API.