Skip to main content
Every Fish Audio error comes back as JSON with a message and a status:
(A request whose body can’t be parsed returns a plain-text parse error instead.)

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.