voices

Search the managed voice catalog: ElevenLabs and Inworld premade voices and Fish Audio's library.

Each voice names its provider; a voice renders only on its own engine's models (compatible_models). Every filter is enforced server-side and echoed in filters_applied. The opaque next_cursor is bound to these filters; changing them with a cursor is 400 invalid_cursor.

get/voices

Request

  • Base URL
    https://api.moda.app/v1
  • URL
    https://api.moda.app/v1/voices
  • Auth
    HTTP bearer

Query parameters

querystring nullable
languagestring nullable
accentstring nullable
use_casestring nullable
genderstring nullable
providerstring nullable

elevenlabs, fishaudio or inworld: only that engine's voices.

categorystring nullable

premade (ElevenLabs and Inworld stock voices), featured (Fish Audio voices whose rights Fish secured, celebrity and creator voices included) or community (popular public Fish Audio voices).

include_unavailableboolean
cursorstring nullable
limitinteger

Headers

X-Voice-Enginesstring nullable

The voice engines this client understands, comma-separated: elevenlabs,fishaudio,inworld. ElevenLabs is always on; Fish Audio models and voices appear only for a client that lists fishaudio (or, on GET /v1/voices, asks for provider=fishaudio or a featured/community category), and Inworld's only for a client that lists inworld (or asks for provider=inworld).

Moda-Version'2026-04-12' | '2026-05-01'
Example:2026-05-01

Calendar-dated API version pin. New integrations should pin 2026-05-01 to opt into the newest response shapes. For back-compat the server also accepts requests with no header and resolves them to the current default (today: 2026-04-12); that default advances on each sunset date. Any unsupported value returns 400 unsupported_version.

Response

Successful Response

object'list'
next_cursorstring nullable required
returnedinteger required
has_moreboolean required
limitinteger required
totalinteger required

Changes