---
title: "Create deepfake detection"
method: POST
path: "/detect"
tags: ["deepfakeDetection"]
---

# Create deepfake detection

`POST /detect`

Analyze audio, image, and video for deepfake detection.

Supply media via one of three intake methods:

- **Direct file upload** — `multipart/form-data` with the file attached as `file`. Files must be 150 MB or smaller and use one of the supported audio/video/image extensions. For larger files, use the secure upload flow.
- **Public URL** — `application/json` with a `url` field. The API fetches the URL itself.
- **Secure upload token** — `application/json` with a `media_token` field obtained from `POST /secure_uploads`.

Exactly one of `file`, `url`, or `media_token` must be provided per request.

## Headers

- `Authorization` string, required

## Response `200`

Detection job created

- DeepfakeDetectionCreateDetectionResponse200
  - `success` boolean
  - `item` DetectPostResponsesContentApplicationJsonSchemaItem
    - `uuid` string
    - `status` string
    - `zero_retention_mode` boolean — Whether Zero Retention Mode is enabled for this detect
    - `file_deleted_at` string, date-time, nullable — ISO 8601 timestamp of when the file was purged, or null if not yet deleted
    - `url` string, nullable — URL to the media file. Null when Zero Retention Mode is enabled.
    - `audio_url` string, nullable — Alias of url. Null when Zero Retention Mode is enabled.
    - `filename` string — Original filename, or tokenized (redacted_<token>.<ext>) when Zero Retention Mode is enabled
    - `modality` 'audio' | 'video' | 'all' — Which detection modality was requested. `all` when not specified. For a single-modality video detect, the skipped component's metrics are absent (`metrics` for audio-only-skipped, `video_metrics` for video-only-skipped), and the detect still reaches `completed` once the requested modality(ies) finish.
    - `face_only` boolean — Effective face-only setting. `true` only for video inputs that include visual analysis; `false` for audio, image, and audio-only video detects.
    - `intelligence` DetectPostResponsesContentApplicationJsonSchemaItemIntelligence — Default Intelligence result when requested
      - `uuid` string
      - `status` 'processing' | 'completed' | 'failed'
      - `error_message` string, nullable
      - `description` union
        - string
        - DetectPostResponsesContentApplicationJsonSchemaItemIntelligenceDescription1
          - `speaker_info` string
          - `language` string
          - `dialect` string
          - `emotion` string
          - `speaking_style` string
          - `context` string
          - `message` string
          - `abnormalities` string
          - `transcription` string
          - `translation` string, nullable
          - `misinformation` string
          - `fraud` DetectPostResponsesContentApplicationJsonSchemaItemIntelligenceDescriptionOneOf1Fraud
            - `type` 'none' | 'vishing' | 'impersonation' | 'romance_scam' | 'tech_support_scam' | 'financial_fraud' | 'extortion' | 'political_manipulation' | 'synthetic_media_fraud' | 'insurance_fraud' | 'employment_fraud' | 'other'
            - `confidence` number, double
            - `reasoning` string
          - `liveness` DetectPostResponsesContentApplicationJsonSchemaItemIntelligenceDescriptionOneOf1Liveness
            - `assessment` 'real_person' | 'not_real_person' | 'inconclusive'
            - `confidence` number, double
            - `indicators` string
          - `digitally_altered` DetectPostResponsesContentApplicationJsonSchemaItemIntelligenceDescriptionOneOf1DigitallyAltered
            - `detected` boolean
            - `confidence` number, double
            - `alterations` string
      - `created_at` string, date-time
      - `detect_uuid` string
    - `c2pa_manifest` DetectC2paManifest — Content Credentials (C2PA) verification result for audio, image, and video media. Returned when verification has completed. A fallback verification failure returns `validation_state: Unavailable` and does not fail the detection.
      - `validation_state` 'Valid' | 'NotPresent' | 'Unavailable' — Verification state. `NotPresent` means no embedded Content Credentials were found; `Unavailable` means verification could not complete.
      - `active_manifest` string, nullable — Active C2PA manifest identifier when credentials are present
      - `manifests` object, nullable — Raw manifest details returned by C2PA tooling
      - `validation_results` object, nullable — Detailed validation results returned by C2PA tooling
      - `message` string, nullable — Generic message when verification is unavailable

## Changes

> 6 revisions in range; 3 could not be searched.

- **2026-07-31** `bce48b20dad7` — 7 info
  - added the new optional request property `signal`
  - added the new optional request property `wait_for_intelligence`
  - added the optional property `item/c2pa_manifest` to the response with the `200` status
  - added the optional property `item/intelligence/oneOf[subschema #1: DetectPostResponsesContentApplicationJsonSchemaItemIntelligence]/detect_uuid` to the response with the `200` status
  - …3 more
- **2026-07-26** `5e92bebbaf1f` — 1 warning, 3 info
  - removed the request property `model_types`
  - added the new optional request property `face_only`
  - added the new optional request property `infer_from_intelligence`
  - added the optional property `item/face_only` to the response with the `200` status

[Change history](https://skmtc.dev/resemble/apis/api-reference/changes/detect/post.md)

---

[API](https://skmtc.dev/resemble/apis/api-reference.md) · [All operations](https://skmtc.dev/resemble/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/resemble/api-reference/revisions/e93597a6b425/schema)
