# Authentication Source: https://wiz-myvocal.mintlify.app/api-reference/authentication Authenticate with MyVocal APIs using the accessKey header. ## How authentication works MyVocal API uses a single header for authentication on every endpoint: ```http theme={null} accessKey: ``` ## Where to get your API key 1. Sign in to [MyVocal Account](https://www.myvocal.ai/account). 2. Open Account Info. 3. Copy your API key. ## Header format API key used to authenticate your request. ## Security best practices * Keep API keys on your backend server. * Do not expose API keys in frontend code or mobile apps. * Do not commit API keys to Git repositories. * Rotate key immediately if you suspect leakage. ## Example request ```bash theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/user/info' \ --header 'accessKey: ' ``` # AI Cover Source: https://wiz-myvocal.mintlify.app/api-reference/cover/cover POST https://api.myvocal.ai/sound_clone/api/v1/cover Generate AI Cover ### Header You can copy your api-key on [https://www.myvocal.ai/profile](https://www.myvocal.ai/profile) after you have subscribed to Pro or Business Plan. ### Body Your custom voice's id or premade voice's id. Please do not exceed 32 characters in length.If it is empty, the first 32 characters of target\_song will be used as the title.

The target song you want to generate cover version.

Please upload mp3/wav files and do not exceed 50MB.

