Docs
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-Keyso 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.