voices

List Voices

Lists the voices available to the caller - the shared voice catalog plus the cloned voices they can reach, whichever member or service-account key created them. A clone filed under a project is listed only for a caller who can reach that project; a clone no project filed is shared with the whole workspace and is listed for everyone in it. The list is paged: a request without limit returns the first 50 voices, and limit raises that to at most 200. Pass cursor from the previous response to fetch the next page while has_more is true. API versions before 2026-07-16 returned the whole catalogue when limit was omitted. Narrow the list with the type and locale filters.

A page can come back with fewer than limit voices, and a short page - an empty one included - is not the end of the list. Keep following next_cursor while has_more is true.

get/v1/voices

Request

  • Base URL: https://api.speechify.ai
  • URL: https://api.speechify.ai/v1/voices
  • Auth: HTTP bearer

Query parameters

cursorstring

Opaque pagination cursor from a previous response.

limitinteger

Max items per page (default 50, max 200).

type'personal' | 'shared'

Filter by voice type: personal (the workspace's cloned voices) or shared (the public catalogue). Omit to return both.

localestring

Filter to voices whose locale matches this BCP-47 language range, prefix-matched: en matches en-US and en-GB; en-US matches only en-US. Case-insensitive. Omit to return all locales.

gender'male' | 'female' | 'not_specified'

Filter by voice gender. Omit to return all genders.

modelstring

Filter to voices that support this model (as listed in each voice's models[]), e.g. simba-3.2. Omit to return voices for all models.

project_idstring

Filter cloned voices by workspace project: omit for every voice you can reach, pass the literal shared for the clones no project filed, or a proj_... id for the clones filed under that project. The shared catalog carries no project and is returned either way.

A clone is filed under a project when a project-pinned key created it. A clone with no project is shared with the whole workspace rather than sitting in a Default project, so the literal here is shared, never default - passing default is a 400. Returns 404 project_not_found for a malformed id and for any project outside your reach: a project-pinned key reaches only its pinned project, and a member holding project grants reaches only the granted ones. That 404 is the same in every case and does not reveal whether such a project exists. shared is always inside your reach.

Headers

Speechify-Versionstring

Response

The voice catalogue (or a page of it when limit is set).

next_cursorstring nullable required

Opaque keyset cursor for the next page. Pass back as the cursor request parameter. null when the caller has reached the end of the list (has_more is also false in that case).

has_moreboolean required

True when more rows exist beyond this page.

Changes

No recorded changes to this operation across all 1 revision of this API.