Docs

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.