To receive the audio returned after processing is completed. ### Response Indicates whether the call was successful. 1 if successful. When an exception occurs, specific exception information will be provided in the message. Includes specific data. When the request is successfully sent, a webhoodId will be synchronously returned. The same information will also be called back in the callbackUrl, which is used to correlate the request and the response. ```bash Example Request theme={null} curl --location --request POST 'https://api.myvocal.ai/sound_clone/api/v1/cover' \ --header 'accessKey: xxx' \ --form 'files=@"xxx/xxx.mp3"' \ --form 'voiceId="111"' \ --form 'title="test"' \ --form 'callbackUrl="http://www.google.com"' ``` ```json 200(success) theme={null} # success { "code": 1, "message": "Success", "data": { "webhookId": "7812" } } ``` ```json 200(fail) theme={null} { "code": -1, "message": "error msg", } ``` # Get AI Cover List Source: https://wiz-myvocal.mintlify.app/api-reference/history/coverList GET https://api.myvocal.ai/sound_clone/sound_clone/api/v1/cover/list Return metadata about all your generated tts audio. ### Header You can copy your api-key on [https://www.myvocal.ai/profile](https://www.myvocal.ai/profile) after you have subscribed to Pro or Business Plan. ### Body
The number of TTS History queries at one time, supporting 10 \~ 1000 data queries at a time.
If this parameter is empty, the default value is 10.
If this parameter is provided, we will start tracing back to earlier TTS History from this TTS item.
If this parameter is empty, then we will default to tracing back directly from the most recent data.
### Response Indicates whether the call was successful. 1 if successful. When an exception occurs, specific exception information will be provided in the message. Includes specific data.
If there is no earlier created TTS item, then callback 1
If there are still earlier created TTS items, then callback 0
The earliest ttsid in this callback. The specific info of TTS history queried this time. tts id tts title character count of this TTS item. web or api The voiceid of the voice used to generate this TTS TThe voicename of the voice used to generate this TTS.
```bash Example Request theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/cover/list' \ --header 'accessKey: xxx' ``` ```json 200(success) theme={null} { "code": 1, "message": "Success", "data": { "hasMore": false, "earliestHistoryItemId": "198", "list": [ { "voiceId": "458", "voiceName": "QWERTYUIOPASD", "id": "203", "title": "Beyonce T4", "useChars": 2616, "channel": "web" }, { "voiceId": "452", "voiceName": "@#$%^&Z", "id": "202", "title": "sd", "useChars": 2592, "channel": "api" } ] } } ``` ```json 200(fail) theme={null} { "code": -1, "message": "error msg", } ``` # Get AI Cover Url Source: https://wiz-myvocal.mintlify.app/api-reference/history/coverListUrl POST https://api.myvocal.ai/sound_clone/api/v1/cover/query Get ai cover audio url. ### Header You can copy your api-key on [https://www.myvocal.ai/profile](https://www.myvocal.ai/profile) after you have subscribed to Pro or Business Plan. ### Body You can provide up to 1,000 Ids at a time. ### Response Indicates whether the call was successful. 1 if successful. When an exception occurs, specific exception information will be provided in the message. Your tts id. The audio file url corresponding to ttsId. ```bash Example Request theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/cover/query' \ --header 'accessKey: xxx' \ --header 'Content-Type: application/json' \ --data '{ "ids":["22","13"] }' ``` ```json 200(success) theme={null} { "code": 1, "message": "Success", "data": [ { "id": "2195", "url": "xxxx" }, { "id": "2196", "url": "xxxx" } ] } ``` ```json 200(fail) theme={null} { "code": -1, "message": "error msg", } ``` # Delete AI Cover Source: https://wiz-myvocal.mintlify.app/api-reference/history/deleteCover DELETE https://api.myvocal.ai/sound_clone/api/v1/cover Delete up to 500 tts history items once by ai_cover_id. ### Header You can copy your api-key on [https://www.myvocal.ai/profile](https://www.myvocal.ai/profile) after you have subscribed to Pro or Business Plan. ### Body You can provide up to 500 Ids at a time. ### Response Indicates whether the call was successful. 1 if successful. When an exception occurs, specific exception information will be provided in the message. Includes specific data. Ids included are deleted successfully. Ids included do not exist. Ids included do not belong to this feature. ```bash Example Request theme={null} curl --location --request DELETE 'https://api.myvocal.ai/sound_clone/api/v1/cover' \ --header 'accessKey: xxx' \ --header 'Content-Type: application/json' \ --data '{ "ids":["2196","2195"] }' ``` ```json 200(success) theme={null} # success { "code": 1, "message": "Success", "data": { "succeedIds": [], "nonExistIds": [], "unMatchIds": [ "203" ] } } ``` ```json 200(fail) theme={null} { "code": -1, "message": "error msg", } ``` # Delete TTS Source: https://wiz-myvocal.mintlify.app/api-reference/history/deleteTTS DELETE https://api.myvocal.ai/sound_clone/api/v1/tts Delete up to 500 tts history items once by tts_id. ### Header You can copy your api-key on [https://www.myvocal.ai/profile](https://www.myvocal.ai/profile) after you have subscribed to Pro or Business Plan. ### Body You can provide up to 500 Ids at a time. ### Response Indicates whether the call was successful. 1 if successful. When an exception occurs, specific exception information will be provided in the message. Includes specific data. Ids included are deleted successfully. Ids included do not exist. Ids inclueded do not belong to this feature. ```bash Example Request theme={null} curl --location --request DELETE 'https://api.myvocal.ai/sound_clone/api/v1/tts' \ --header 'accessKey: xxx' \ --header 'Content-Type: application/json' \ --data '{ "ids":["2196","2195"] }' ``` ```json 200(success) theme={null} # success { "code": 1, "message": "Success", "data": { "succeedIds": [], "nonExistIds": [], "unMatchIds": [ "219623" ] } } ``` ```json 200(fail) theme={null} { "code": -1, "message": "error msg", } ``` # Get TTS List Source: https://wiz-myvocal.mintlify.app/api-reference/history/ttsList GET https://api.myvocal.ai/sound_clone/api/v1/tts/list Return metadata about all your generated tts audio. ### Header You can copy your api-key on [https://www.myvocal.ai/profile](https://www.myvocal.ai/profile) after you have subscribed to Pro or Business Plan. ### Body
The number of TTS History queries at one time, supporting 10 \~ 1000 data queries at a time.
If this parameter is empty, the default value is 10.
If this parameter is provided, we will start tracing back to earlier TTS History from this TTS item.
If this parameter is empty, then we will default to tracing back directly from the most recent data.
### Response Indicates whether the call was successful. 1 if successful. When an exception occurs, specific exception information will be provided in the message. Includes specific data.
If there is no earlier created TTS item, then callback 1
If there are still earlier created TTS items, then callback 0
The earliest ttsid in this callback. The specific info of TTS history queried this time. tts id tts title tts content character count of this TTS item. chosen language web or api The voiceid of the voice used to generate this TTS TThe voicename of the voice used to generate this TTS.
```bash Example Request theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/tts/list' \ --header 'accessKey: xxx' ``` ```json 200(success) theme={null} { "code": 1, "message": "Success", "data": { "hasMore": true, "earliestHistoryItemId": "2186", "list": [ { "voiceId": "7813", "voiceName": "test", "id": "2197", "title": "female", "text": "Generate a text-to-speech audio using a voice of your choice and returns audio stream.", "useChars": 86, "language": "en", "channel": "api" }, { "voiceId": "7789", "voiceName": "FirstClonedVoice", "id": "2194", "title": "female", "text": "Generate a text-to-speech audio using a voice of your choice and returns audio stream.", "useChars": 86, "language": "en", "channel": "api" } ] } } ``` ```json 200(fail) theme={null} { "code": -1, "message": "error msg", } ``` # Get TTS Url Source: https://wiz-myvocal.mintlify.app/api-reference/history/ttsListUrl POST https://api.myvocal.ai/sound_clone/api/v1/tts/query Get tts history audio url . ### Header You can copy your api-key on [https://www.myvocal.ai/profile](https://www.myvocal.ai/profile) after you have subscribed to Pro or Business Plan. ### Body You can provide up to 1,000 Ids at a time. ### Response Indicates whether the call was successful. 1 if successful. When an exception occurs, specific exception information will be provided in the message. Your tts id. The audio file url corresponding to ttsId. ```bash Example Request theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/tts/query' \ --header 'accessKey: xxx' \ --header 'Content-Type: application/json' \ --data '{ "ids":["22","13"] }' ``` ```json 200(success) theme={null} { "code": 1, "message": "Success", "data": [ { "id": "2195", "url": "xxxx" }, { "id": "2196", "url": "xxxx" } ] } ``` ```json 200(fail) theme={null} { "code": -1, "message": "error msg", } ``` # TTS Models & Migration Source: https://wiz-myvocal.mintlify.app/api-reference/tts/models Public model IDs, language behavior, and V2 to V3 migration guidance. Use this page as the source of truth for publicly documented TTS model IDs. ## Model overview | Model ID | Recommended usage | Languages | | ----------------- | ------------------------------------- | ------------------------------------------------------------------------------- | | `myvocal_v3` | Explicit V3 request path | See the full list in [V3 Language Codes](/api-reference/tts/v3-language-codes). | | `english_v2` | V2 explicit English (original accent) | English (original accent). | | `spanish_es` | V2 explicit Spanish (ES) | Spanish (ES). | | `portuguese_pt` | V2 explicit Portuguese (PT) | Portuguese (PT). | | `multilingual_v2` | V2 shared multilingual path | French, German, Arabic, Japanese, and other mapped languages. | | `spanish_la` | V2 explicit Spanish (LA) | Spanish (LA). | | `portuguese_la` | V2 explicit Portuguese (LA) | Portuguese (LA). | ## Public model ID list ```text theme={null} myvocal_v3 english_v2 spanish_es portuguese_pt multilingual_v2 spanish_la portuguese_la ``` ## V3 language scope * Supported language count: `98` * Excluded from support: `Kirghiz`, `Lingala` View the complete supported language and code table. ## Default path vs explicit `modelId` * Default path: omit `modelId` and follow current V2/default mapping rules. * Explicit V3 path: set `modelId` to `myvocal_v3`. ## V2 to V3 migration guidance 1. Keep your V2 flow as fallback. 2. Add a feature flag for `modelId: "myvocal_v3"`. 3. Use explicit `language` if you want deterministic target language output. 4. Omit `language` for auto-detect behavior on V3. 5. Roll out with traffic slices and monitor output quality. # Text-to-Speech Source: https://wiz-myvocal.mintlify.app/api-reference/tts/tts POST https://api.myvocal.ai/sound_clone/api/v1/tts Create text-to-speech audio and return complete audio stream. ### Header API key for authentication. ### Body Voice ID returned by GET /sound\_clone/api/v1/voices. Optional title for the generated record. If empty, backend uses a default title. Text to synthesize. Language selector.
Default/V2 path: required and must use existing mapped language values.
myvocal\_v3: optional. If provided, it is forwarded to upstream as language. If omitted, upstream auto-detect is used.
See supported V3 codes in V3 Language Codes (98 languages).
Optional explicit model selector.
Omit it to use the default model path.
Set myvocal\_v3 to request the V3 path.
For advanced settings, use suggested values unless you have strong tuning needs.
a decimal between 0 and 1, in increments of 0.1, with a recommended default value of 0.7.
When your parameters are set lower, the emotional variation of the TTS audio will be more abundant. Even for the same text, the effects generated multiple times will be different. You can choose the most suitable one by generating the same text's TTS audio multiple times.
When your parameters are set higher, the emotion of the TTS audio will tend to be consistent.
For myvocal\_v3, the currently publicly documented stability values are:
- 0.5: natural pronunciation, closer to normal human speech.
- 1: more stable output with less variation.
### Prompt Control (myvocal\_v3) Reference capability source: v3.myvocal.ai. Use \[tag] in text to guide style and delivery. Basic syntax: ```text theme={null} [tag] Your text content ``` Examples: ```text theme={null} [happy] Hello everyone, welcome to MyVocal. [laughter] That was funny. ``` Representative categories: * Emotion control: `happy`, `excited`, `sad`, `angry`, `surprised` * Non-speech sounds: `laughter`, `throat clearing`, `yawning`, `shushing`, `screaming` * Sound-related effects: `breathing`, `sighing`, `gasping`, `crying`, `murmuring` Open boundary note: > The listed tags are representative examples. The model can understand a broader set of sound and emotion prompts. ### Response Success usually returns audio/mpeg. Binary audio stream payload on success. ```bash Default model path theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/tts' \ --header 'accessKey: ' \ --header 'Content-Type: application/json' \ --data '{ "voiceId": "", "title": "tts-default", "text": "Hello from MyVocal default model path.", "language": "en", "voiceSettings": { "stability": 0.7 } }' \ --output output-default.mp3 ``` ```bash Explicit myvocal_v3 with language theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/tts' \ --header 'accessKey: ' \ --header 'Content-Type: application/json' \ --data '{ "voiceId": "", "title": "tts-v3-explicit-language", "text": "[happy] Hola, this is a short V3 test.", "language": "en", "modelId": "myvocal_v3", "voiceSettings": { "stability": 0.5 } }' \ --output output-v3-explicit.mp3 ``` ```bash Explicit myvocal_v3 with auto-detect (omit language) theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/tts' \ --header 'accessKey: ' \ --header 'Content-Type: application/json' \ --data '{ "voiceId": "", "title": "tts-v3-auto-detect", "text": "[happy] Hola, este es un test para auto detect.", "modelId": "myvocal_v3", "voiceSettings": { "stability": 0.5 } }' \ --output output-v3-auto.mp3 ``` ```text 200 Success theme={null} audio/mpeg stream (binary) ``` ```json 200 Fail theme={null} { "code": 10004, "message": "Invalid language option.", "data": null } ``` ### Common errors * `Invalid language option.`: non-V3/default path is missing or using an unsupported `language` value. * `VOICE_NOT_FOUND`: `voiceId` is invalid or not available under this API key. * `code = -1`: upstream or backend failed to complete generation. # Text-to-Speech Streaming Source: https://wiz-myvocal.mintlify.app/api-reference/tts/ttsStream POST https://api.myvocal.ai/sound_clone/api/v1/tts/stream Create text-to-speech audio and return streaming audio response. ### Header API key for authentication. ### Body Voice ID returned by GET /sound\_clone/api/v1/voices. Optional title for the generated record. Text to synthesize. Language selector.
Default/V2 path: required and must use existing mapped language values.
myvocal\_v3: optional. If provided, it is forwarded to upstream as language. If omitted, upstream auto-detect is used.
See supported V3 codes in V3 Language Codes (98 languages).
Optional explicit model selector.
Omit it to use the default model path.
Set myvocal\_v3 to request the V3 path.
For advanced settings, use suggested values unless you have strong tuning needs.
a decimal between 0 and 1, in increments of 0.1, with a recommended default value of 0.7.
When your parameters are set lower, the emotional variation of the TTS audio will be more abundant. Even for the same text, the effects generated multiple times will be different. You can choose the most suitable one by generating the same text's TTS audio multiple times.
When your parameters are set higher, the emotion of the TTS audio will tend to be consistent.
For myvocal\_v3, the currently publicly documented stability values are:
- 0.5: natural pronunciation, closer to normal human speech.
- 1: more stable output with less variation.
### Prompt Control (myvocal\_v3) Reference capability source: v3.myvocal.ai. Use \[tag] in text to guide style and delivery. Basic syntax: ```text theme={null} [tag] Your text content ``` Examples: ```text theme={null} [happy] Hello everyone, welcome to MyVocal. [laughter] That was funny. ``` Representative categories: * Emotion control: `happy`, `excited`, `sad`, `angry`, `surprised` * Non-speech sounds: `laughter`, `throat clearing`, `yawning`, `shushing`, `screaming` * Sound-related effects: `breathing`, `sighing`, `gasping`, `crying`, `murmuring` ### Response Success usually returns audio/mpeg. Binary audio stream payload. ```bash Default model path theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/tts/stream' \ --header 'accessKey: ' \ --header 'Content-Type: application/json' \ --data '{ "voiceId": "", "title": "tts-stream-default", "text": "Hello from MyVocal streaming endpoint.", "language": "en", "voiceSettings": { "stability": 0.7 } }' \ --output output-default.mp3 ``` ```bash Explicit myvocal_v3 with language theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/tts/stream' \ --header 'accessKey: ' \ --header 'Content-Type: application/json' \ --data '{ "voiceId": "", "title": "tts-stream-v3-explicit-language", "text": "[happy] Hola, this is a short V3 streaming test.", "language": "en", "modelId": "myvocal_v3", "voiceSettings": { "stability": 0.5 } }' \ --output output-v3-explicit.mp3 ``` ```bash Explicit myvocal_v3 with auto-detect (omit language) theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/tts/stream' \ --header 'accessKey: ' \ --header 'Content-Type: application/json' \ --data '{ "voiceId": "", "title": "tts-stream-v3-auto-detect", "text": "[happy] Hola, este es un test para auto detect.", "modelId": "myvocal_v3", "voiceSettings": { "stability": 0.5 } }' \ --output output-v3-auto.mp3 ``` ```text 200 Success theme={null} audio/mpeg stream (binary) ``` ```json 200 Fail theme={null} { "code": 10004, "message": "Invalid language option.", "data": null } ``` ### Common errors * `Invalid language option.`: non-V3/default path is missing or using an unsupported `language` value. * `VOICE_NOT_FOUND`: `voiceId` is invalid or not available under this API key. * `code = -1`: upstream or backend failed to complete generation. # V3 Language Codes Source: https://wiz-myvocal.mintlify.app/api-reference/tts/v3-language-codes Supported language codes for myvocal_v3. ## Summary * Supported languages: `98` * Excluded from support: `Kirghiz, Lingala` Only use language codes listed on this page for `myvocal_v3`. ## Full list | Language | Code | | ---------------- | ----- | | Afrikaans | `af` | | Arabic | `ar` | | Armenian | `hy` | | Assamese | `as` | | Azerbaijani | `az` | | Belarusian | `be` | | Bengali | `bn` | | Bosnian | `bs` | | Bulgarian | `bg` | | Catalan | `ca` | | Cebuano | `ceb` | | Chichewa | `ny` | | Croatian | `hr` | | Czech | `cs` | | Danish | `da` | | Dutch | `nl` | | English | `en` | | Estonian | `et` | | Filipino | `fil` | | Finnish | `fi` | | French | `fr` | | Galician | `gl` | | Georgian | `ka` | | German | `de` | | Greek | `el` | | Gujarati | `gu` | | Hausa | `ha` | | Hebrew | `he` | | Hindi | `hi` | | Hungarian | `hu` | | Icelandic | `is` | | Indonesian | `id` | | Irish | `ga` | | Italian | `it` | | Japanese | `ja` | | Javanese | `jv` | | Kannada | `kn` | | Kazakh | `kk` | | Korean | `ko` | | Latvian | `lv` | | Lithuanian | `lt` | | Luxembourgish | `lb` | | Macedonian | `mk` | | Malay | `ms` | | Malayalam | `ml` | | Mandarin Chinese | `zh` | | Marathi | `mr` | | Nepali | `ne` | | Norwegian | `no` | | Pashto | `ps` | | Persian | `fa` | | Polish | `pl` | | Portuguese | `pt` | | Punjabi | `pa` | | Romanian | `ro` | | Russian | `ru` | | Serbian | `sr` | | Sindhi | `sd` | | Slovak | `sk` | | Slovenian | `sl` | | Somali | `so` | | Spanish | `es` | | Swahili | `sw` | | Swedish | `sv` | | Tamil | `ta` | | Telugu | `te` | | Thai | `th` | | Turkish | `tr` | | Ukrainian | `uk` | | Urdu | `ur` | | Vietnamese | `vi` | | Welsh | `cy` | | Albanian | `sq` | | Basque | `eu` | | Esperanto | `eo` | | Fijian | `fj` | | Haitian Creole | `ht` | | Khmer | `km` | | Lao | `lo` | | Mongolian | `mn` | | Sinhala | `si` | | Tajik | `tg` | | Uzbek | `uz` | | Zulu | `zu` | | Yoruba | `yo` | | Igbo | `ig` | | Amharic | `am` | | Aymara | `ay` | | Tigrinya | `ti` | | Tswana | `tn` | | Xhosa | `xh` | | Burmese | `my` | | Maori | `mi` | | Samoan | `sm` | | Tonga | `to` | | Navajo | `nv` | | Hmong | `hmn` | | Kurdish | `ku` | # Get User Info Source: https://wiz-myvocal.mintlify.app/api-reference/user/getInfo GET https://api.myvocal.ai/sound_clone/api/v1/user/info This endpoint gets or creates a new user. ### Header You can copy your api-key on [https://www.myvocal.ai/profile](https://www.myvocal.ai/profile) after you have subscribed to Pro or Business Plan. ### Response Indicates whether the call was successful. 1 if successful. When an exception occurs, specific exception information will be provided in the message. Includes specific data. Your current subscription plan.
Your current subscription status:
If you haven't cancel your subsciption, the status will be "active",
If you have cancelled your subcription, the status will be "cancellation upon expiration" before the subscription expired.
If you haven't cancelled your subscription, this parameter means the countdown days for your plan benefits to be updated.
If you have cancelled your subscription, this parameter means the countdown days for your plan to be downgraded to a free user.
The number of custom voices you created through the website or API. The maximum number of custom voices you can create with your subscription plan. The number of TTS characters you have used within your subscription plan. The maximum number of TTS characters within your subscription plan. The number of TTS characters you have used without your subscription plan. The number of TTS characters you have purchased without your subscription plan.
```bash Example Request theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/user/info' \ --header 'accessKey: xxxx' ``` ```json 200(success) theme={null} { "code": 1, "message": "Success", "data": { "plan": "Business", "status": "active", "resetInDays": 2, "benefit": { "usedVoices": 146, "totalVoices": 150, "usedMonthlyChars": 3498604, "totalMonthlyChars": 3500000, "usedOrderChars": 0, "totalOrderChars": 0 } } } ``` ```json 200(fail) theme={null} { "code": -1, "message": "error msg", } ``` # Add Voice for AI Cover Source: https://wiz-myvocal.mintlify.app/api-reference/voice/addCoverVoice POST https://docs.myvocal.ai/sound_clone/api/v1/voices/vc Create a new custom voice for AI Cover feature.(❗❗❗File-related interfaces are not supported, please use interface tools for requests.) ### Header You can copy your api-key on [https://www.myvocal.ai/profile](https://www.myvocal.ai/profile) after you have subscribed to Pro or Business Plan. ### Body Please do not exceed 32 characters in length.

