VoiceLab API documentation
Plan | Pro | Max | Business | Enterprise |
---|---|---|---|---|
Text-to-Speech | 4.4 credits/1000 characters | 3.2 credits/1000 characters | 2.4 credits/1000 characters | Customized |
Instant voice clone | 30 voices | 180 voices | 500 voices | Customized |
Voice changer | 4.4 credits/minute | 3.2 credits/minute | 2.4 credits/minute | Customized |
Default preview text: Hello, I’m your personalized Al voice. Nice to meet you. I hope my voice brings your content to life!
Parameter | Value | Description |
---|---|---|
Authorization | Bearer {token} | Your API Key used for request authorization.getToken |
Parameter | Type | Required | Value | Description |
---|---|---|---|---|
source_voice_file | String | true | Original audio file URL, supports mp3, mp4, wav, etc. Must be a public accessible URL, The maximum file size is 30MB. | |
voice_options | Object | false | Audio tagging options | |
- style | Array | false | Voice style tags (e.g., [“Authoritative”, “Calm”]) | |
- gender | Array | false | Gender tags (e.g., [“Male”, “Female”]) | |
- age | Array | false | Age tags (e.g., [“Young”, “Middle”, “Elderly”]) | |
- scenario | Array | false | Use case tags (e.g., [“Advertisement”, “Education”]) | |
name | String | false | Audio name | |
webhookUrl | String | false | Callback url address based on HTTP request |
Parameter | Type | Value | Description |
---|---|---|---|
code | int | 1000 | Interface returns business status code(1000:success) |
msg | String | Interface returns status information | |
data | Object | Response data object | |
- uid | Integer | 101400 | User ID |
- team_id | String | ”6805fb69e92d9edc7ca0b409” | Team ID |
- voice_id | String | null | Voice ID, this value will be updated after task completion, you can view it in the voiceList.getVoiceList |
- gender | String | ”Male” | Voice gender |
- name | String | ”MyVoice0626-01” | Voice name |
- preview | String | null | Preview audio URL, this value will be updated after task completion, you can view it in the voiceList.getVoiceList |
- text | String | ”This is a comic style model…” | Preview text content |
- duration | Number | 8064 | Audio duration in milliseconds |
- status | Integer | 1 | Voice clone status: 【1:queueing, 2:processing, 3:completed, 4:failed】 |
- create_time | Long | 1751349718268 | Creation timestamp |
- style | Array | [“Authoritative”, “Calm”] | Voice style tags |
- scenario | Array | [“Advertisenment”] | Use case scenario tags |
- age | Array | [“Elderly”, “Middle”] | Age category tags |
- deduction_credit | Integer | 0 | Deducted credits |
- webhookUrl | String | ”Callback URL” | Callback URL |
- _id | String | ”686379d641e5eb74bb8dfe3f” | Document ID |
- source_voice_file | String | ”https://drz0f01yeq1cx.cloudfront.net/1751363983518-9431-audio1751363981879.webm” | Original audio file URL |
Parameter | Value | Description |
---|---|---|
Authorization | Bearer {token} | Your API Key used for request authorization.getToken |
Parameter | Type | Required | Value | Description |
---|---|---|---|---|
input_text | String | true | For input text, the per-request character limit depends on the subscription plan: Pro – 5,000, Pro Max – 10,000, Business – 50,000. | |
voice_id | String | true | Voice ID, get this voice_id from your cloned voices or akool voice list.getVoiceId | |
voice_options | Object | false | Audio settings | |
- stability | Number | false | Voice stability (0-1) , Supported voice models: Akool Multilingual 1, getVoiceModelName | |
- similarity_boost | Number | false | Similarity boost (0-1) , Supported voice models: Akool Multilingual 1, getVoiceModelName | |
- style | Number | false | Voice style (0-1) , Supported voice models: Akool Multilingual 1, Akool Multilingual 2. Style examples: cheerful, getVoiceModelName | |
- speed | Number | false | Speech speed (0.7-1.2) , Supported voice models: Akool Multilingual 1, Akool Multilingual 2, Akool Multilingual 3, getVoiceModelName | |
- speaker_boost | Boolean | false | Speaker boost, Supported voice models: Akool Multilingual 1, getVoiceModelName | |
- emotion | String | false | Emotion (happy, sad, angry, fearful, disgusted, surprised, neutral) , It only supports Chinese voice. Supported voice models: Akool Multilingual 2, Akool Multilingual 3, getVoiceModelName | |
- volume | Integer | false | Volume (0-100) , Supported voice models: Akool Multilingual 2, Akool Multilingual 3, getVoiceModelName | |
webhookUrl | String | false | Callback url address based on HTTP request | |
language_code | String | false | Currently supported: Akool Multilingual 1, Akool Multilingual 3 and Akool Multilingual 4. When passing in, only Language code (ISO 639-1) such as “zh”, “pt” is supported. This parameter is designed to enhance the use of minority languages. Adding audio effects will make it better, but it cannot achieve the effect of translation. |
Parameter | Type | Value | Description |
---|---|---|---|
code | int | 1000 | Interface returns business status code(1000:success) |
msg | String | Interface returns status information | |
data | Object | Response data object | |
- create_time | Long | 1751350015709 | Creation timestamp |
- uid | Integer | 101400 | User ID |
- team_id | String | ”6805fb69e92d9edc7ca0b409” | Team ID |
- input_text | String | ”Welcome to the Akool…” | Input text content |
- preview | String | null | Generated audio URL, this value will be updated after task completion, you can view it in the resourceList.getResourceList |
- status | Integer | 1 | TTS status: 【1:queueing, 2:processing, 3:completed, 4:failed】 |
- webhookUrl | String | "" | Callback URL |
- duration | Integer | 0 | Audio duration in milliseconds |
- file_name | String | ”1ef1d76ebfc244f7a30430f7049d6ebc.mp3” | Generated file name |
- gender | String | ”Male” | Voice gender |
- deduction_credit | Float | 1.9295 | Deducted credits |
- name | String | ”27fec311afd743aa889a057e17e93c13” | Generated name |
- _id | String | ”68637aff41e5eb74bb8dfe73” | Document ID |
- voice_model_id | String | ”686379d641e5eb74bb8dfe3f” | Voice document ID |
- voice_id | String | ”Tq06jbVyFH4l6R-Gjvo_V-p_nVYk5DRrYJZsxeDmlhEtyhcFKKLQODmgngI9llKw” | Voice ID |
- voice_options | Object | Voice options object | |
— stability | Number | 0.7 | Voice stability setting |
— similarity_boost | Number | 0.5 | Similarity boost setting |
— style | Number | 0.6 | Voice style setting |
— speed | Number | 0.8 | Speech speed setting |
— speaker_boost | Boolean | false | Speaker boost setting |
— emotion | String | ”happy” | Emotion setting |
— volume | Integer | 50 | Volume setting |
Parameter | Value | Description |
---|---|---|
Authorization | Bearer {token} | Your API Key used for request authorization.getToken |
Parameter | Type | Required | Value | Description |
---|---|---|---|---|
voice_id | String | true | Voice ID, get this voice_id from your cloned voices or akool voice list.getVoiceId | |
source_voice_file | String | true | Audio file URL, supports mp3, mp4, wav, etc. Must be a public accessible URL, The maximum file size is 50MB. | |
voice_options | Object | false | Audio settings | |
- stability | Number | false | Voice stability (0-1) , Supported voice models: Akool Multilingual 1, getVoiceModelName | |
- similarity_boost | Number | false | Similarity boost (0-1) , Supported voice models: Akool Multilingual 1, getVoiceModelName | |
- style | Number | false | Voice style (0-1) , Supported voice models: Akool Multilingual 1, Akool Multilingual 2. Style examples: cheerful, getVoiceModelName | |
- speaker_boost | Boolean | false | Speaker boost, Supported voice models: Akool Multilingual 1, getVoiceModelName | |
webhookUrl | String | false | Callback url address based on HTTP request |
Parameter | Type | Value | Description |
---|---|---|---|
code | int | 1000 | Interface returns business status code(1000:success) |
msg | String | Interface returns status information | |
data | Object | Response data object | |
- create_time | Long | 1751350363707 | Creation timestamp |
- uid | Integer | 101400 | User ID |
- team_id | String | ”6805fb69e92d9edc7ca0b409” | Team ID |
- preview | String | null | Generated audio URL, this value will be updated after task completion, you can view it in the resourceList. getResourceList |
- source_voice_file | String | ”https://drz0f01yeq1cx.cloudfront.net/1749098405491-5858-1749019840512audio.mp3” | Original audio file URL |
- status | Integer | 1 | Voice changer status: 【1:queueing, 2:processing, 3:completed, 4:failed】 |
- webhookUrl | String | "" | Callback URL |
- duration | Integer | 12800 | Audio duration in milliseconds |
- file_name | String | ”1749098405491-5858-1749019840512audio.mp3” | Generated file name |
- gender | String | ”Female” | Voice gender |
- deduction_credit | Float | 0.512 | Deducted credits |
- name | String | ”3f591fc370c542fca9087f124b5ad82b” | Generated name |
- _id | String | ”68637c5b41e5eb74bb8dfec6” | Document ID |
- voice_model_id | String | ”67a45479354b7c1fff7e943a” | Voice document ID |
- voice_id | String | ”hkfHEbBvdQFNX4uWHqRF” | Voice ID |
- voice_options | Object | Voice options object | |
— stability | Number | 0.7 | Voice stability setting |
— similarity_boost | Number | 0.5 | Similarity boost setting |
— style | Number | 0.6 | Voice style setting |
— speaker_boost | Boolean | false | Speaker boost setting |
Parameter | Value | Description |
---|---|---|
Authorization | Bearer {token} | Your API Key used for request authorization.getToken |
Parameter | Type | Required | Value | Description |
---|---|---|---|---|
type | String | true | 1,2 | 1-voiceTTS, 2-voiceChanger |
page | String | false | 1 | Page number |
size | String | false | 10 | Page size |
Parameter | Type | Value | Description |
---|---|---|---|
code | int | 1000 | Interface returns business status code(1000:success) |
msg | String | Interface returns status information | |
data | Object | Response data object | |
- result | Array | Voice resource list | |
— _id | String | ”68637c5b41e5eb74bb8dfec6” | Document ID |
— create_time | Long | 1751350363707 | Creation timestamp |
— update_time | Long | 1751350368468 | Update timestamp |
— uid | Integer | 101400 | User ID |
— team_id | String | ”6805fb69e92d9edc7ca0b409” | Team ID |
— rate | String | ”100%“ | Processing rate |
— preview | String | ”https://drz0f01yeq1cx.cloudfront.net/…” | Generated audio URL |
— status | Integer | 3 | Status: 【1:queueing, 2:processing, 3:completed, 4:failed】 |
— webhookUrl | String | "" | Callback URL |
— duration | Integer | 12852 | Audio duration in milliseconds |
— file_name | String | ”1749098405491-5858-1749019840512audio.mp3” | File name |
— gender | String | ”Female” | Voice gender |
— deduction_credit | Float | 0.9295 | Deducted credits |
— name | String | ”3f591fc370c542fca9087f124b5ad82b” | Resource name |
— input_text | String | ”Słyszę, że chcesz leżeć płasko? Gratulacje — przynajmniej zrozumiałeś grawitację! “ | Text to Speech trial listening text |
— __v | Integer | 0 | Version number |
- count | Integer | 1 | Total count of resources |
- page | Integer | 1 | Current page number |
- size | Integer | 10 | Page size |
Parameter | Value | Description |
---|---|---|
Authorization | Bearer {token} | Your API Key used for request authorization.getToken |
Parameter | Type | Required | Value | Description |
---|---|---|---|---|
type | String | true | 1,2 | 1-VoiceClone, 2-Akool Voices |
page | String | false | 1 | Page number |
size | String | false | 10 | Page size |
style | String | false | Calm,Authoritative | Voice style filters, separated by commas |
gender | String | false | Male,Female | Gender filters, separated by commas |
age | String | false | Young,Middle,Elderly | Age filters, separated by commas |
scenario | String | false | Advertisement,Education | Scenario filters, separated by commas |
name | String | false | MyVoice | Voice name, supports fuzzy search |
support_stream | Integer | false | 1 | 2-Voice does not support streaming.; 1-Voice supports streaming. |
Parameter | Type | Value | Description |
---|---|---|---|
code | int | 1000 | Interface returns business status code(1000:success) |
msg | String | Interface returns status information | |
data | Object | Response data object | |
- result | Array | Voice list | |
— _id | String | ”68676e544439e3b8e246a077” | Document ID |
— uid | Integer | 101400 | User ID |
— team_id | String | ”6805fb69e92d9edc7ca0b409” | Team ID |
— voice_id | String | ”zQAGCFElz23u6Brdj4L-NrbEmSxswXdoPN_GBpYgUPHo1EGWgZgAnFJexONx_jGy” | Voice ID |
— gender | String | ”Male” | Voice gender |
— language | String | ”Polish” | Voice language |
— locale | String | ”pl” | Voice locale |
— name | String | ”MyVoice0626-01” | Voice name |
— preview | String | ”https://d2qf6ukcym4kn9.cloudfront.net/…” | Preview audio URL |
— text | String | ”This is a comic style model…” | Preview text content |
— duration | Integer | 9822 | Audio duration in milliseconds |
— status | Integer | 3 | Voice status: 【1:queueing, 2:processing, 3:completed, 4:failed】 |
— create_time | Long | 1751608916162 | Creation timestamp |
— update_time | Long | 1751608916162 | Update timestamp |
— style | Array | [“Authoritative”, “Calm”] | Voice style tags |
— scenario | Array | [“Advertisement”] | Scenario tags |
— age | Array | [“Elderly”, “Middle”] | Age tags |
— deduction_credit | Integer | 0 | Deducted credits |
— webhookUrl | String | "" | Callback URL |
— voice_model_name | String | ”Akool Multilingual 3” | Supported voice model name |
— support_stream | Boolean | true | Supported stream: true/false, Akool Multilingual 1 & Akool Multilingual 3 only support stream. |
- count | Integer | 9 | Total count of voices |
- page | Integer | 1 | Current page number |
- size | Integer | 1 | Page size |
Parameter | Value | Description |
---|---|---|
Authorization | Bearer {token} | Your API Key used for request authorization.getToken |
Parameter | Type | Required | Value | Description |
---|---|---|---|---|
_ids | Array | true | Voice list document IDs getVoiceDocumentId |
Parameter | Type | Value | Description |
---|---|---|---|
code | int | 1000 | Interface returns business status code(1000:success) |
msg | String | Interface returns status information | |
data | Object | Response data object | |
- successIds | Array | Deleted voice document IDs | |
- noPermissionVoices | Array | Delete failed voice document msg list | |
— _id | String | 6881cd86618fa41c89557b0c | Delete failed voice document ID |
— msg | String | VoiceId:6881cd86618fa41c89557b0c resource not found | Delete failed voice error msg |
Parameter | Value | Description |
---|---|---|
Authorization | Bearer {token} | Your API Key used for request authorization.getToken |
Parameter | Type | Required | Value | Description |
---|---|---|---|---|
_id | String | true | Voice list document IDs getVoiceDocumentId |
Parameter | Type | Value | Description |
---|---|---|---|
code | int | 1000 | Interface returns business status code(1000:success) |
msg | String | Interface returns status information | |
data | Object | Response data object | |
- _id | String | ”6836bafb5026505ab7a529fa” | Document ID |
- uid | Integer | 101400 | User ID |
- team_id | String | ”6805fb69e92d9edc7ca0b409” | Team ID |
- voice_id | String | ”yRBw4OM8YFm5pCNKxJQ7” | Voice ID |
- gender | String | ”Male” | Voice gender |
- name | String | ”Snow Peak 01” | Voice name |
- preview | String | ”https://drz0f01yeq1cx.cloudfront.net/…” | Preview audio URL |
- text | String | ”Hello, I’m your personalized AI voice…” | Preview text content |
- duration | Integer | 7055 | Audio duration in milliseconds |
- status | Integer | 3 | Voice status: 【1:queueing, 2:processing, 3:completed, 4:failed】 |
- create_time | Long | 1748417275493 | Creation timestamp |
- style | Array | [“Authoritative”, “Calm”] | Voice style tags |
- scenario | Array | [“Advertisement”] | Scenario tags |
- age | Array | [“Elderly”, “Middle”] | Age tags |
- deduction_credit | Integer | 0 | Deducted credits |
- voice_model_name | String | ”Akool Multilingual 1” | Supported voice model name |
- support_stream | Boolean | true | Supported stream: true/false, Akool Multilingual 1 & Akool Multilingual 3 only support stream. |
- language | String | ”Chinese” | Voice language |
- locale | String | ”zh” | Voice locale |
- update_time | Long | 1751608916162 | Update timestamp |
Parameter | Value | Description |
---|---|---|
Authorization | Bearer {token} | Your API Key used for request authorization.getToken |
Parameter | Type | Required | Value | Description |
---|---|---|---|---|
_id | String | true | Voice result document ID getVoiceResultId |
Parameter | Type | Value | Description |
---|---|---|---|
code | int | 1000 | Interface returns business status code(1000:success) |
msg | String | Interface returns status information | |
data | Object | Response data object | |
- result | Object | Voice result object | |
— _id | String | ”688afbd9d2b4b269d1123ffb” | Document ID |
— create_time | Long | 1753938905005 | Creation timestamp |
— update_time | Long | 0 | Update timestamp |
— uid | Integer | 101400 | User ID |
— team_id | String | ”6805fb69e92d9edc7ca0b409” | Team ID |
— input_text | String | ”Życie jak wspinaczka górska…” | Input text content |
— rate | String | ”100%“ | Processing rate |
— status | Integer | 1 | Status: 【1:queueing, 2:processing, 3:completed, 4:failed】 |
— webhookUrl | String | "" | Callback URL |
— duration | Integer | 0 | Audio duration in milliseconds |
— file_name | String | ”1753938905005.mp3” | File name |
— gender | String | ”Male” | Voice gender |
— deduction_credit | Float | 0.5148 | Deducted credits |
— name | String | ”26ca668a9eb448b7b9a3806fa86207f3” | Resource name |
— priority | Integer | 2 | Priority level |
— language_code | String | ”pt” | Language code |
— __v | Integer | 0 | Version number |
— preview | String | null | Preview audio URL |