What does an error response look like?
Errors return an HTTP status code and a JSON body:
Quote the request_id when you contact support.
Which error codes does the API return?
What are the rate limits?
Each API key can make 300 requests a minute across all endpoints. Past that, requests return 429 with a Retry-After header giving the seconds to wait. Poll a transcript every few seconds, or use a webhook instead of polling.
What are the limits on recordings?
- Length: 20 seconds to 3 hours. Outside that range
POST /transcripts returns 400.
- Size: up to 2 GB.
- Formats: MP3, M4A, AAC, WAV, FLAC, OGG, Opus or WebM audio, or MP4, MOV, MKV or WebM video (only the sound is kept).
- Upload URL: accepts one PUT for 15 minutes.
How do idempotency keys work?
Send an Idempotency-Key header of 8 to 160 characters with POST /transcripts. Use a new key for each transcript you want. Repeating a request with the same key returns the same transcript and charges once. Reusing a key for a different request returns 409.
Is a failed transcript charged?
No. The price is held from your balance when you create a transcript and charged when it completes. Failed and canceled transcripts are not charged.Last modified on October 26, 2026