Please provide mp3/wav/m4a files.

A single file cannot exceed 10MB, and up to 25 files can be uploaded.

Please ensure that the total effective duration of the audio (including the parts with human voice, excluding the silent parts) is longer than 1 minute.

To receive the audio returned after processing is completed. ### Response Indicates whether the call was successful. 1 if successful. When an exception occurs, specific exception information will be provided in the message. Includes specific data. When the request is successfully sent, a webhoodId will be synchronously returned. The same information will also be called back in the callbackUrl, which is used to correlate the request and the response. ```bash Example Request theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/voices/vc' \ --header 'accessKey: xxx' \ --form 'files=@"xxx/xxx.mp3"' \ --form 'name="111"' \ --form 'callbackUrl="http://www.google.com"' ``` ```json 200(success) theme={null} { "code": 1, "message": "Success", "data": { "webhookId": "1701406584rkzy91" } } ``` ```json 200(fail) theme={null} { "code": -1, "message": "error msg", } ``` # Add Voice for TTS Source: https://wiz-myvocal.mintlify.app/api-reference/voice/addTTSVoice POST https://docs.myvocal.ai/sound_clone/api/v1/voices/tts Create a new custom voice for Text-to-Speech feature(❗❗❗File-related interfaces are not supported, please use interface tools for requests.) ### Header You can copy your api-key on [https://www.myvocal.ai/profile](https://www.myvocal.ai/profile) after you have subscribed to Pro or Business Plan. ### Body Please do not exceed 32 characters in length. Please provide mp3/wav/m4a files. A single file cannot exceed 10MB, and up to 25 files can be uploaded. ### Response Indicates whether the call was successful. 1 if successful. When an exception occurs, specific exception information will be provided in the message. Includes specific data. When you need to use TTS or other features, voiceId needs to be provided. ```bash Example Request theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/voices/tts' \ --header 'accessKey: xxx' \ --form 'files=@"xxx/xxx.mp3"' \ --form 'name="111"' ``` ```json 200(success) theme={null} { "code": 1, "message": "Success", "data": { "id": "7812" } } ``` ```json 200(fail) theme={null} { "code": -1, "message": "error msg", } ``` # Delete Voice Source: https://wiz-myvocal.mintlify.app/api-reference/voice/delete DELETE https://api.myvocal.ai/sound_clone/api/v1/voices/{id} Delete a custom voice by voiceId. ### Header You can copy your api-key on [https://www.myvocal.ai/profile](https://www.myvocal.ai/profile) after you have subscribed to Pro or Business Plan. ### Path Your voiceId ### Response Indicates whether the call was successful. 1 if successful. When an exception occurs, specific exception information will be provided in the message. ```bash Example Request theme={null} curl --location --request DELETE 'https://api.myvocal.ai/sound_clone/api/v1/voices/7812' \ --header 'accessKey: xxx' \ --header 'Content-Type: application/json' ``` ```json 200(success) theme={null} { "code": 1, "message": "Success", } ``` ```json 200(fail) theme={null} { "code": -1, "message": "error msg", } ``` # Design Voice for TTS_Generate Source: https://wiz-myvocal.mintlify.app/api-reference/voice/designVoice POST https://docs.myvocal.ai/sound_clone/api/v1/voices/design Create a new voice without any audio files.(❗❗❗File-related interfaces are not supported, please use interface tools for requests.) ### Header You can copy your api-key on [https://www.myvocal.ai/profile](https://www.myvocal.ai/profile) after you have subscribed to Pro or Business Plan. ### Body Please provide a piece of English content that is no less than 100 characters and no more than 500 characters for the purpose of generating a trial audio.
male
female
american
british
african
australian
indian
middle\_aged
young
old
The parameter requirement is a decimal between 0 and 2, with increments of 0.1. ### Response ### Header If the request is successful, this value in the callback is audio/mpeg. This response is stream. The designId included in the callback when you use Design Voice for TTS\_Generate ### Body ```bash Example Request theme={null} curl --location 'https://uat.myvocal.ai/sound_clone/api/v1/voices/design' \ --header 'accessKey: xxx' \ --header 'Content-Type: application/json' \ --data '{ "text": "The client interacts with users through mobile devices, while the server is responsible for data in", "gender": "female", "accent": "indian", "age": "old", "accentStrength": 1.4 }' ``` ```json 200(success) theme={null} This response is stream. ``` ```json 200(fail) theme={null} { "code": -1, "message": "error msg", } ``` # Design Voice for TTS_Save Source: https://wiz-myvocal.mintlify.app/api-reference/voice/designVoiceSave POST https://api.myvocal.ai/sound_clone/api/v1/voices/design/save Save the voice you design as voice_id ### Header You can copy your api-key on [https://www.myvocal.ai/profile](https://www.myvocal.ai/profile) after you have subscribed to Pro or Business Plan. ### Body Please do not exceed 32 characters in length. The designId included in the callback when you use Design Voice for TTS\_Generate ### Response Indicates whether the call was successful. 1 if successful. When an exception occurs, specific exception information will be provided in the message. Includes specific data. When you need to use TTS or other features, voiceId needs to be provided. ```bash Example Request theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/voices/design/save' \ --header 'accessKey: xxxx' \ --header 'Content-Type: application/json' \ --data '{ "designId": "cbadQRR3tRp9QmikK8jv", "name": "test" }' ``` ```json 200(success) theme={null} { "code": 1, "message": "Success", "data": { "id": "7814" } } ``` ```json 200(fail) theme={null} { "code": -1, "message": "error msg", } ``` # Improve an AI Cover Voice Source: https://wiz-myvocal.mintlify.app/api-reference/voice/editCoverVoice PUT https://docs.myvocal.ai/sound_clone/api/v1/voices/vc/{voiceId} Edit a custom AI Cover voice. You can upload more files to improve a custom voice(❗❗❗File-related interfaces are not supported, please use interface tools for requests.) ### Header You can copy your api-key on [https://www.myvocal.ai/profile](https://www.myvocal.ai/profile) after you have subscribed to Pro or Business Plan. ### Body Your voiceId To receive the audio returned after processing is completed.

