AI Subtitle
Run speech recognition on video, generate subtitles automatically, optionally translate them into another language, and optionally burn the subtitles into the video.
Create Task
Basic Information
| Item | Value |
|---|---|
| Request Method | POST |
| Request Path | /task/video_ai_subtitle |
| Content-Type | application/json |
| Authentication | Raw API key in the Authorization header |
Request Body
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
file_id | string | Yes | - | Uploaded video file ID |
language | string | Yes | - | Subtitle source language code. See the full supported list below |
translate_language | string | No | - | Subtitle target language code for translation. It uses the same supported set as language |
need_render | boolean | No | false | Whether to burn subtitles into the video |
need_pure | boolean | No | false | Whether to remove existing subtitles before generating new ones |
lingual_type | string | No | "bilingual" | monolingual or bilingual. See the gallery below for examples |
subtitle_type | string | No | "default" | Subtitle style preset: default, outline, cinema_yellow, immersive_box, wide_spacing, deep_shadow, or boxed. See the gallery below for examples |
subtitle_color | string | No | "雅黑" | Subtitle color preset. Current public docs include values such as 雅黑, 淡绿, 森林绿, 湖蓝, 道奇蓝, 钢蓝, 浅粉红, 深紫, 珊瑚橙, 橙红, and 土豪金 |
Supported Language Codes
language and translate_language share the same supported language set, AI Subtitle supports these 11 languages:
| Language code | Language name |
|---|---|
zh-CHT | Traditional Chinese |
zh-CHS | Simplified Chinese |
zh-CN | Chinese |
ja-JP | Japanese |
en-US | English |
es-ES | Spanish |
ru-RU | Russian |
ko-KR | Korean |
fr-FR | French |
pt-PT | Portuguese |
vi-VN | Vietnamese |
Tip: When
lingual_typeisbilingual, explicitly passtranslate_languageand make sure it also comes from the list above.
Subtitle Style Gallery
The gallery below covers all 7 currently supported subtitle_type presets, with examples for:
monolingualandbilingual1080x1920,1920x1080,2160x3840,3840x2160,480x848, and848x480
Use the matching subtitle_type parameter value shown in each style section.
Default
default
Each style includes 12 example images
Outline
outline
Each style includes 12 example images
Cinema Yellow
cinema_yellow
Each style includes 12 example images
Immersive Box
immersive_box
Each style includes 12 example images
Wide Spacing
wide_spacing
Each style includes 12 example images
Deep Shadow
deep_shadow
Each style includes 12 example images
Boxed
boxed
Each style includes 12 example images
Optional content Object
You can pass extra context through content to improve subtitle accuracy.
| Parameter | Type | Description |
|---|---|---|
content.video_title | string | Video title |
content.video_info | string | Summary or description of the video |
Request Example
curl -X POST https://api.ai-mcn.tv:10000/task/video_ai_subtitle \
-H "Authorization: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"file_id": "537489015178246",
"language": "zh-CN",
"translate_language": "en-US",
"need_render": true,
"lingual_type": "bilingual",
"subtitle_type": "outline",
"subtitle_color": "雅黑"
}'
Success Example
{
"code": 200,
"msg": "success",
"data": {
"task_id": "537489015178247",
"task_type": "video_ai_subtitle",
"status": "queued"
}
}
Query Task Result
Basic Information
| Item | Value |
|---|---|
| Request Method | GET |
| Request Path | /task/video_ai_subtitle/{task_id} |
| Authentication | Raw API key in the Authorization header |
Output Result (output_result)
| Parameter | Type | Description |
|---|---|---|
file_id | string | Video file ID with rendered subtitles, returned only when need_render: true |
subtitle_file_id | string | Subtitle file ID in SRT format |
Success Example
{
"code": 200,
"msg": "success",
"data": {
"task_id": "537489015178247",
"status": "completed",
"progress": 100,
"output_result": {
"file_id": "537489015178248",
"subtitle_file_id": "537489015178249"
},
"create_time": "2026-04-05T08:00:00Z",
"update_time": "2026-04-05T08:01:30Z"
}
}
Error Codes
| Error Code | HTTP Status | Description | Resolution |
|---|---|---|---|
6013 | 400 | Missing file_id or language | Add the required fields |
6015 | 400 | Unsupported language code | Use one of the supported language codes listed above |
6004 | 404 | File not found | Verify the file_id |
6502 | 401 | Authentication failed | Check the Authorization header |
6202 | 402 | Insufficient balance | Recharge in the Dashboard |



















































































