Skip to navigation

Create a batch deepfake detection job

Submit up to 50 files in a single request and process them as a single logical group. Returns HTTP 202 with a batch UUID; each file is analyzed in the background and individual results are available via GET /detect/{uuid} for each entry in detect_uuids.

Two intake methods:

  • Multiple media files — repeated files[] form fields.
  • Single zip archive — a single file form field whose value is a .zip containing the media files. Non-media entries are skipped.

Provide one of files[] or file=<...>.zip per request. Synchronous mode (Prefer: wait) is not supported and returns 400 if sent.

Constraints:

  • Maximum 50 files per batch.
  • Maximum 500 MB total upload size across all files.
  • Allowed file types match POST /detect’s direct-upload allowlist.
  • Watermark analysis is not supported for batch or zip requests. Sending detect_watermark=true returns 400.
  • All-or-nothing billing: if the team’s wallet cannot cover the projected cost for every file, the request is rejected with 402 and no detects are created.

Authentication

AuthorizationBearer

Request

This endpoint expects a multipart form with multiple files.
files[]filesOptional

One or more media files. Repeat the files[] field for each file. Mutually exclusive with file.

filefileOptional

A single .zip archive containing media files. Mutually exclusive with files[].

callback_urlstringOptionalformat: "uri"
POST destination invoked when the batch reaches a terminal state.
intelligencebooleanOptionalDefaults to false
Run multimodal intelligence on every file in the batch.
infer_from_intelligencebooleanOptionalDefaults to false

Opt in to let a strong intelligence finding escalate an otherwise non-fake verdict to “Likely Fake”. Has no effect unless intelligence is also true.

search_identitybooleanOptionalDefaults to false

Run identity search against the team’s saved identities (audio/video only).

visualizebooleanOptionalDefaults to true
Generate visualization artifacts.
audio_source_tracing_enabledbooleanOptionalDefaults to false
Enable audio source tracing on each audio file.
frame_lengthintegerOptional1-4

Window size in seconds (audio/video).

start_regiondoubleOptional

Start of segment to analyze (seconds).

end_regiondoubleOptional

End of segment to analyze (seconds).

max_video_secsdoubleOptional
Cap processed video duration.
use_llmbooleanOptional

Use LLM-assisted video analysis.

face_onlybooleanOptionalDefaults to false

Focus detection on faces for video children by masking non-face regions. Audio and image children use an effective value of false. Retrieve each child’s effective value with GET /detect/{uuid}; the aggregate batch response does not include this field.

zero_retention_modebooleanOptionalDefaults to false
Enable Zero Retention Mode for every file in the batch.

Response

Batch accepted
successbooleanOptional
itemobjectOptional

Aggregate state for a batch detection job. Returned by POST /detect/batch and GET /detect/batch/{uuid}.

Errors

400
Bad Request Error
402
Payment Required Error
403
Forbidden Error