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
fileform field whose value is a.zipcontaining 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=truereturns 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
API key from https://app.resemble.ai/hub/api
Request
One or more media files. Repeat the files[] field for each file. Mutually exclusive with file.
A single .zip archive containing media files. Mutually exclusive with files[].
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.
Run identity search against the team’s saved identities (audio/video only).
Window size in seconds (audio/video).
Start of segment to analyze (seconds).
End of segment to analyze (seconds).
Use LLM-assisted video analysis.
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.
Response
Aggregate state for a batch detection job. Returned by POST /detect/batch and GET /detect/batch/{uuid}.
