List Voice Profiles

Gets a paginated list of available voices, which can be filtered by gender, age, language, accent and type.

List Voice Profiles API Docs

List Voice Profiles API helper endpoint lets you retrieve a paginated response of all voices available to your account, which could include voice profiles of three types - private, imported and public.

API Request

Sending a GET request to the endpoint immediately returns a status along with a paginated list of voice profiles on success. The paginated result uses a default limit of 10 and the response adds a has_more field if there are more pages and a next_page_token field to query the next page.

Sending Request without Query Params

Simply sending a GET request to the endpoint without any query parameters returns up to 10 most recent voice profile records.

bash
curl -X GET "https://api.zoice.com/v1/voice-profiles" \
  -H "Authorization: Bearer $ZOICE_API_KEY"

Sending Request with Query Params

The /v1/voice-profiles endpoint accepts optional voice_type, gender, age, language, accent, page_size and next_page_token query parameters to filter the responses based on your requirements.

bash
curl -X GET "https://api.zoice.com/v1/voice-profiles?voice_type=private&gender=male" \
  -H "Authorization: Bearer $ZOICE_API_KEY"

Response Format

A successful request will return a JSON object with fields including status, voices, has_more, next_page_token.

json
{
  "status": "success",
  "voices": [
    {
      "voice_id": "bedf6a57-c6a5-47c0-...",
      "voice_name": "Sophia",
      "description": "early middle aged woman",
      "age": "early-middle-aged",
      "gender": "female",
      "language": "en",
      "accent": "en-american",
      "generation_info": {
        "reference_audio_urls": [
          "https://storage.zoice.com/api/assets/audio-ddc61733-0ed9-4b05-...mp3"
        ]
      },
      "created_at": "2026-07-18T15:20:20.224Z",
      "voice_type": "private",
      "voice_state": "active",
      "preview_url": "https://storage.zoice.com/api/assets/audio-c018ff3d-691f...mp3"
    },
    {
      "voice_id": "76c751f0-71bd-42e5-93b6-...",
      "voice_name": "sophia",
      "generation_info": {
        "reference_audio_urls": [
          "https://storage.zoice.com/api/assets/1769428384127-1769428383842_...mp3"
        ]
      },
      "created_at": "2026-07-13T16:44:12.544Z",
      "voice_type": "private",
      "voice_state": "active",
      "preview_url": "https://storage.zoice.com/api/assets/audio-ddc61733-0ed9-...mp3"
    },
  ],
  "has_more": false,
  "next_page_token": null
}

Handling Pagination

The paginated result uses a default limit of 10 and this can be changed by using the page_size query parameter.

The response adds a has_more field if there are more pages and a next_page_token field to query the next page.

If has_more value is true, include the next_page_token value in the query parameter when you send a request next time to fetch additional pages of results.

Schema

Input

Query Parameter

Type

Required

Default

Range

voice_type

string

No

-

private, imported, public

gender

string

No

-

male, female, other

age

string

No

-

child, teen, young-adult, early-middle-aged, late-middle-aged, senior

language

string

No

-

"af", "ar", "hy", "as", "ast", "az", "be", "bn", "bs", "bg", "yue", "ca", "ceb", "ny", "zh", "hr", "cs", "da", "nl", "en", "et", "fil", "fi", "fr", "gl", "ka", "de", "el", "gu", "ha", "he", "hi", "hu", "is", "id", "ga", "it", "ja", "jv", "kn", "kk", "ky", "ko", "lv", "ln", "lt", "lb", "mk", "ms", "ml", "mt", "mi", "mr", "mn", "ne", "no", "oc", "or", "ps", "fa", "pl", "pt", "pa", "ro", "ru", "sr", "sd", "sk", "sl", "so", "es", "sw", "sv", "tg", "ta", "te", "th", "tr", "uk", "ur", "uz", "vi", "cy"

accent

string

No

-

