Skip to content

pyVideoTrans Video Translation Software API Documentation

Default API URL: http://127.0.0.1:9011

You can modify the IP and port by creating a host.txt file in the same directory as api.py (or api.exe). For example, if the content of host.txt is:

127.0.0.1:9801

Then the API URL will become: http://127.0.0.1:9801

Startup Method

Upgrade to v2.57+

  1. Pre-packaged version: Double-click api.exe and wait for the terminal window to display API URL http://127.0.0.1:9011
  2. Source code version: Execute python api.py

Translation/Dubbing/Recognition Channel Configuration

Some channels, such as translation channels: OpenAI ChatGPT/AzureGPT/Baidu/Tencent/DeepL, etc., require configuration of API URLs and keys. To use them, please configure the relevant information in the settings via the GUI interface.

Except for translation channels Google/FreeGoogle/Microsoft, dubbing channel edge-tts, and recognition modes faster-whisper/openai-whisper, all other channels require separate configuration. Please open the GUI interface and configure them under Menu > Settings.

API List

/tts - Dubbing Synthesis Interface Based on Subtitles

Request Method: POST

Request Data Type

Content-Type: application/json

Request Parameters

Parameter NameData TypeRequiredDefaultOptional ValuesDescription
nameStringYesNoneNoneAbsolute path to the SRT subtitle file to be dubbed or valid SRT subtitle content
tts_typeNumberYesNone0-11Dubbing channel; specific values correspond to channel names below
voice_roleStringYesNone-Voice role name for the corresponding dubbing channel. Role names for edge-tts/azure-tts/302.ai (azure model) vary based on the selected target language; see details at the bottom
target_languageStringYesNoneTarget language code for dubbingSimplified Chinese zh-cn, Traditional Chinese zh-tw, English en, French fr, German de, Japanese ja, Korean ko, Russian ru, Spanish es, Thai th, Italian it, Portuguese pt, Vietnamese vi, Arabic ar, Turkish tr, Hindi hi, Hungarian hu, Ukrainian uk, Indonesian id, Malay ms, Kazakh kk, Czech cs, Polish pl, Dutch nl, Swedish sv
voice_rateStringNoNoneSpeed up +number%, Slow down -number%Speech rate adjustment
volumeStringNoNoneIncrease volume +number%, Decrease volume -number%Volume change (only effective for edge-tts dubbing channel)
pitchStringNoNoneRaise pitch +numberHz, Lower pitch -numberHzPitch change (only effective for edge-tts dubbing channel)
out_extStringNowavmp3|wav|flac|aacOutput dubbing file type
voice_autorateBooleanNoFalseTrue|FalseWhether to automatically speed up speech

tts_type 0-11 Corresponds to:

  • 0=Edge-TTS
  • 1=CosyVoice
  • 2=ChatTTS
  • 3=302.AI
  • 4=FishTTS
  • 5=Azure-TTS
  • 6=GPT-SoVITS
  • 7=clone-voice
  • 8=OpenAI TTS
  • 9=Elevenlabs.io
  • 10=Google TTS
  • 11=Custom TTS API

Response Data Type

JSON format

Response Example

Success:

json
{
    "code": 0,
    "msg": "ok",
    "task_id": "task_id"
}

Failure:

json
{
    "code": 1,
    "msg": "error_message"
}

Request Example

python
import requests
res=requests.post("http://127.0.0.1:9011/tts", json={
    "name": "C:/users/c1/videos/zh0.srt",
    "voice_role": "zh-CN-YunjianNeural",
    "target_language_code": "zh-cn",
    "voice_rate": "+0%",
    "volume": "+0%",
    "pitch": "+0Hz",
    "tts_type": "0",
    "out_ext": "mp3",
    "voice_autorate": True,
})
print(res.json())

/translate_srt - Subtitle Translation Interface

Request Method: POST

Request Data Type

Content-Type: application/json

Request Parameters

