# Reality Defender

> Detect deepfakes and synthetic media in images, audio, video, and documents. Upload files for analysis and retrieve detection results with confidence scores.

Source: https://cotera.co/docs/reference/tools/individual-tools/reality-defender

---

**Authentication Type:** API Key

**Description:** Detect deepfakes and synthetic media in images, audio, video, and documents. Upload files for analysis and retrieve detection results with confidence scores.

> **Beta Tool:** Please contact support to get this Beta tool added to your account.

***

## Authentication

To authenticate, you'll need a Reality Defender API key from [Reality Defender](https://docs.realitydefender.com/api-reference/quickstart).

Use the `x-api-key` header for authentication.

***

## File Upload

### Get Presigned URL

Get a pre-signed AWS S3 URL for uploading files before analysis.

**Operation Type:** Query (Read)

**Parameters:**

* **fileName** `string` (required): The file name including extension

**Supported File Types:**

* **Documents:** `.pdf`, `.doc`, `.docx`, `.txt` (up to 5MB)
* **Images:** `.jpg`, `.jpeg`, `.png`, `.gif`, `.webp` (up to 10MB)
* **Audio:** `.mp3`, `.wav`, `.m4a`, `.aac`, `.ogg`, `.flac`, `.alac` (up to 20MB)
* **Video:** `.mp4`, `.mov` (up to 250MB)

**Returns:**

* **presigned\_url** `string`: Temporary URL for uploading the file via PUT request

**Example Usage:**

```json
{
  "fileName": "interview_recording.mp3"
}
```

***

## Media Analysis

### List All Media

List all uploaded media with optional filtering and pagination.

**Operation Type:** Query (Read)

**Parameters:**

* **page\_number** `string` (required): Page number for pagination
* **size** `number` (optional, default: 10): Number of results per page
* **name** `string` (optional): Filter by file name
* **startDate** `string` (optional): Filter from date (format: yyyy-mm-dd)
* **endDate** `string` (optional): Filter to date (format: yyyy-mm-dd)

**Returns:**

* **results** `array`: List of media items with detection status and scores

**Example Usage:**

```json
{
  "page_number": "1",
  "size": 25,
  "startDate": "2024-01-01"
}
```

### Get Media Detail

Retrieve detailed deepfake detection results for a specific file.

**Operation Type:** Query (Read)

**Parameters:**

* **requestId** `string` (required): Unique request identifier from upload

**Returns:**

* **filename** `string`: Internal file identifier
* **originalFileName** `string`: User-provided filename
* **requestId** `string`: Unique request identifier
* **uploadedDate** `string`: Upload timestamp
* **mediaType** `string`: Type of media (AUDIO, VIDEO, TEXT, IMAGE)
* **userId** `string`: Associated user identifier
* **resultsSummary** `object`: Detection results
  * **status** `string`: Detection status (AUTHENTIC, FAKE, SUSPICIOUS, NOT\_APPLICABLE, UNABLE\_TO\_EVALUATE)
  * **metadata** `object`: Detection details
    * **finalScore** `number`: Ensemble confidence score (0-100)
    * **languages** `array`: Detected languages
    * **reasons** `array`: Explanation codes for the determination

**Example Usage:**

```json
{
  "requestId": "req_abc123xyz"
}
```

***

## Common Use Cases

**Content Verification:**

* Verify authenticity of user-submitted media
* Screen uploaded content for synthetic manipulation
* Validate identity verification documents

**News & Media:**

* Authenticate video and audio before publication
* Detect AI-generated images in submissions
* Verify source material for investigations

**Security & Compliance:**

* Screen voice recordings for synthetic audio
* Verify video calls and recordings
* Detect manipulated documents and PDFs

**Trust & Safety:**

* Prevent synthetic media from spreading on platforms
* Protect users from deepfake impersonation
* Maintain content integrity standards

