zoice/voice-profile
Zoice Voice Profile API Docs
Zoice Voice Profile creates a voice profile based on given audio input urls. The voice profile can be further used for generating audio for avatar videos using zoice/avatar-x model.
API Request
The API endpoint handles heavy media rendering tasks asynchronously using a fast queue-based system, and the request immediately returns a request_id. Use the request_id to poll the status of the generation and return the result after the task is completed.
Sending Request
curl -X POST "https://api.zoice.com/v1/run/zoice/voice-profile" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $ZOICE_API_KEY" \
-d '{
"voice_name": "Sophia",
"reference_audio_urls": [
"https://storage.zoice.com/api/assets/audio-ddc61733-0ed9-...mp3"
],
"gender": "female",
"age": "early-middle-aged",
"language": "en",
"accent": "en-american",
"description": "early middle aged woman"
}'Response Format
{
"request_id": 'd1f47b9c-6387-49d0-a403-...',
"status": 'processing',
}Polling and Output
After submitting an asynchronous API request, you can use the request_id obtained from the response to further poll for the status of the generation and ultimately retrieve the result after the completion. Use the /v1/fetch/request_id endpoint to perform this operation.
Polling Request
curl -X GET "https://api.zoice.com/v1/fetch/{request_id}" \
-H "Authorization: Bearer $ZOICE_API_KEY"Polling Response
{
"status": "success",
"request_id": "27f96f9d-8b3b-4",
"type": "voice_profile",
"output":
{
"credits": 500,
"voice_id": "bedf6a57-c6a5-47c0-ab16-58bf6fb30803",
"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-...mp3",
],
},
"createdAt": "2026-07-18T15:20:20.224Z",
"updatedAt": "2026-07-18T15:20:28.456Z",
"preview_url": "https://storage.zoice.com/api/assets/audio-c018ff3d-691f-.mp3",
},
}
Schema
Input
Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
voice_name | string | Yes | - | - | Name of the voice profile |
reference_audio_urls | string[] | Yes | - | - | Array of reference audio urls to be used for generation of voice profile |
gender | string | No | - | "male", "female", "neutral" | The gender for the voice profile |
age | string | No | - | "child", "teen", "young-adult", "early-middle-aged", "late-middle-aged", "senior" | The age for the voice profile |
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" | The language for the voice profile |
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" | The accent for the voice profile |
Description | string | No | - | - | Add a brief description |
Output
Field | Type | Description |
|---|---|---|
status | string | The status of the API request. Allowed values: |
request_id | string (uuid) | A unique identifier generated for tracking this specific request. |
type | string | The type of media content being processed. Allowed values: |
output | object | An object containing the generated media url and metadata. |
output.credits | number | Credits used for generation. |
output.voice_id | string (uuid) | The unique identifier for the generated voice profile. |
output.voice_name | string | The name assigned to the voice profile. |
output.description | string | A brief description of the voice's characteristics. |
output.age | string | The age category of the voice (e.g., |
output.gender | string | The gender of the voice (e.g., |
output.language | string | The primary language code for the voice profile (e.g., |
output.accent | string | The specific accent regional variant (e.g., |
output.preview_url | string (url) | The direct URL to an audio sample file for previewing the generated voice. |