Payload too large
payload_too_large
The request body, or the inline recording (audio) inside it, is larger than this endpoint accepts. A body over the endpoint's limit is judged on its raw bytes before anything is parsed, so it was never read in full and no field in it was looked at. A recording over its own limit is judged on its length in base64 characters, one byte each. max_bytes carries whichever limit was exceeded as a number and detail repeats it.
Why it happens
Inline audio that is too long. POST /v1/transcriptions takes the recording as base64 inside the JSON, and base64 is a third bigger than the file it encodes, so a clip that looks small on disk can still be over the limit on the wire. The other cause is a client that sent the body twice, or wrapped it in another layer of encoding.
How to fix it
Send a smaller body: re-encode the recording at a lower bitrate, or split a long clip into pieces and send each one. Nothing was run and no allowance was spent.
Safe to retry?
No. The same body is refused at the same size every time; only a smaller one can succeed.
What it looks like on the wire
{
"type": "https://voicelabs.now/errors/payload_too_large",
"title": "Payload too large",
"status": 413,
"detail": "A human-readable explanation of this particular occurrence.",
"instance": "/v1/speech",
"code": "payload_too_large"
}
Branch on code, never on status or on the prose in detail: two different problems can share a status, and detail is written for humans and may be reworded. Problems a settings page can resolve also carry settings_url, and a scope failure carries required_scope.
Every VoiceLabs API error is an RFC 9457 problem document with a stable code.