Parameter NameData TypeRequiredDefaultOptional ValuesDescription
nameStringYesNoneNoneAbsolute path to the SRT subtitle file to be translated or valid SRT subtitle content
translate_typeIntegerYesNone0-14Translation channel; 0-14 correspond to translation channels below
target_languageStringYesNone-Simplified Chinese zh-cn, Traditional Chinese zh-tw, English en, French fr, German de, Japanese ja, Korean ko, Russian ru, Spanish es, Thai th, Italian it, Portuguese pt, Vietnamese vi, Arabic ar, Turkish tr, Hindi hi, Hungarian hu, Ukrainian uk, Indonesian id, Malay ms, Kazakh kk, Czech cs, Polish pl, Dutch nl, Swedish sv
source_codeStringNoNone-Simplified Chinese zh-cn, Traditional Chinese zh-tw, English en, French fr, German de, Japanese ja, Korean ko, Russian ru, Spanish es, Thai th, Italian it, Portuguese pt, Vietnamese vi, Arabic ar, Turkish tr, Hindi hi, Hungarian hu, Ukrainian uk, Indonesian id, Malay ms, Kazakh kk, Czech cs, Polish pl, Dutch nl, Swedish sv

translate_type Translation Channels 0-14

  • 0=Google Translate
  • 1=Microsoft Translate
  • 2=302.AI
  • 3=Baidu Translate
  • 4=DeepL
  • 5=DeepLx
  • 6=Offline Translation OTT
  • 7=Tencent Translate
  • 8=OpenAI ChatGPT
  • 9=Local Large Models & Compatible AI
  • 10=ByteDance Volcano Engine
  • 11=AzureAI GPT
  • 12=Gemini
  • 13=Custom Translation API
  • 14=FreeGoogle Translate

Response Data Type

JSON format

Response Example

Success:

json
{
    "code": 0,
    "msg": "ok",
    "task_id": "task_id"
}

Failure:

json
{
    "code": 1,
    "msg": "error_message"
}

Request Example

python
import requests
res=requests.post("http://127.0.0.1:9011/translate_srt", json={
    "name": "C:/users/c1/videos/zh0.srt",
    "target_language": "en",
    "translate_type": 0
})
print(res.json())

/recogn - Speech Recognition, Audio/Video to Subtitle Interface

Request Method: POST

Request Data Type

Content-Type: application/json

Request Parameters

Parameter NameData TypeRequiredDefaultOptional ValuesDescription
nameStringYesNoneNoneAbsolute path to the audio or video file to be recognized
recogn_typeNumberYesNone0-6Speech recognition mode: 0=faster-whisper local model, 1=openai-whisper local model, 2=Google Recognition API, 3=zh_recogn Chinese recognition, 4=Doubao model recognition, 5=Custom Recognition API, 6=OpenAI Recognition API
model_nameStringYesNone-Model name required when selecting faster-whisper/openai-whisper mode
detect_languageStringYesNone-Chinese zh, English en, French fr, German de, Japanese ja, Korean ko, Russian ru, Spanish es, Thai th, Italian it, Portuguese pt, Vietnamese vi, Arabic ar, Turkish tr, Hindi hi, Hungarian hu, Ukrainian uk, Indonesian id, Malay ms, Kazakh kk, Czech cs, Polish pl, Dutch nl, Swedish sv
split_typeStringNoallall|avgSplit type: all=overall recognition, avg=equal split
is_cudaBooleanNoFalseTrue|FalseWhether to enable CUDA acceleration

Response Data Type

JSON format

Response Example

Success:

json
{
    "code": 0,
    "msg": "ok",
    "task_id": "task_id"
}

Failure:

json
{
    "code": 1,
    "msg": "error_message"
}

Request Example

python
import requests
res=requests.post("http://127.0.0.1:9011/recogn", json={
    "name": "C:/Users/c1/Videos/10ass.mp4",
    "recogn_type": 0,
    "split_type": "overall",
    "model_name": "tiny",
    "is_cuda": False,
    "detect_language": "zh",
})
print(res.json())

/trans_video - Complete Video Translation Interface

Request Method: POST

Request Data Type:

Content-Type: application/json

Request Parameters

