Skip to main content

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