The resources (image, video, voice) generated by our API are valid for 7 days.
Please save the relevant resources as soon as possible to prevent expiration.
Experience our video translation technology in action by exploring our interactive demo on GitHub: AKool Video Translation Demo.
Get AI Voices List
| Parameter | Value | Description |
|---|---|---|
| x-api-key | API Key | Your API Key used for request authorization. If both Authorization and x-api-key have values, Authorization will be used first and x-api-key will be discarded. |
| Authorization | Bearer {token} | Your API Key used for request authorization.Get Token. |
| Parameter | Type | Required | Value | Description |
|---|---|---|---|---|
| language_code | String | false | zh-CN-shandong | Language code, used to filter voice list for specific language |
| page | Integer | false | 1 | Page number, default is 1 |
| size | Integer | false | 100 | Items per page, default is 100 |
| Parameter | Type | Description |
|---|---|---|
| code | Integer | Interface returns business status code(1000:success) |
| msg | String | Interface returns status information |
| data | Object | Response data object |
| - page | Integer | Current page number |
| - size | Integer | Items per page |
| - count | Integer | Total number of items |
| - result | Array | Array of voice items |
| — _id | String | Unique identifier for the voice |
| — voice_id | String | Voice ID used for API calls |
| — gender | String | Voice gender (Male/Female) |
| — language | String | Voice language name |
| — name | String | Voice name |
| — preview | String | Preview audio URL |
| — thumbnailUrl | String | Voice avatar image URL |
| — create_time | Integer | Voice creation timestamp |
| — flag_url | String | Language flag image URL |
| — useCase | String | Voice use case category |
| — category | String | Voice category |
| — age | Array | Age range tags |
| — style | Array | Voice style tags |
| — duration | Integer | Preview audio duration in milliseconds |
| — scenario | Array | Recommended usage scenarios |
| — language_code | String | Language code identifier |
Get Language List Result
| Parameter | Value | Description |
|---|---|---|
| x-api-key | API Key | Your API Key used for request authorization. If both Authorization and x-api-key have values, Authorization will be used first and x-api-key will be discarded. |
| Authorization | Bearer {token} | Your API Key used for request authorization.Get Token. |
| Parameter | Type | Description |
|---|---|---|
| code | Integer | Interface returns business status code(1000:success) |
| msg | String | Interface returns status information |
| data | Object | Response data object |
| - lang_list | Array | Array of supported languages |
| — lang_name | String | Language name (e.g., “Afrikaans (South Africa)”) |
| — lang_code | String | Language code (e.g., “af-ZA”) |
| — url | String | Language flag icon URL |
| — need_voice_id | Boolean | Whether this language requires selecting an AI voice ID |
Create video translation
| Parameter | Value | Description |
|---|---|---|
| x-api-key | API Key | Your API Key used for request authorization. If both Authorization and x-api-key have values, Authorization will be used first and x-api-key will be discarded. |
| Authorization | Bearer {token} | Your API Key used for request authorization.Get Token. |
| Parameter | Type | Required | Value | Description |
|---|---|---|---|---|
| url | String | true | The video url address you want to translate. | |
| source_language | String | true | The original language of the video. | |
| language | String | true | The language you want to translate into. If you want to translate into multiple languages at once, separate them with commas in English format. | |
| lipsync | Boolean | false | true/false | Get synchronized mouth movements with the audio track in a translated video. |
| Number | false | 1 | The segmentation interval of video translation, the default is 1 second. This field is deprecated | |
| Boolean | false | true/false | Whether to facial process the translated video, this parameter only works when lipsync is true. This field is deprecated | |
| webhookUrl | String | false | Callback url address based on HTTP request. | |
| speaker_num | Number | false | 0 | Number of speakers in the video, the default is 0 (Auto Detect). |
| remove_bgm | Boolean | false | false | Whether to remove background music (default: false) |
| caption_type | Number | false | 0 | Caption type (default: 0, 0 none;1 add original subtitle;2 add target subtitle;3 translate and replace original subtitle;4 add translated subtitle;) |
| caption_url | String | false | Caption URL (default: ""), subtitle file address, support SRT or ASS files. | |
| voices_map | Object | false | Voice Language maps | |
| -[language_code] | Object | true | {"voice_id": "6889b755662160e2caad5fdf"} | Target language code map |
| —voice_id | String | true | "" or “6889b755662160e2caad5fdf” | Voice ID corresponding to the target language code, getVoiceId |
| studio_voice | Object | false | Studio voice settings | |
| -no_translate_words | Array | false | [“kaka”,“lal”] | List of words that do not need to be translated |
| -style | String | false | professional | Translation style, available values: ‘affectionate’, ‘angry’, ‘calm’, ‘cheerful’, ‘depressed’, ‘disgruntled’, ‘embarrassed’, ‘empathetic’, ‘excited’, ‘fearful’, ‘friendly’, ‘unfriendly’, ‘sad’, ‘serious’, ‘relaxed’, ‘professional’ |
| -fixed_words | Object | false | {"hi": "hello", "bad": "good"} | Translation word mapping table for corrections |
| -pronounced_words | Object | false | {"lel": "lele", "gga": "gaga"} | Pronunciation correction word mapping table |
| dynamic_duration | Boolean | false | false | Control the dynamic duration of the video. The default value is false. |
| Parameter | Type | Value | Description |
|---|---|---|---|
| code | int | 1000 | Interface returns business status code(1000:success) |
| msg | String | Interface returns status information | |
| data | Object | { "_id": "", "video_status": 1, "video": "" } | _id: Interface returns data, video_status: the status of video: [1:queueing, 2:processing, 3:completed, 4:failed], video: the url of Generated video |
Get Video Info Result
| Parameter | Value | Description |
|---|---|---|
| x-api-key | API Key | Your API Key used for request authorization. If both Authorization and x-api-key have values, Authorization will be used first and x-api-key will be discarded. |
| Authorization | Bearer {token} | Your API Key used for request authorization.Get Token. |
| Parameter | Type | Value | Description |
|---|---|---|---|
| video_model_id | String | NULL | video db id: You can get it based on the _id field returned by Create By Translate API . |
| Parameter | Type | Value | Description |
|---|---|---|---|
| code | int | 1000 | Interface returns business status code(1000:success) |
| msg | String | OK | Interface returns status information |
| data | Object | { video_status:1, _id:"", video:"" } | Interface returns data |
| - _id | String | 68da023f776f4277705a7890 | Unique identifier |
| - create_time | Integer | 1759117887643 | Timestamp |
| - uid | Integer | 101400 | User ID |
| - team_id | String | 6805fb69e92d9edc7ca0b409 | Team ID |
| - video_id | String | 68da023f6ae5f91ba94f6f8e | Video Translation Unique ID |
| - video_status | Integer | 3 | The status of video: [1:queueing, 2:processing, 3:completed, 4:failed] |
| - video | String | https://d2qf6ukcym4kn9.cloudfront.net/1761015360290-1617.mp4 | Generated video resource url |
| - progress | Integer | 100 | Video translation processing progress |
| - deduction_duration | Integer | 4 | Credits consumed for this video translation |
| - error_code | Integer | 1000 | Error code indicating the specific reason for task failure, only available when video_status is 4 |
| - error_reason | String | "" | Detailed error reason description, only available when video_status is 4 |
Please note that if the value of the response code is not equal to 1000, the request
is failed or wrong
| Parameter | Value | Description |
|---|---|---|
| code | 1000 | Success |
| code | 1003 | Parameter error or Parameter can not be empty |
| code | 1008 | The content you get does not exist |
| code | 1009 | You do not have permission to operate |
| code | 1101 | Invalid authorization or The request token has expired |
| code | 1102 | Authorization cannot be empty |
| code | 1200 | The account has been banned |
| code | 1201 | create audio error, please try again later |
| code | 1202 | The same video cannot be translated lipSync in the same language more than 1 times |
| code | 1203 | video should be with audio |
| code | 1204 | Your video duration is exceed 60s! |
| code | 1205 | Create video error, please try again later |
| code | 1207 | The video you are using exceeds the size limit allowed by the system by 300M |
| code | 1209 | Please upload a video in another encoding format |
| code | 1210 | The video you are using exceeds the value allowed by the system by 30fp |