MaaS_HG_video_translate API
Request Protocol
Http
Request Header
| Parameter Name | Value |
|---|---|
| x-api-key | your-api-key |
| content-type | application/json |
| accept | application/json |
Video Translation Interface
Request Method
POST
Request URL
https://genaiapi.cloudsway.net/v1/ai/${ENDPOINT_PATH}/heygen/video_translate
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| video_url | string | Yes | The URL of the video file. Supports direct video file links, Google Drive links, and YouTube links. |
| title | string | No | Video title. |
| output_language | string | Yes (for single language) | Target translation language (single). Either output_language or output_languages must be provided. |
| translate_audio_only | boolean | No | Default is false. Translate only the audio and ignore the vision, suitable for scenarios such as voiceover and dubbing without on-camera appearances. |
| speaker_num | int32 | No | Number of speakers in the video. |
| callback_id | string | No | Custom ID for callback tracking. Will be returned in the status/webhook response. |
| enable_dynamic_duration | string | No | Adjust video clip length to improve cross-language dialogue fluency and translation quality (e.g., languages with different speech rates). |
| keep_the_same_format | boolean | No | Default is false. Set to true to ensure the input and output video quality are consistent. |
| mode | string | No | • fast: Fast generation, suitable for standard translation • quality: High-quality lip synchronization, but consumes double the points |
Response Parameters
| Field | Type | Description |
|---|---|---|
| error | string | Error message when the request fails; null when the request succeeds |
| data | object | Contains the ID of the translated video |
| data.video_translate_id | string | Unique identifier of the translated video. |
Request Example
Request
curl --request POST \
--url https://genaiapi.cloudsway.net/v1/ai/${ENDPOINT_PATH}/heygen/video_translate \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'Authorization: Bearer XX' \
--data '
{
"translate_audio_only": "false",
"keep_the_same_format": "false",
"mode": "fast",
"video_url": "https://storage.googleapis.com/wangshi-usw/wangshi-use/343170513536603082/sample_0.mp4",
"output_language": "Chinese (Mandarin, Simplified)",
"title": "test"
}
'
Response
{
"error": null,
"data": {
"video_translate_id": "8t4ca15b649d4bc1936f5ca2edd0c1c6-ur_ur-PK",
"video_translate_ids": null
}
}
Query Video Translation Status Interface
Request Method
GET
Request URL
https://genaiapi.cloudsway.net/v1/ai/${ENDPOINT_PATH}/heygen/video_translate/{video_translate_id}
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| video_translate_id | string | Yes | Path parameter, unique identifier of the translated video |
Response Parameters
| Field | Type | Description |
|---|---|---|
| error | string | Error message when the request fails; null when the request succeeds. |
| data | object | Contains detailed information of the translated video. |
| video_translate_id | string | Unique identifier of the translated video. |
| title | string | Video title. |
| output_language | string | The target language the video is translated into. |
| status | string | Current status of the video. • failed: Video rendering failed • pending: Waiting in queue • success: Video rendering succeeded • running: Rendering in progress |
| url | string | URL of the translated video. This link expires in 7 days, and a new link needs to be obtained by re-calling the interface after expiration. |
| message | string | Newly added field, containing human-readable status description. Returns explanatory information when an error occurs. |
| caption_url | string | URL of the subtitle file (.ass format), returned only if 'caption: true' is set in the request. |
Request Example
Request
curl --request GET \
--url https://genaiapi.cloudsway.net/v1/ai/${ENDPOINT_PATH}/heygen/video_translate/7544c0b52ada44fda693a15b1181b5b4-ur_ur-PK\
--header 'accept: application/json' \
--header 'Authorization: Bearer XX'
Response
// If the video rendering is completed, the response looks like this:
{
"error": null,
"data": {
"video_translate_id": "7544c0b52ada44fda693a15b1181b5b4-ur_ur-PK",
"title": "My Translated Video",
"output_language": "Urdu (Pakistan)",
"status": "success",
"url": "https://resource2.heygen.ai/video_translate/7544c0b52ada44fda693a15b1181b5b4-ur_ur-PK/original.mp4?response-content-disposition=attachment%3B+filename%2A%3DUTF-8%27%27My%2520Translated%2520Video.mp4%3B",
"message": null,
"callback_id": null,
"caption_url": null
}
}
Supported Languages Query Interface
Request Method
GET
Request URL
https://genaiapi.cloudsway.net/v1/ai/${ENDPOINT_PATH}/heygen/video_translate/target_languages
Request Example
Request
curl --request GET \
--url https://genaiapi.cloudsway.net/v1/ai/${ENDPOINT_PATH}/heygen/video_translate/target_languages \
--header 'accept: application/json' \
--header 'Authorization: Bearer XX'
Response
{
"error": null,
"data": {
"languages": [
"English",
"Spanish",
"French",
"Hindi",
"Italian",
"German",
"Polish",
"Portuguese",
"Chinese",
"Japanese",
"Dutch",
"Turkish",
"Korean",
"Danish",
"Arabic",
"Romanian",
"Mandarin",
"Filipino",
"Swedish",
"Indonesian",
"Ukrainian",
"Greek",
"Czech",
"Bulgarian",
"Malay",
"Slovak",
"Croatian",
"Tamil",
"Finnish",
"Russian",
"Afrikaans (South Africa)",
"Albanian (Albania)",
"Amharic (Ethiopia)",
"Arabic (Algeria)",
"Arabic (Bahrain)",
"Arabic (Egypt)",
"Arabic (Iraq)",
"Arabic (Jordan)",
"Arabic (Kuwait)",
"Arabic (Lebanon)",
"Arabic (Libya)",
"Arabic (Morocco)",
"Arabic (Oman)",
"Arabic (Qatar)",
"Arabic (Saudi Arabia)",
"Arabic (Syria)",
"Arabic (Tunisia)",
"Arabic (United Arab Emirates)",
"Arabic (Yemen)",
"Armenian (Armenia)",
"Azerbaijani (Latin, Azerbaijan)",
"Bangla (Bangladesh)",
"Basque",
"Bengali (India)",
"Bosnian (Bosnia and Herzegovina)",
"Bulgarian (Bulgaria)",
"Burmese (Myanmar)",
"Catalan",
"Chinese (Cantonese, Traditional)",
"Chinese (Jilu Mandarin, Simplified)",
"Chinese (Mandarin, Simplified)",
"Chinese (Northeastern Mandarin, Simplified)",
"Chinese (Southwestern Mandarin, Simplified)",
"Chinese (Taiwanese Mandarin, Traditional)",
"Chinese (Wu, Simplified)",
"Chinese (Zhongyuan Mandarin Henan, Simplified)",
"Chinese (Zhongyuan Mandarin Shaanxi, Simplified)",
"Croatian (Croatia)",
"Czech (Czechia)",
"Danish (Denmark)",
"Dutch (Belgium)",
"Dutch (Netherlands)",
"English (Australia)",
"English (Canada)",
"English (Hong Kong SAR)",
"English (India)",
"English (Ireland)",
"English (Kenya)",
"English (New Zealand)",
"English (Nigeria)",
"English (Philippines)",
"English (Singapore)",
"English (South Africa)",
"English (Tanzania)",
"English (UK)",
"English (United States)",
"Estonian (Estonia)",
"Filipino (Philippines)",
"Finnish (Finland)",
"French (Belgium)",
"French (Canada)",
"French (France)",
"French (Switzerland)",
"Galician",
"Georgian (Georgia)",
"German (Austria)",
"German (Germany)",
"German (Switzerland)",
"Greek (Greece)",
"Gujarati (India)",
"Hebrew (Israel)",
"Hindi (India)",
"Hungarian (Hungary)",
"Icelandic (Iceland)",
"Indonesian (Indonesia)",
"Irish (Ireland)",
"Italian (Italy)",
"Japanese (Japan)",
"Javanese (Latin, Indonesia)",
"Kannada (India)",
"Kazakh (Kazakhstan)",
"Khmer (Cambodia)",
"Korean (Korea)",
"Lao (Laos)",
"Latvian (Latvia)",
"Lithuanian (Lithuania)",
"Macedonian (North Macedonia)",
"Malay (Malaysia)",
"Malayalam (India)",
"Maltese (Malta)",
"Marathi (India)",
"Mongolian (Mongolia)",
"Nepali (Nepal)",
"Norwegian Bokmål (Norway)",
"Pashto (Afghanistan)",
"Persian (Iran)",
"Polish (Poland)",
"Portuguese (Brazil)",
"Portuguese (Portugal)",
"Romanian (Romania)",
"Russian (Russia)",
"Serbian (Latin, Serbia)",
"Sinhala (Sri Lanka)",
"Slovak (Slovakia)",
"Slovenian (Slovenia)",
"Somali (Somalia)",
"Spanish (Argentina)",
"Spanish (Bolivia)",
"Spanish (Chile)",
"Spanish (Colombia)",
"Spanish (Costa Rica)",
"Spanish (Cuba)",
"Spanish (Dominican Republic)",
"Spanish (Ecuador)",
"Spanish (El Salvador)",
"Spanish (Equatorial Guinea)",
"Spanish (Guatemala)",
"Spanish (Honduras)",
"Spanish (Mexico)",
"Spanish (Nicaragua)",
"Spanish (Panama)",
"Spanish (Paraguay)",
"Spanish (Peru)",
"Spanish (Puerto Rico)",
"Spanish (Spain)",
"Spanish (United States)",
"Spanish (Uruguay)",
"Spanish (Venezuela)",
"Sundanese (Indonesia)",
"Swahili (Kenya)",
"Swahili (Tanzania)",
"Swedish (Sweden)",
"Tamil (India)",
"Tamil (Malaysia)",
"Tamil (Singapore)",
"Tamil (Sri Lanka)",
"Telugu (India)",
"Thai (Thailand)",
"Turkish (Türkiye)",
"Ukrainian (Ukraine)",
"Urdu (India)",
"Urdu (Pakistan)",
"Uzbek (Latin, Uzbekistan)",
"Vietnamese (Vietnam)",
"Welsh (United Kingdom)",
"Zulu (South Africa)",
"English - Your Accent",
"English - American Accent"
]
}
}
Get Translated Video Subtitle File Interface
Request Method
GET
Request URL
https://genaiapi.cloudsway.net/v1/ai/${ENDPOINT_PATH}/heygen/video_translate/caption?video_translate_id={video_translate_id}&caption_type=vtt
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| video_translate_id | string | Yes | Query parameter, unique identifier of the translated video |
| caption_type | string | Yes | Subtitle file format, allowed value: vtt |
Request Example
Request
curl --request GET \
--url 'https://genaiapi.cloudsway.net/v1/ai/${ENDPOINT_PATH}/heygen/video_translate/caption?video_translate_id=6vr40c621282471bb03cd9n61acf7faa-ur_ur-PK/6vr40c621282471bb03cd9n61acf7faa-ur_ur-PK&caption_type=vtt' \
--header 'accept: application/json' \
--header 'Authorization: Bearer XX'
Response
{
"error": null,
"data": {
"caption_url": "https://files2.heygen.ai/video_translate/6vr40c621282471bb03cd9n61acf7faa-ur_ur-PK/6vr40c621282471bb03cd9n61acf7faa-ur_ur-PK.vtt?Expires=1760528877&Signature=qkWYJB7HDZkOfaQNWBdvIYc34MAJ1~SPnDdPgXg0VefkJQnttfMXup2Qzvewq8SmbdTYr9POyrYKUAXs1gCqql1-v2q-G-dd6~Xp5QMo6L6sYCwrsbkSrofZYe2fsggsg9j-RYmlZ22qNiavJgYEWy1Do3R9TH-bctSXJPlgyYYZDhYeDLLK5HklOi0f2d7WUiN2wWpQhRyLOsXSpB-961rY-jQad0Digq~-WqsMgjkUpAsQxadXVo-0xtpYssyIVsZue59hf-XMO4IN1dHq~Dt1MgxKpmXFBjiFk6eSPyXCyp3EbuZZ9rEc5CwIA25IvWGvdAR-Tfp3iPMast2dJw__&Key-Pair-Id=K52HBHX5LX3X2H"
}
}