Deepfake Check (Submit)
Submit a video file for asynchronous deepfake / Anti-Video Forgery analysis. This endpoint returns immediately (201 Created) with a check id you can use to poll the status.
Endpoint
POST /api-gateway/v2/deepfake/checksAuthentication
Requires a valid API token in the Authorization header.
Authorization: Bearer <your-api-key>Optional Headers
| Header | Description |
|---|---|
X-Device-Info | Device information in JSON format. More info |
X-Geo-Location | Client geolocation data instead of IP-based lookup. More info |
Request
Content-Type: multipart/form-data
| Part | Type | Required | Description |
|---|---|---|---|
request | JSON string | Yes | {"user_id": "...", "session_id": "..."} — user_id is required, session_id optional. |
video | File | Yes | Video file to analyse. |
Example Request
curl -X POST 'https://api.biometrysolutions.com/api-gateway/v2/deepfake/checks' \ -H 'Authorization: Bearer <your-api-key>' \ -F 'request={"user_id":"user-123"}' \Response
Status: 201 Created
The check is accepted for processing. Use the returned data.id to poll the status.
{ "data": { "id": "246fcaf1-0c88-4b21-a96c-05cabefcef55", "status": "pending", "score": null, "prediction": null, "message": null, "created_at": 1763007610 }, "meta": { "request_id": "fc5605c5-...", "message": "deepfake check created" }}Response Fields (data)
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the check (use it to poll status). |
status | string | pending, processing, completed, or failed. |
score | number | null | Deepfake probability (0.0–1.0), null until completed. |
prediction | string | null | Prediction label, null until completed. |
created_at | number | Unix timestamp (seconds) when the check was created. |
Error Responses
| Status | Description |
|---|---|
400 Bad Request | Invalid file format, missing file, or missing user_id. |
401 Unauthorized | Missing or invalid API token. |
422 Unprocessable Entity | The video could not be processed. |
500 Internal Server Error | Server processing error. |
Next Steps
After receiving a successful response, use the Deepfake Check (Status) endpoint to poll for the result.