Parameter NameData TypeRequiredDefaultOptional ValuesDescription
nameStringYesNoneNoneAbsolute path to the audio or video file to be translated
recogn_typeNumberYesNone0-6Speech recognition mode: 0=faster-whisper local model, 1=openai-whisper local model, 2=Google Recognition API, 3=zh_recogn Chinese recognition, 4=Doubao model recognition, 5=Custom Recognition API, 6=OpenAI Recognition API
model_nameStringYesNone-Model name required when selecting faster-whisper/openai-whisper mode
translate_typeIntegerYesNone0-14Translation channel; see below
target_languageStringYesNone-Target language for translation: Simplified Chinese zh-cn, Traditional Chinese zh-tw, English en, French fr, German de, Japanese ja, Korean ko, Russian ru, Spanish es, Thai th, Italian it, Portuguese pt, Vietnamese vi, Arabic ar, Turkish tr, Hindi hi, Hungarian hu, Ukrainian uk, Indonesian id, Malay ms, Kazakh kk, Czech cs, Polish pl, Dutch nl, Swedish sv
source_languageStringYesNone-Human speech language in the audio: Simplified Chinese zh-cn, Traditional Chinese zh-tw, English en, French fr, German de, Japanese ja, Korean ko, Russian ru, Spanish es, Thai th, Italian it, Portuguese pt, Vietnamese vi, Arabic ar, Turkish tr, Hindi hi, Hungarian hu, Ukrainian uk, Indonesian id, Malay ms, Kazakh kk, Czech cs, Polish pl, Dutch nl, Swedish sv
tts_typeNumberYesNone0-11Dubbing channel; see below
voice_roleStringYesNone-Voice role name for the corresponding dubbing channel. Role names for edge-tts/azure-tts/302.ai (azure model) vary based on the selected target language; see details at the bottom
voice_rateStringNoNoneSpeed up +number%, Slow down -number%Speech rate adjustment
volumeStringNoNoneIncrease volume +number%, Decrease volume -number%Volume change (only effective for edge-tts dubbing channel)
pitchStringNoNoneRaise pitch +numberHz, Lower pitch -numberHzPitch change (only effective for edge-tts dubbing channel)
out_extStringNowavmp3|wav|flac|aacOutput dubbing file type
voice_autorateBooleanNoFalseTrue|FalseWhether to automatically speed up speech
subtitle_typeIntegerNo00-4Subtitle embedding type: 0=no embedded subtitles, 1=hard subtitles, 2=soft subtitles, 3=dual hard subtitles, 4=dual soft subtitles
append_videoBooleanNoFalseTrue|FalseWhether to extend the video end

translate_type Translation Channels 0-14

  • 0=Google Translate
  • 1=Microsoft Translate
  • 2=302.AI
  • 3=Baidu Translate
  • 4=DeepL
  • 5=DeepLx
  • 6=Offline Translation OTT
  • 7=Tencent Translate
  • 8=OpenAI ChatGPT
  • 9=Local Large Models & Compatible AI
  • 10=ByteDance Volcano Engine
  • 11=AzureAI GPT
  • 12=Gemini
  • 13=Custom Translation API
  • 14=FreeGoogle Translate

tts_type Dubbing Channels 0-11 Correspond to:

  • 0=Edge-TTS
  • 1=CosyVoice
  • 2=ChatTTS
  • 3=302.AI
  • 4=FishTTS
  • 5=Azure-TTS
  • 6=GPT-SoVITS
  • 7=clone-voice
  • 8=OpenAI TTS
  • 9=Elevenlabs.io
  • 10=Google TTS
  • 11=Custom TTS API

Response Data Type

JSON format

Response Example

Success:

json
{
    "code": 0,
    "msg": "ok",
    "task_id": "task_id"
}

Failure:

json
{
    "code": 1,
    "msg": "error_message"
}

Request Example

python
import requests
res=requests.post("http://127.0.0.1:9011/trans_video", json={
    "name": "C:/Users/c1/Videos/10ass.mp4",
    "recogn_type": 0,
    "split_type": "overall",
    "model_name": "tiny",
    "detect_language": "zh",
    "translate_type": 0,
    "source_language": "zh-cn",
    "target_language": "en",
    "tts_type": 0,
    "voice_role": "zh-CN-YunjianNeural",
    "voice_rate": "+0%",
    "volume": "+0%",
    "pitch": "+0Hz",
    "voice_autorate": True,
    "video_autorate": True,
    "is_separate": False,
    "back_audio": "",
    "subtitle_type": 1,
    "append_video": False,
    "is_cuda": False,
})
print(res.json())

/task_status - Get Task Progress Interface

Request Method: POST GET

Request Parameters

Parameter NameData TypeRequiredDescription
task_idStringYesTask ID

Response Data Type

JSON format

Response Example

In progress:

json
{
    "code": -1,
    "msg": "Synthesizing voice"
}

Success:

