Skip to main content
Fish Audio errors come back as JSON with a message and a status:
(A request whose body can’t be parsed returns a plain-text parse error instead.) Some endpoints add fields. For example, transcribe-1-pro speech-to-text errors also include code and request_id; see Speech to Text errors. Errors returned by the network edge in front of the API, such as some 413 or 5xx responses, may not be JSON.

Status codes

Retries

Retry 429 and 5xx with exponential backoff. Don’t retry other 4xx codes; they won’t succeed without a change to the request.

Handling errors in the SDKs

Both SDKs raise typed exceptions you can branch on. The base class carries the status and the parsed body.
Audio playback via play() needs ffmpeg. If it’s missing, the Python SDK raises DependencyError. Install ffmpeg or save the audio to a file instead.