"af-standard", "ar-modern-standard", "ar-egyptian", "ar-gulf", "ar-levantine", "ar-bahraini", "ar-kuwaiti", "ar-omani", "ar-qatari", "ar-saudi", "ar-iraqi", "ar-jordanian", "ar-palestinian", "ar-syrian", "ar-algerian", "ar-moroccan", "ar-tunisian", "ar-libyan", "ar-sudanese", "hy-standard", "as-standard", "az-standard", "be-standard", "bn-standard", "bs-standard", "bg-bansko", "bg-rhodopean", "bg-ruse", "bg-sofia", "bg-standard", "bg-varna", "ca-standard", "ceb-standard", "ny-standard", "zh-guangzhou-cantonese", "zh-hong-kong-cantonese", "zh-singapore-cantonese", "zh-beijing-mandarin", "zh-singapore-mandarin", "zh-taiwan-mandarin", "zh-standard", "hr-dubrovnik", "hr-istrian", "hr-standard", "hr-zagreb", "cs-moravian", "cs-prague", "cs-silesian", "cs-standard", "da-copenhagen", "da-jutlandic", "da-standard", "da-zealandic", "nl-brabantian", "nl-flemish", "nl-gronings", "nl-limburgish", "nl-standard", "en-american", "en-australian", "en-british", "en-canadian", "en-indian", "en-irish", "en-jamaican", "en-new-zealand", "en-nigerian", "en-scottish", "en-south-african", "en-african-american", "en-singaporean", "en-boston", "en-chicago", "en-new-york", "en-us-southern", "en-us-midwest", "en-us-northeast", "en-cockney", "en-geordie", "en-received-pronunciation", "en-scouse", "en-welsh", "en-yorkshire", "en-arabic", "en-bulgarian", "en-chinese", "en-croatian", "en-czech", "en-danish", "en-dutch", "en-filipino", "en-finnish", "en-french", "en-german", "en-greek", "en-hindi", "en-indonesian", "en-italian", "en-japanese", "en-korean", "en-malay", "en-polish", "en-portuguese", "en-romanian", "en-russian", "en-slovak", "en-spanish", "en-swedish", "en-tamil", "en-turkish", "en-ukrainian", "et-standard", "fil-cebuano", "fil-ilocano", "fil-standard", "fi-eastern", "fi-helsinki", "fi-standard", "fi-tampere", "fi-turku", "fi-western", "fr-acadian", "fr-african", "fr-belgian", "fr-cajun", "fr-creole", "fr-meridional", "fr-parisian", "fr-quebec", "fr-standard", "fr-swiss", "gl-standard", "ka-standard", "de-bavarian", "de-berlinerisch", "de-rhine-franconian", "de-saxon", "de-standard", "de-swabian", "el-aegean", "el-athenian", "el-cretan", "el-cypriot", "el-macedonian", "el-pontic", "el-standard", "gu-standard", "ha-standard", "he-standard", "hi-awadhi", "hi-bengali", "hi-bhojpuri", "hi-bihari", "hi-chhattisgarhi", "hi-gujarati", "hi-haryanvi", "hi-khariboli", "hi-malvi", "hi-marathi", "hi-marwadi", "hi-punjabi", "hi-rajasthani", "hi-standard", "hi-tamil", "hi-telugu", "hu-standard", "hu-budapest", "hu-eastern", "hu-western", "hu-northern", "hu-southern", "is-standard", "id-balinese", "id-javanese", "id-standard", "id-sundanese", "ga-standard", "it-calabrese", "it-florentine", "it-genoese", "it-milanese", "it-neapolitan", "it-romanesco", "it-sicilian", "it-standard", "it-ticinese", "it-tuscan", "it-venetian", "ja-kansai", "ja-kanto", "ja-kyushu", "ja-okinawa", "ja-standard", "ja-tohoku", "jv-standard", "kn-standard", "kk-standard", "ky-standard", "ko-chungcheong", "ko-gyeongsang", "ko-hamgyong", "ko-jeolla", "ko-seoul", "ko-standard", "lv-standard", "ln-standard", "lt-standard", "lb-standard", "mk-standard", "ms-brunei", "ms-indonesian", "ms-kelantanese", "ms-malaysian", "ms-singaporean", "ms-standard", "ml-standard", "mr-standard", "ne-standard", "no-standard", "no-oslo", "no-bergen", "no-trøndersk", "no-northern", "no-sørlandsk", "ps-standard", "fa-standard", "pl-kashubian", "pl-mazovian", "pl-podhale", "pl-silesian", "pl-standard", "pt-brazilian", "pt-european", "pt-african", "pt-azorean", "pt-creole", "pt-galician", "pt-madeiran", "pa-standard", "ro-banat", "ro-bucovina", "ro-maramures", "ro-moldovan", "ro-oltenia", "ro-standard", "ro-transylvanian", "ru-moscow", "ru-saint-petersburg", "ru-standard", "sr-standard", "sd-standard", "sk-central", "sk-eastern", "sk-standard", "sk-western", "sl-standard", "so-standard", "es-latin-american", "es-peninsular", "es-andalusian", "es-argentine", "es-basque", "es-canary-islands", "es-caribbean", "es-chilean", "es-colombian", "es-cuban", "es-dominican", "es-ecuadorian", "es-galician", "es-mexican", "es-peruvian", "es-puerto-rican", "es-venezuelan", "sw-standard", "sv-gothenburg", "sv-gotland", "sv-norrland", "sv-scanian", "sv-standard", "sv-stockholm", "ta-chennai", "ta-coimbatore", "ta-madurai", "ta-salem", "ta-standard", "ta-thanjavur", "ta-tirunelveli", "te-standard", "th-standard", "tr-aegean", "tr-anatolian", "tr-black-sea", "tr-central", "tr-eastern", "tr-istanbul", "tr-southeastern", "tr-standard", "uk-kiev", "uk-standard", "ur-standard", "vi-standard", "vi-northern", "vi-central", "vi-southern", "cy-standard"