json
{
    "code": 0,
    "msg": "ok",
    "data": {
        "absolute_path": ["/data/1.srt", "/data/1.mp4"],
        "url": ["http://127.0.0.1:9011/task_id/1.srt"]
    }
}

Failure:

json
{
    "code": 1,
    "msg": "Task does not exist"
}

Request Example

python
import requests
res=requests.get("http://127.0.0.1:9011/task_status?task_id=06c238d250f0b51248563c405f1d7294")
print(res.json())

Translation Channel Numbers Corresponding to translate_type 0-14

  • 0=Google Translate
  • 1=Microsoft Translate
  • 2=302.AI
  • 3=Baidu Translate
  • 4=DeepL
  • 5=DeepLx
  • 6=Offline Translation OTT
  • 7=Tencent Translate
  • 8=OpenAI ChatGPT
  • 9=Local Large Models & Compatible AI
  • 10=ByteDance Volcano Engine
  • 11=AzureAI GPT
  • 12=Gemini
  • 13=Custom Translation API
  • 14=FreeGoogle Translate

Dubbing Channel (tts_type) 0-11 Corresponding Names

  • 0=Edge-TTS
  • 1=CosyVoice
  • 2=ChatTTS
  • 3=302.AI
  • 4=FishTTS
  • 5=Azure-TTS
  • 6=GPT-SoVITS
  • 7=clone-voice
  • 8=OpenAI TTS
  • 9=Elevenlabs.io
  • 10=Google TTS
  • 11=Custom TTS API

edge-tts Language Code and Role Name Mapping

