> For AI agents: the documentation index is at https://platform.detectif.ai/llms.txt. Every page is also available as Markdown by adding `.md` to its path.

# Audio and limits

Audio formats, recording lengths for each check, file sizes, and what to do when the service is busy.

## Formats

WAV, MP3, M4A, FLAC, OGG and WebM. Recordings are converted to mono before they are checked, so stereo files work.

## Recording length

| Check | Length | Speech needed |
|---|---|---|
| AI-generated speech | Longer than 4 seconds, up to 120 seconds | Any |
| Enroll a voice | 15 to 60 seconds | At least 10 seconds |
| Verify a voice | 3 to 60 seconds | At least 2 seconds |

A speaker can have up to 5 enrolled recordings. Recordings from different days or devices help.

## File size

| Through | Largest file | How the audio is sent |
|---|---|---|
| REST API | 100 MB | A multipart upload in the `file` field |
| MCP | 25 MB | Base64 text in the `audio_base64` argument |

For files larger than 25 MB, use the REST API.

## Large files

- Send a compressed format when you can. FLAC keeps every detail and is much smaller than WAV; MP3, M4A and OGG are smaller still.
- Trim the recording to the part you need.
- Uploads take time on slow connections. Allow for the upload in your client's timeout.
- Send an `Idempotency-Key` so that retrying a timed-out upload does not run the check twice.

## Busy, try again

If the service is busy you get `503` with a `Retry-After` header; if you send too many requests at once you get `429`. Wait for the `Retry-After` seconds, then send the same request again with the same `Idempotency-Key`.

## Getting reliable results

- Results are signals, not proof. Use them with other checks, and have a person review decisions that matter.
- Phone-quality audio (calls, voice messages) gives less reliable results than clear recordings.
- The AI-generated speech check is tuned for English.