page_size

integer

No

10

1...100

next_page_token

string | null

No

-

-

Output

Field

Type

Description

status

string

The status of the API request.

Allowed values: "success", "processing", "failed"

voices

object[]

Array containing available voice profile objects.

voices[].voice_id

string (uuid)

Unique identifier for the voice profile.

voices[].voice_name

string

Display name of the voice profile.

voices[].description

string

The description of the voice.

voices[].age

string

The age of the voice.

Allowed values: child, teen, young-adult, early-middle-aged, late-middle-aged, senior

voices[].gender

string

The gender of the voice.

Allowed values: "male", "female", "neutral"

voices[].language

string

The primary language code for the voice profile (e.g., "en").

voices[].accent

string

The specific accent regional variant (e.g., "en-american").

voices[].voice_type

string

The type of the voice.

Allowed values: "private", "imported", "public"

voices[].voice_state

string

The current state of the voice.

Allowed values: "active", "processing"

voices[].preview_url

string

The full URL of the audio preview of the generated voice.

voices[].generation_info

object

The object containing the information regarding voice profile generation.

voices[].generation_info.reference_audio_urls

string[]

String array including the URLs to the input audio used for generating the audio profile.

voices[].generation_info.preview_text

string

The custom text provided to generate audio preview.

voices[].provider

string

The provider of the voice in case of imported voice profiles.

Allowed values: "elevenlabs"

voices[].provider_voice_id

string

The original voice ID of the imported voice on the provider platform like ElevenLabs.

voices[].credential_id

string

The credential ID associated to this import.

voices[].created_at

string

Date and time of creation in UTC format.

has_more

boolean

The flag indicating whether more pages are available to query.

Allowed values: true, false

next_page_token

string | null

A string ID that can be passed as next_page_token in request to get the next page of voices.