{
  "ar": [
    "No",
    "ar-DZ-AminaNeural",
    "ar-DZ-IsmaelNeural",
    "ar-BH-AliNeural",
    "ar-BH-LailaNeural",
    "ar-EG-SalmaNeural",
    "ar-EG-ShakirNeural",
    "ar-IQ-BasselNeural",
    "ar-IQ-RanaNeural",
    "ar-JO-SanaNeural",
    "ar-JO-TaimNeural",
    "ar-KW-FahedNeural",
    "ar-KW-NouraNeural",
    "ar-LB-LaylaNeural",
    "ar-LB-RamiNeural",
    "ar-LY-ImanNeural",
    "ar-LY-OmarNeural",
    "ar-MA-JamalNeural",
    "ar-MA-MounaNeural",
    "ar-OM-AbdullahNeural",
    "ar-OM-AyshaNeural",
    "ar-QA-AmalNeural",
    "ar-QA-MoazNeural",
    "ar-SA-HamedNeural",
    "ar-SA-ZariyahNeural",
    "ar-SY-AmanyNeural",
    "ar-SY-LaithNeural",
    "ar-TN-HediNeural",
    "ar-TN-ReemNeural",
    "ar-AE-FatimaNeural",
    "ar-AE-HamdanNeural",
    "ar-YE-MaryamNeural",
    "ar-YE-SalehNeural"
  ],
  "zh": [
    "No",
    "zh-HK-HiuGaaiNeural",
    "zh-HK-HiuMaanNeural",
    "zh-HK-WanLungNeural",
    "zh-CN-XiaoxiaoNeural",
    "zh-CN-XiaoyiNeural",
    "zh-CN-YunjianNeural",
    "zh-CN-YunxiNeural",
    "zh-CN-YunxiaNeural",
    "zh-CN-YunyangNeural",
    "zh-CN-liaoning-XiaobeiNeural",
    "zh-TW-HsiaoChenNeural",
    "zh-TW-YunJheNeural",
    "zh-TW-HsiaoYuNeural",
    "zh-CN-shaanxi-XiaoniNeural"
  ],
  "cs": [
    "No",
    "cs-CZ-AntoninNeural",
    "cs-CZ-VlastaNeural"
  ],
  "nl": [
    "No",
    "nl-BE-ArnaudNeural",
    "nl-BE-DenaNeural",
    "nl-NL-ColetteNeural",
    "nl-NL-FennaNeural",
    "nl-NL-MaartenNeural"
  ],
  "en": [
    "No",
    "en-AU-NatashaNeural",
    "en-AU-WilliamNeural",
    "en-CA-ClaraNeural",
    "en-CA-LiamNeural",
    "en-HK-SamNeural",
    "en-HK-YanNeural",
    "en-IN-NeerjaExpressiveNeural",
    "en-IN-NeerjaNeural",
    "en-IN-PrabhatNeural",
    "en-IE-ConnorNeural",
    "en-IE-EmilyNeural",
    "en-KE-AsiliaNeural",
    "en-KE-ChilembaNeural",
    "en-NZ-MitchellNeural",
    "en-NZ-MollyNeural",
    "en-NG-AbeoNeural",
    "en-NG-EzinneNeural",
    "en-PH-JamesNeural",
    "en-US-AvaNeural",
    "en-US-AndrewNeural",
    "en-US-EmmaNeural",
    "en-US-BrianNeural",
    "en-PH-RosaNeural",
    "en-SG-LunaNeural",
    "en-SG-WayneNeural",
    "en-ZA-LeahNeural",
    "en-ZA-LukeNeural",
    "en-TZ-ElimuNeural",
    "en-TZ-ImaniNeural",
    "en-GB-LibbyNeural",
    "en-GB-MaisieNeural",
    "en-GB-RyanNeural",
    "en-GB-SoniaNeural",
    "en-GB-ThomasNeural",
    "en-US-AnaNeural",
    "en-US-AriaNeural",
    "en-US-ChristopherNeural",
    "en-US-EricNeural",
    "en-US-GuyNeural",
    "en-US-JennyNeural",
    "en-US-MichelleNeural",
    "en-US-RogerNeural",
    "en-US-SteffanNeural"
  ],
  "fr": [
    "No",
    "fr-BE-CharlineNeural",
    "fr-BE-GerardNeural",
    "fr-CA-ThierryNeural",
    "fr-CA-AntoineNeural",
    "fr-CA-JeanNeural",
    "fr-CA-SylvieNeural",
    "fr-FR-VivienneMultilingualNeural",
    "fr-FR-RemyMultilingualNeural",
    "fr-FR-DeniseNeural",
    "fr-FR-EloiseNeural",
    "fr-FR-HenriNeural",
    "fr-CH-ArianeNeural",
    "fr-CH-FabriceNeural"
  ],
  "de": [
    "No",
    "de-AT-IngridNeural",
    "de-AT-JonasNeural",
    "de-DE-SeraphinaMultilingualNeural",
    "de-DE-FlorianMultilingualNeural",
    "de-DE-AmalaNeural",
    "de-DE-ConradNeural",
    "de-DE-KatjaNeural",
    "de-DE-KillianNeural",
    "de-CH-JanNeural",
    "de-CH-LeniNeural"
  ],
  "hi": [
    "No",
    "hi-IN-MadhurNeural",
    "hi-IN-SwaraNeural"
  ],
  "hu": [
    "No",
    "hu-HU-NoemiNeural",
    "hu-HU-TamasNeural"
  ],
  "id": [
    "No",
    "id-ID-ArdiNeural",
    "id-ID-GadisNeural"
  ],
  "it": [
    "No",
    "it-IT-GiuseppeNeural",
    "it-IT-DiegoNeural",
    "it-IT-ElsaNeural",
    "it-IT-IsabellaNeural"
  ],
  "ja": [
    "No",
    "ja-JP-KeitaNeural",
    "ja-JP-NanamiNeural"
  ],
  "kk": [
    "No",
    "kk-KZ-AigulNeural",
    "kk-KZ-DauletNeural"
  ],
  "ko": [
    "No",
    "ko-KR-HyunsuNeural",
    "ko-KR-InJoonNeural",
    "ko-KR-SunHiNeural"
  ],
  "ms": [
    "No",
    "ms-MY-OsmanNeural",
    "ms-MY-YasminNeural"
  ],
  "pl": [
    "No",
    "pl-PL-MarekNeural",
    "pl-PL-ZofiaNeural"
  ],
  "pt": [
    "No",
    "pt-BR-ThalitaNeural",
    "pt-BR-AntonioNeural",
    "pt-BR-FranciscaNeural",
    "pt-PT-DuarteNeural",
    "pt-PT-RaquelNeural"
  ],
  "ru": [
    "No",
    "ru-RU-DmitryNeural",
    "ru-RU-SvetlanaNeural"
  ],
  "es": [
    "No",
    "es-AR-ElenaNeural",
    "es-AR-TomasNeural",
    "es-BO-MarceloNeural",
    "es-BO-SofiaNeural",
    "es-CL-CatalinaNeural",
    "es-CL-LorenzoNeural",
    "es-ES-XimenaNeural",
    "es-CO-GonzaloNeural",
    "es-CO-SalomeNeural",
    "es-CR-JuanNeural",
    "es-CR-MariaNeural",
    "es-CU-BelkysNeural",
    "es-CU-ManuelNeural",
    "es-DO-EmilioNeural",
    "es-DO-RamonaNeural",
    "es-EC-AndreaNeural",
    "es-EC-LuisNeural",
    "es-SV-LorenaNeural",
    "es-SV-RodrigoNeural",
    "es-GQ-JavierNeural",
    "es-GQ-TeresaNeural",
    "es-GT-AndresNeural",
    "es-GT-MartaNeural",
    "es-HN-CarlosNeural",
    "es-HN-KarlaNeural",
    "es-MX-DaliaNeural",
    "es-MX-JorgeNeural",
    "es-NI-FedericoNeural",
    "es-NI-YolandaNeural",
    "es-PA-MargaritaNeural",
    "es-PA-RobertoNeural",
    "es-PY-MarioNeural",
    "es-PY-TaniaNeural",
    "es-PE-AlexNeural",
    "es-PE-CamilaNeural",
    "es-PR-KarinaNeural",
    "es-PR-VictorNeural",
    "es-ES-AlvaroNeural",
    "es-ES-ElviraNeural",
    "es-US-AlonsoNeural",
    "es-US-PalomaNeural",
    "es-UY-MateoNeural",
    "es-UY-ValentinaNeural",
    "es-VE-PaolaNeural",
    "es-VE-SebastianNeural"
  ],
  "sv": [
    "No",
    "sv-SE-MattiasNeural",
    "sv-SE-SofieNeural"
  ],
  "th": [
    "No",
    "th-TH-NiwatNeural",
    "th-TH-PremwadeeNeural"
  ],
  "tr": [
    "No",
    "tr-TR-AhmetNeural",
    "tr-TR-EmelNeural"
  ],
  "uk": [
    "No",
    "uk-UA-OstapNeural",
    "uk-UA-PolinaNeural"
  ],
  "vi": [
    "No",
    "vi-VN-HoaiMyNeural",
    "vi-VN-NamMinhNeural"
  ]
}

