> ## Documentation Index
> Fetch the complete documentation index at: https://sc-docs.deepidv.com/llms.txt
> Use this file to discover all available pages before exploring further.

# File Deepfake Detection

> Analyze documents, images, and audio for AI-generated or manipulated content

> Submit any file — documents, images, audio, or video — and receive a detailed analysis of whether the content is AI-generated, digitally manipulated, or authentic.

export const SectionHeader = ({label, title, description, align = "left"}) => <div className="deepidv-section-header" style={{
  textAlign: align,
  alignItems: align === "center" ? "center" : "flex-start"
}}>
    {label && <p className="deepidv-section-label">{label}</p>}
    <h2 className="deepidv-section-title">{title}</h2>
    {description && <p className="deepidv-section-desc">{description}</p>}
  </div>;

export const FeatureGrid = ({cols = 3, children}) => <div className="deepidv-feature-grid" style={{
  "--grid-cols": cols
}}>
    {children}
  </div>;

export const FeatureCard = ({icon, title, description, href}) => {
  const inner = <div className="deepidv-feature-card">
      {icon && <div className="deepidv-feature-card-icon">
          <Icon icon={icon} size={20} />
        </div>}
      <div className="deepidv-feature-card-content">
        <h3 className="deepidv-feature-card-title">{title}</h3>
        {description && <p className="deepidv-feature-card-desc">{description}</p>}
      </div>
      {href && <div className="deepidv-feature-card-arrow">
          <Icon icon="arrow-right" size={14} />
        </div>}
    </div>;
  if (href) {
    return <a href={href} style={{
      textDecoration: "none",
      color: "inherit",
      display: "block",
      border: "none",
      boxShadow: "none"
    }}>
        {inner}
      </a>;
  }
  return inner;
};

## What is File Deepfake Detection?

File Deepfake Detection is a standalone API service that accepts any supported file and returns a comprehensive analysis of whether its content is AI-generated, digitally manipulated, or authentic. Unlike Live Session Detection — which operates within the context of a verification session — File Deepfake Detection is designed for ad-hoc analysis of documents, images, audio recordings, and video files submitted through any channel.

This service is particularly valuable for financial institutions that need to verify the authenticity of supporting documentation submitted during loan applications, account opening, insurance claims, and regulatory filings.

***

## Supported File Types

| Category      | Formats               | Typical Use Cases                                                                     |
| ------------- | --------------------- | ------------------------------------------------------------------------------------- |
| **Documents** | PDF, DOCX             | Bank statements, pay stubs, tax returns, identity documents, contracts                |
| **Images**    | JPEG, PNG, TIFF, WEBP | Identity photos, passport scans, proof of address, cheque images                      |
| **Audio**     | WAV, MP3, M4A, FLAC   | Phone verification recordings, voice authorization captures, call centre recordings   |
| **Video**     | MP4, MOV, WEBM        | Video verification recordings, remote notarization sessions, KYC interview recordings |

***

<SectionHeader
  label="Integration"
  title={
<>
  How It <span>Works</span>
</>
}
/>

```mermaid theme={null}
sequenceDiagram
    participant Your Server
    participant deepidv

    Your Server->>deepidv: POST /v1/deepfake-detection/analyze (file upload)
    deepidv-->>Your Server: 202 Accepted (analysis_id)
    Note over deepidv: AI analysis in progress
    deepidv-->>Your Server: Webhook callback (results)
    Your Server->>deepidv: GET /v1/deepfake-detection/{id} (optional polling)
    deepidv-->>Your Server: 200 OK (full results)
```

1. **Upload** — Your server submits a file via multipart form upload to the analysis endpoint.
2. **Acknowledge** — deepidv returns a `202 Accepted` response with an `analysis_id` for tracking.
3. **Analyse** — AI models process the file asynchronously. Analysis time varies by file type and size.
4. **Notify** — Results are delivered to your configured webhook endpoint when analysis completes.
5. **Retrieve** — Optionally poll the results endpoint using the `analysis_id` if webhook delivery is not configured.

***

## Quick Start

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.deepidv.com/v1/deepfake-detection/analyze \
    -H "x-api-key: YOUR_API_KEY" \
    -F "file=@/path/to/document.pdf" \
    -F "file_type=document" \
    -F "callback_url=https://your-server.com/webhooks/deepfake"
  ```

  ```javascript Node.js theme={null}
  const FormData = require("form-data");
  const fs = require("fs");

  const form = new FormData();
  form.append("file", fs.createReadStream("/path/to/document.pdf"));
  form.append("file_type", "document");
  form.append("callback_url", "https://your-server.com/webhooks/deepfake");

  const response = await fetch("https://api.deepidv.com/v1/deepfake-detection/analyze", {
    method: "POST",
    headers: {
      "x-api-key": "YOUR_API_KEY",
      ...form.getHeaders(),
    },
    body: form,
  });

  const result = await response.json();
  console.log(result);
  ```

  ```python Python theme={null}
  import requests

  with open("/path/to/document.pdf", "rb") as f:
      response = requests.post(
          "https://api.deepidv.com/v1/deepfake-detection/analyze",
          headers={
              "x-api-key": "YOUR_API_KEY",
          },
          files={
              "file": ("document.pdf", f, "application/pdf"),
          },
          data={
              "file_type": "document",
              "callback_url": "https://your-server.com/webhooks/deepfake",
          },
      )

  print(response.json())
  ```
</CodeGroup>

A successful submission returns:

```json theme={null}
{
  "analysis_id": "df-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "status": "processing",
  "estimated_completion": "2025-01-15T10:45:00.000Z"
}
```

***

## Understanding Results

When analysis completes, the results include the following fields:

| Field               | Type           | Description                                                                                                                 |
| ------------------- | -------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `is_ai_generated`   | boolean        | Whether the content is determined to be AI-generated or materially manipulated.                                             |
| `confidence_score`  | number (0–100) | Confidence that the content is AI-generated. Higher values indicate greater likelihood of synthetic or manipulated content. |
| `risk_level`        | string         | Categorized risk assessment: `low`, `medium`, `high`, or `critical`.                                                        |
| `detection_details` | array          | Array of specific findings, including the type of manipulation detected and the affected regions or segments of the file.   |

For the complete response schema and all available fields, refer to the [API Reference](/api-reference/sessions/create-session).

***

## File Size Limits

| Constraint        | Limit                               |
| ----------------- | ----------------------------------- |
| Maximum file size | 50 MB per file                      |
| Rate limit        | 100 requests per minute per API key |

<Warning>
  Files exceeding 50 MB will be rejected with a `413 Payload Too Large` response. For large video files, consider trimming to the relevant segment before submission.
</Warning>

***

<CardGroup cols={2}>
  <Card title="File Analysis Use Cases" icon="building-columns" href="/deepfake-detection/file-analysis-use-cases">
    Explore banking-specific applications for document and media authenticity verification.
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/sessions/create-session">
    View the full API documentation for the file deepfake detection endpoint.
  </Card>
</CardGroup>
