Status codes
401 – the key is missing or invalid. Check the Authorization header carries a current pk_live_ key from Settings → API keys.
402 – the account is out of credits. Top up, or enable auto-reload so an unattended job does not pause at a zero balance.
403 – the request asked for a pro-only feature (for example diarize: true) on an account that has never made a purchase. The body carries { "upgrade": true }; any credit purchase unlocks it permanently, not a subscription.
400 and 422 – bad parameters, or a link the API cannot resolve into media. A social or podcast link that has been deleted, made private, or is region-locked lands here.
429 – you are being rate limited. The response includes a Retry-After header; back off for that long rather than retrying immediately.
Ceilings on a single source
A clip generated for social is capped at 90 seconds. Uploads are capped by account: 1 GB on a free account and 5 GB once credits have been purchased, which is comfortably more than an hour-long lossless recording.
The platform's own ceiling on a single recording is 10 hours. Beyond that, split the file before sending it.
Retrying safely
Retry 429 and 5xx responses with backoff, and send an Idempotency-Key on the create call so a retried request returns the original job instead of starting a second transcription.
Do not retry 400, 401, 402, 403, or 422 unchanged: each one means the request or the account needs fixing first.