Azure-tts and 302.ai (when selecting azure model) Language Code and Role Name Mapping

{
  "ar": [
    "No",
    "ar-AE-FatimaNeural",
    "ar-AE-HamdanNeural",
    "ar-BH-LailaNeural",
    "ar-BH-AliNeural",
    "ar-DZ-AminaNeural",
    "ar-DZ-IsmaelNeural",
    "ar-EG-SalmaNeural",
    "ar-EG-ShakirNeural",
    "ar-IQ-RanaNeural",
    "ar-IQ-BasselNeural",
    "ar-JO-SanaNeural",
    "ar-JO-TaimNeural",
    "ar-KW-NouraNeural",
    "ar-KW-FahedNeural",
    "ar-LB-LaylaNeural",
    "ar-LB-RamiNeural",
    "ar-LY-ImanNeural",
    "ar-LY-OmarNeural",
    "ar-MA-MounaNeural",
    "ar-MA-JamalNeural",
    "ar-OM-AyshaNeural",
    "ar-OM-AbdullahNeural",
    "ar-QA-AmalNeural",
    "ar-QA-MoazNeural",
    "ar-SA-ZariyahNeural",
    "ar-SA-HamedNeural",
    "ar-SY-AmanyNeural",
    "ar-SY-LaithNeural",
    "ar-TN-ReemNeural",
    "ar-TN-HediNeural",
    "ar-YE-MaryamNeural",
    "ar-YE-SalehNeural"
  ],

  "cs": [
    "No",
    "cs-CZ-VlastaNeural",
    "cs-CZ-AntoninNeural"
  ],

  "de": [
    "No",
    "de-AT-IngridNeural",
    "de-AT-JonasNeural",
    "de-CH-LeniNeural",
    "de-CH-JanNeural",
    "de-DE-KatjaNeural",
    "de-DE-ConradNeural",
    "de-DE-AmalaNeural",
    "de-DE-BerndNeural",
    "de-DE-ChristophNeural",
    "de-DE-ElkeNeural",
    "de-DE-GiselaNeural",
    "de-DE-KasperNeural",
    "de-DE-KillianNeural",
    "de-DE-KlarissaNeural",
    "de-DE-KlausNeural",
    "de-DE-LouisaNeural",
    "de-DE-MajaNeural",
    "de-DE-RalfNeural",
    "de-DE-TanjaNeural",
    "de-DE-FlorianMultilingualNeural",
    "de-DE-SeraphinaMultilingualNeural"
  ],

  "en": [
    "No",
    "en-AU-NatashaNeural",
    "en-AU-WilliamNeural",
    "en-AU-AnnetteNeural",
    "en-AU-CarlyNeural",
    "en-AU-DarrenNeural",
    "en-AU-DuncanNeural",
    "en-AU-ElsieNeural",
    "en-AU-FreyaNeural",
    "en-AU-JoanneNeural",
    "en-AU-KenNeural",
    "en-AU-KimNeural",
    "en-AU-NeilNeural",
    "en-AU-TimNeural",
    "en-AU-TinaNeural",
    "en-CA-ClaraNeural",
    "en-CA-LiamNeural",
    "en-GB-SoniaNeural",
    "en-GB-RyanNeural",
    "en-GB-LibbyNeural",
    "en-GB-AbbiNeural",
    "en-GB-AlfieNeural",
    "en-GB-BellaNeural",
    "en-GB-ElliotNeural",
    "en-GB-EthanNeural",
    "en-GB-HollieNeural",
    "en-GB-MaisieNeural",
    "en-GB-NoahNeural",
    "en-GB-OliverNeural",
    "en-GB-OliviaNeural",
    "en-GB-ThomasNeural",
    "en-HK-YanNeural",
    "en-HK-SamNeural",
    "en-IE-EmilyNeural",
    "en-IE-ConnorNeural",
    "en-IN-NeerjaNeural",
    "en-IN-PrabhatNeural",
    "en-KE-AsiliaNeural",
    "en-KE-ChilembaNeural",
    "en-NG-EzinneNeural",
    "en-NG-AbeoNeural",
    "en-NZ-MollyNeural",
    "en-NZ-MitchellNeural",
    "en-PH-RosaNeural",
    "en-PH-JamesNeural",
    "en-SG-LunaNeural",
    "en-SG-WayneNeural",
    "en-TZ-ImaniNeural",
    "en-TZ-ElimuNeural",
    "en-US-AvaNeural",
    "en-US-AndrewNeural",
    "en-US-EmmaNeural",
    "en-US-BrianNeural",
    "en-US-JennyNeural",
    "en-US-GuyNeural",
    "en-US-AriaNeural",
    "en-US-DavisNeural",
    "en-US-JaneNeural",
    "en-US-JasonNeural",
    "en-US-SaraNeural",
    "en-US-TonyNeural",
    "en-US-NancyNeural",
    "en-US-AmberNeural",
    "en-US-AnaNeural",
    "en-US-AshleyNeural",
    "en-US-BrandonNeural",
    "en-US-ChristopherNeural",
    "en-US-CoraNeural",
    "en-US-ElizabethNeural",
    "en-US-EricNeural",
    "en-US-JacobNeural",
    "en-US-JennyMultilingualNeural",
    "en-US-MichelleNeural",
    "en-US-MonicaNeural",
    "en-US-RogerNeural",
    "en-US-RyanMultilingualNeural",
    "en-US-SteffanNeural",
    "en-US-AIGenerate1Neural",
    "en-US-AIGenerate2Neural",
    "en-US-AndrewMultilingualNeural",
    "en-US-AvaMultilingualNeural",
    "en-US-BlueNeural",
    "en-US-BrianMultilingualNeural",
    "en-US-EmmaMultilingualNeural",
    "en-US-AlloyMultilingualNeural",
    "en-US-EchoMultilingualNeural",
    "en-US-FableMultilingualNeural",
    "en-US-OnyxMultilingualNeural",
    "en-US-NovaMultilingualNeural",
    "en-US-ShimmerMultilingualNeural",
    "en-US-AlloyMultilingualNeuralHD",
    "en-US-EchoMultilingualNeuralHD",
    "en-US-FableMultilingualNeuralHD",
    "en-US-OnyxMultilingualNeuralHD",
    "en-US-NovaMultilingualNeuralHD",
    "en-US-Sh