Please provide mp3/wav/m4a files.

A single file cannot exceed 10MB, and up to 25 files can be uploaded.

Please ensure that the total effective duration of the audio (including the parts with human voice, excluding the silent parts) is longer than 1 minute.

### Response Indicates whether the call was successful. 1 if successful. When an exception occurs, specific exception information will be provided in the message. Includes specific data. When the request is successfully sent, a webhoodId will be synchronously returned. The same information will also be called back in the callbackUrl, which is used to correlate the request and the response. ```bash Example Request theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/voices/vc/123' \ --header 'accessKey: xxx' \ --form 'files=@"xxx/xxx.mp3"' \ --form 'callbackUrl="111"' ``` ```json 200(success) theme={null} { "code": 1, "message": "Success", "data": { "webhookId": "1701406584rkzy91" } } ``` ```json 200(fail) theme={null} { "code": -1, "message": "error msg", } ``` # Improve a TTS voice Source: https://wiz-myvocal.mintlify.app/api-reference/voice/editTTSVoice PUT https://docs.myvocal.ai/sound_clone/api/v1/voices/tts/{voiceId} Edit a custom TTS voice. You can upload more files to improve your voice.(❗❗❗File-related interfaces are not supported, please use interface tools for requests.) ### Header You can copy your api-key on [https://www.myvocal.ai/profile](https://www.myvocal.ai/profile) after you have subscribed to Pro or Business Plan. ### Body Your voiceId Please provide mp3/wav/m4a files. A single file cannot exceed 10MB, and up to 25 files can be uploaded (including files provided when you add voice). ### Response Indicates whether the call was successful. 1 if successful. When an exception occurs, specific exception information will be provided in the message. ```bash Example Request theme={null} curl --location --request PUT 'https://api.myvocal.ai/sound_clone/api/v1/voices/tts/7812' \ --header 'accessKey: xxx' \ --form 'files=@"xxx/xxx.mp3"' ``` ```json 200(success) theme={null} { "code": 1, "message": "Success", } ``` ```json 200(fail) theme={null} { "code": -1, "message": "error msg", } ``` # Get Voices Source: https://wiz-myvocal.mintlify.app/api-reference/voice/list GET https://api.myvocal.ai/sound_clone/api/v1/voices Return voices available to the current API key. ### Header API key for authentication. ### Response `1` for success. Backend message for success or failure context. Voice objects available under the current API key. Voice ID. Voice display name.
cloned: created from uploaded or recorded audio.
designed: created with voice design.
text-to-speech or ai-cover. web or api. Number of source files associated with the voice. Total file size value reported by backend.
`GET /voices` does not return per-voice `supportedModels`. Do not rely on this endpoint alone to decide whether a voice is guaranteed to work with `myvocal_v3`. ```bash theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/voices' \ --header 'accessKey: ' ``` ```json 200 Success theme={null} { "code": 1, "message": "Success", "data": [ { "id": "7789", "name": "FirstClonedVoice", "type": "cloned", "feature": "text-to-speech", "channel": "web", "fileCount": 2, "totalFileSize": 582944 } ] } ``` ```json 200 Fail theme={null} { "code": -1, "message": "error msg" } ``` # Update Voice Name Source: https://wiz-myvocal.mintlify.app/api-reference/voice/updateVoiceName PUT https://api.myvocal.ai/sound_clone/api/v1/voices/rename/{id} Update Voice Name ### Header You can copy your api-key on [https://www.myvocal.ai/profile](https://www.myvocal.ai/profile) after you have subscribed to Pro or Business Plan. ### Path Your voiceId ### Body Your new voice name ### Response Indicates whether the call was successful. 1 if successful. When an exception occurs, specific exception information will be provided in the message. ```bash Example Request theme={null} curl --location --request PUT 'https://api.myvocal.ai/sound_clone/api/v1/voices/rename/7812' \ --header 'accessKey: xxx' \ --header 'Content-Type: application/json' \ --data '{ "name": "rename" }' ``` ```json 200(success) theme={null} { "code": 1, "message": "Success", } ``` ```json 200(fail) theme={null} { "code": -1, "message": "error msg", } ``` # Callback Source: https://wiz-myvocal.mintlify.app/callback

Some of the API services provided by this product require asynchronous callbacks due to longer processing times.

To ensure that information is returned normally and accurately, a callback URL needs to be provided in the input parameters.

### Request

Please provide a callback URL and ensure that the callback URL provided is consistent across different scenarios.

Please make sure that the url you provide is accessible to the public network and that the request type is POST.

If the callback URL varies, there may be inconsistencies between the callback URL used during the callback and the callback URL you provided at the time of the request.

### Response When an asynchronous request is sent successfully, we will immediately provide a webhookId. When a callback is made, this webhookId will also be included in the callback URL. You can use the webhookId to associate the request with the callback. When the request is successfully sent, a webhoodId will be synchronously returned. The same information will also be called back in the callbackUrl, which is used to correlate the request and the response.
TRAIN\_COVER\_SPEAKER: Add an AI Cover Voice
EDIT\_COVER\_SPEAKER: Improve an AI Cover Voice
COVER\_SONG: Create AI Cover Voice
The status of this request
SUCCESS: this request is success
FAILURE: this request is fail
business data ### Samples ```json 200(success) theme={null} { "webhookId":"1700189306ffhdkejwcsk2", "webhookType":"TRAIN_COVER_SPEAKER", "status":"SUCCESS", "summary":"Clone training success.", "data":{ "id":"100" } } ``` ```json 200(fail) theme={null} { "webhookId":"1700189306ffhdkejwcsk2", "webhookType":"TRAIN_COVER_SPEAKER", "status":"FAILURE", "summary":"Clone training failed." } ``` # Introduction Source: https://wiz-myvocal.mintlify.app/introduction Clone voices with MyVocal, then turn them into speech or AI song covers. MyVocal is built around voice cloning. Once you have a voice, you can use it for text-to-speech or AI song covers. ## What you can build with MyVocal * Clone a custom voice with the Voice API. * Generate speech with that voice using the Text-to-Speech API. * Create AI song covers with the same voice using the AI Cover API. ## Core workflow Most MyVocal integrations follow a simple flow: 1. Clone or prepare a voice 2. Use the voice for text-to-speech 3. Use the same voice for AI song covers ## How TTS models work If you are calling the Text-to-Speech API, you can either use the default model path or explicitly choose a public `modelId` such as `myvocal_v3`. * Default model path: do not send `modelId`. * Explicit model path: send a public `modelId`, for example `myvocal_v3`. Publicly documented model IDs in this phase: ```text theme={null} myvocal_v3 english_v2 spanish_es portuguese_pt multilingual_v2 spanish_la portuguese_la ``` `English(US)` currently uses the default model path. A public explicit `modelId` for `English(US)` is not published in this phase. ## Next steps Make your first MyVocal API call in a few steps. Use your accessKey to authenticate API requests. Learn when to use the default TTS path and when to use `myvocal_v3`. # Quickstart Source: https://wiz-myvocal.mintlify.app/quickstart Call MyVocal APIs end-to-end with default TTS path or myvocal_v3. This quickstart uses production API host `https://api.myvocal.ai` and the `accessKey` request header. ## Step 1: Get your API key 1. Sign in to [MyVocal account](https://www.myvocal.ai/account). 2. Subscribe to a plan that includes API access. 3. Copy your API key from Account Info. ## Step 2: Get your user info and voices Use these calls first to confirm your key is valid and to get a usable `voiceId`. ```bash theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/user/info' \ --header 'accessKey: ' ``` ```bash theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/voices' \ --header 'accessKey: ' ``` ## Step 3: Create TTS with the default model path When `modelId` is omitted, the request uses the default model path. ```bash theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/tts' \ --header 'accessKey: ' \ --header 'Content-Type: application/json' \ --data '{ "voiceId": "", "title": "quickstart-default", "text": "Hello from MyVocal API quickstart.", "language": "en", "voiceSettings": { "stability": 0.7 } }' ``` ## Step 4: Create TTS with `myvocal_v3` Set `modelId` to `myvocal_v3` to explicitly request V3. ```bash theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/tts' \ --header 'accessKey: ' \ --header 'Content-Type: application/json' \ --data '{ "voiceId": "", "title": "quickstart-v3", "text": "Hello from MyVocal V3 model path.", "language": "en", "modelId": "myvocal_v3", "voiceSettings": { "stability": 0.5 } }' ``` `myvocal_v3` is publicly documented. If your request returns `code = -1`, verify `voiceId`, `language`, account plan, and current backend availability before retrying. ## Step 5: Query history and output URL 1. Query TTS list to get generated record IDs. 2. Query URL endpoint with those IDs to get playable output URLs. ```bash theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/tts/list' \ --header 'accessKey: ' \ --header 'Content-Type: application/json' \ --data '{ "pageNum": 1, "pageSize": 10 }' ``` ```bash theme={null} curl --location 'https://api.myvocal.ai/sound_clone/api/v1/tts/query' \ --header 'accessKey: ' \ --header 'Content-Type: application/json' \ --data '{ "ids": [""] }' ``` Open TTS Models & Migration for the current public model list and migration guidance.