任务管理
更新时间:2026-01-19
任务管理主要是对翻译任务的创建、修改、查询进行管理(目前暂时不支持删除)
1. 创建视频翻译任务
目前翻译源语言支持中和英,翻译目标语言支持中英法德西葡俄日韩泰阿。而翻译类型线上暂时只支持字幕翻译和语音翻译,后续会推出面容翻译。字幕配置中字幕来源方式支持OCR、ASR、用户上传等方式,字幕擦除配置支持全剧字幕擦除、对白字幕擦除和自定义区域擦除三种方式。
请求语法
Http
1POST /v2/translation/tasks HTTP/1.1
2content-type: application/json
3host: vod.bj.baidubce.com
4authorization: <bce-authorization-string>
请求参数
| 字段名 | 类型 | 必填 | 详细说明 |
|---|---|---|---|
| projectId | string | 是 | 项目ID |
| mediaIdList | string[] | 是 | 媒资ID列表,支持相同翻译配置创建多个任务 |
| translationConfig | TranslationConfig | 是 | 翻译配置 |
| subtitleConfig | SubtitleConfig | 是 | 字幕配置 |
TranslationConfig
| 字段名 | 类型 | 必填 | 详细说明 |
|---|---|---|---|
| sourceLanguage | string | 是 | 源视频语言
|
| targetLanguage | string | 是 | 翻译目标语言,目前仅部分语言支持语音翻译
|
| translationTypeList | string[] | 是 | 翻译类型
|
| ttsConfig | object | TTS配置 | |
| [+] type | string | TTS类型,枚举:VOICE_CLONE / AI_DUB,默认VOICE_CLONE | |
| [+] voiceList | object[] | 音色列表 | |
| [+][+] voiceId | string | 是 | 音色ID,参考音色列表 |
SubtitleConfig
| 字段名 | 类型 | 必填 | 详细说明 |
|---|---|---|---|
| recognitionType | string | 是 | 字幕识别(来源)类型
|
| textTypeList | string[] | 字幕识别范围(不勾选的字幕类型会被过滤),默认全选
|
|
| targetSubtitleCompose | string | 是否开启硬字幕(最后合成部分是否贴字幕),默认true | |
| dialogSubtitleFile | string | 用户上传对白字幕文件,支持SRT格式,将srt文件转为字符串传入即可 | |
| introSubtitleFile | string | 用户上传介绍字幕文件(非对白字幕),支持SRT格式,将srt文件转为字符串传入即可 | |
| desubtitleConfig | string | 字幕擦除配置 | |
| [+] modelType | string | 模型类型
|
|
| [+] desubtitleType | string | 是 | 字幕擦除类型
|
| [+] areaList | object[] | 自定义擦除框的坐标,最多5个。当desubtitleType=global,dialog时,坐标非必填,{x,y,width,height}取值是0~1之间的比例值;当desubtitleType=manual时,坐标必填,{x,y,width,height}取值是整数像素值 | |
| [+][+] x | float | 自定义擦除框最左侧距离画面左边界距离(横坐标) | |
| [+][+] y | float | 自定义擦除框最上侧距离画面上边界距离(纵坐标) | |
| [+][+] width | float | 自定义擦除框宽度 | |
| [+][+] height | float | 自定义擦除框高度 | |
| fontConfig | object | 字幕字体配置 | |
| [+] dialog | TextConfig | 对白字幕字体配置 | |
| [+] castName | TextConfig | 角色名字体配置 | |
| [+] castDescription | TextConfig | 角色描述字体配置 | |
| [+] other | TextConfig | 未识别到具体类型或用途的其它文字的字体配置 |
TextConfig
| 字段名 | 类型 | 必填 | 默认值 | 详细说明 |
|---|---|---|---|---|
| padding | int | 0 | 字幕区域的内边缘留空宽度,单位为像素值 | |
| color | string | #00000000 | 字幕区域的背景颜色,默认完全透明 | |
| font | object | 字体具体信息 | ||
| [+] family | string | Hei | 字体名称,取值有
|
|
| [+] alignment | string | center | 文本对齐方式,取值有
|
|
| [+] size | int | 字号,单位为像素。不填则默认与OCR检测到的原字幕同等字号 | ||
| [+] spacing | int | 0 | 字间距,单位为像素,默认0 | |
| [+] lineSpacing | float | 0 | 行间距,取值为字号的倍数。例如 0.2 表示两行之间的距离是size*0.2,即1.2倍行高 |
|
| [+] bold | boolean | false | 是否加粗 | |
| [+] italic | boolean | false | 是否斜体 | |
| [+] underline | boolean | false | 是否下划线 | |
| [+] strikeOut | boolean | false | 是否删除线 | |
| [+] color | string | #FFFFFFFF | 字体颜色,默认白色不透明 | |
| [+] outlineThickness | int | 1 | 字体描边宽度,单位是像素值 | |
| [+] outlineColor | string | #000000FF | 字体描边颜色,默认黑色不透明 |
注意:上述设置颜色的字段必须是#RRGGBB或#RRGGBBAA格式,其中AA是透明通道,不填则默认为FF不透明。示例: #FFFFFF88 表示半透明白色,#000000FF表示黑色不透明。
响应参数
| 参数 | 类型 | 必要性 | 详细说明 |
|---|---|---|---|
| total | int | 是 | 创建任务数量 |
| translationTaskCreateResultList | object | 是 | 翻译任务创建结果列表 |
| [+] taskId | string | 是 | 任务 ID |
| [+] mediaId | string | 是 | 媒资 ID |
请求示例
Http
1POST https://vod.bj.baidubce.com/v2/translation/tasks HTTP/1.1
2host: vod.bj.baidubce.com
3content-type: application/json
4x-bce-date: 2025-02-18T12:01:34Z
5authorization: bce-auth-v1/ALTAKnRFniUBSDbBSz2oZHUbzt/2025-02-18T12:01:34Z/1800/host/1faf5b1da2420b31a1d9dae46387524db0b0567e3f7dcfc24516ed91ab23fdee
6
7{
8 "projectId": "pjt-fi4qxuyam3ce7wqi",
9 "mediaIdList": [
10 "mda-fiym0hbcq5igqehe"
11 ],
12 "translationConfig": {
13 "sourceLanguage": "zh-CN",
14 "targetLanguage": "en-US",
15 "translationTypeList": [
16 "subtitle",
17 "speech"
18 ]
19 },
20 "subtitleConfig": {
21 "recognitionType": "USER",
22 "dialogSubtitleFile": "\n1\n00:00:01,500 --> 00:00:04,100\n\n\n2\n00:00:04,200 --> 00:00:11,200\n墨渊:三百年了……你终于敢回来面对我了。\n\n3\n00:00:11,600 --> 00:00:18,500\n绯璃:师兄的剑意,还是这般刺骨呢。\n\n4\n00:00:19,000 --> 00:00:23,800\n可惜,今日我已非当年被困剑阵的狐族少女。\n\n5\n00:00:24,500 --> 00:00:27,300\n\n\n6\n00:00:27,600 --> 00:00:35,900\n墨渊:你身上的幽冥气息……你炼化了那枚上古妖丹?\n\n7\n00:00:36,300 --> 00:00:43,600\n绯璃:不。是它选择了我。\n\n8\n00:00:44,000 --> 00:00:47,800\n就像当年,你选择将我封印在此一样。\n\n9\n00:00:48,200 --> 00:00:51,500\n\n\n10\n00:00:51,900 --> 00:00:54,700\n今日,该有个了结了。\n",
23 "introSubtitleFile": "\n1\n00:00:00,500 --> 00:00:03,200\n墨渊 - 青云剑宗首席弟子\n\n2\n00:00:03,500 --> 00:00:06,800\n绯璃 - 九尾狐族后裔/前宗门护法\n\n3\n00:00:07,200 --> 00:00:11,000\n时空背景:玄灵历三千七百年\n\n4\n00:00:11,400 --> 00:00:14,500\n地点:东域·青云山脉禁地\n",
24 "desubtitleType": "global",
25 "desubtitleConfig": {
26 "desubtitleMediaId": "mda-fiwtfpw4gi3qtu4h"
27 },
28 "fontConfig": {
29 "dialog": {
30 "color": "00000055",
31 "font": {
32 "family": "Song",
33 "alignment": "left",
34 "size": 60,
35 "spacing": 2,
36 "lineSpacing": 0.1,
37 }
38 }
39 }
40 }
41}
响应示例
JSON
1{
2 "total": 1,
3 "translationTaskCreateResultList": [
4 {
5 "taskId": "tsk-fjwm8bxpakx243t9",
6 "mediaId": "mda-fiym0hbcq5igqehe"
7 }
8 ]
9}
2. 修改翻译任务
请求语法
Http
1PUT /v2/translation/task HTTP/1.1
2content-type: application/json
3host: vod.bj.baidubce.com
4authorization: <bce-authorization-string>
请求参数
| 字段名 | 类型 | 必填 | 详细说明 |
|---|---|---|---|
| taskId | string | 是 | 任务ID |
| updateType | string | 是 | 更新类型
|
| subtitleFile | string | 是 | 用户上传字幕文件(根据updateType区分传入为源字幕还是翻译后字幕),支持SRT格式,将srt文件转为字符串传入即可 |
响应参数
| 参数 | 类型 | 必要性 | 详细说明 |
|---|---|---|---|
| taskId | string | 是 | 更新后新创建的任务 |
请求示例
Http
1PUT https://vod.bj.baidubce.com/v2/translation/task HTTP/1.1
2host: vod.bj.baidubce.com
3content-type: application/json
4x-bce-date: 2025-02-18T12:01:34Z
5authorization: bce-auth-v1/ALTAKnRFniUBSDbBSz2oZHUbzt/2025-02-18T12:01:34Z/1800/host/1faf5b1da2420b31a1d9dae46387524db0b0567e3f7dcfc24516ed91ab23fdee
6
7{
8 "taskId": "tsk-fjstpgcffb7y8vyi",
9 "updateType": "sourceSubtitle",
10 "subtitleFile": "\n1\n00:00:00,360 --> 00:00:01,360\n司厉南\n\n2\n00:00:02,500 --> 00:00:04,190\n你真的没有心吗\n\n3\n00:00:05,730 --> 00:00:06,730\n阿南\n\n4\n00:00:06,830 --> 00:00:08,630\n我真的很担心顾清\n\n"
11}
响应示例
JSON
1{
2 "taskId": "tsk-fjwm3e6f6qmma53v"
3}
3. 查询项目中翻译任务及列表
请求语法
Http
1GET /v2/translation/project/{projectId}/tasks HTTP/1.1
2content-type: application/json
3host: vod.bj.baidubce.com
4authorization: <bce-authorization-string>
请求参数
Path参数:
| 字段名 | 类型 | 必要性 | 详细说明 |
|---|---|---|---|
| projectId | string | 是 | 任务 ID |
Query参数:
| 字段名 | 类型 | 必要性 | 详细说明 |
|---|---|---|---|
| maxSize | int | 查出的页面大小,取值[1, 100],默认10 | |
| taskId | string | 查询指定任务 | |
| mediaId | string | 查询指定媒资的所有任务 | |
| marker | string | 从指定游标开始查询 |
响应参数
| 字段名 | 类型 | 必要性 | 详细说明 |
|---|---|---|---|
| data | object[] | 是 | 翻译任务数据详情 |
| [+] taskId | string | 是 | 翻译任务ID |
| [+] mediaId | string | 是 | 翻译媒资ID |
| [+] name | string | 是 | 翻译任务名称,一般为媒资名称 |
| [+] status | string | 是 | 翻译任务状态
|
| [+] url | string | 翻译最终结果,仅在任务状态为SUCCESS时返回 | |
| [+] coverUrl | string | 翻译结果封面图,仅在任务状态为SUCCESS时返回 | |
| [+] createTime | string | 是 | 创建任务时间 |
| [+] updateTime | string | 是 | 更新任务时间 |
| [+] translationConfig | TranslationConfig | 是 | 翻译配置 |
| [+] subtitleConfig | SubtitleConfig | 是 | 字幕配置 |
| marker | bool | 是 | 当前页的起始游标 |
| nextMarker | bool | 是 | 下一页的起始游标 |
| isTruncated | bool | 是 | 是否还有下一页 |
请求示例
Http
1GET https://vod.bj.baidubce.com/v2/translation/project/pjt-fi4qxuyam3ce7wqi/tasks HTTP/1.1
2host: vod.bj.baidubce.com
3content-type: application/json
4x-bce-date: 2025-02-18T12:01:34Z
5authorization: bce-auth-v1/ALTAKnRFniUBSDbBSz2oZHUbzt/2025-02-18T12:01:34Z/1800/host/1faf5b1da2420b31a1d9dae46387524db0b0567e3f7dcfc24516ed91ab23fdee
响应示例
JSON
1{
2 "data": [
3 {
4 "taskId": "tsk-fjskqqunmawgg72e",
5 "mediaId": "mda-fizz9i666413d7be",
6 "name": "1",
7 "status": "SUCCESS",
8 "translationConfig": {
9 "sourceLanguage": "zh-CN",
10 "targetLanguage": "ar-SA",
11 "translationTypeList": [
12 "subtitle",
13 "speech"
14 ]
15 },
16 "subtitleConfig": {
17 "recognitionType": "USER",
18 "dialogSubtitleFile": "1\n00:00:03,660 --> 00:00:04,880\n雪儿怎么样了\n\n2\n00:00:06,460 --> 00:00:07,500\n手术很顺利\n\n3\n00:00:07,760 --> 00:00:08,860\n后续恢复好的话\n\n4\n00:00:08,920 --> 00:00:09,700\n有醒来的可能\n\n",
19 "desubtitleConfig": {},
20 "targetSubtitleCompose": true,
21 },
22 "createTime": 1760669583000,
23 "updateTime": 1760671405000,
24 "url": "https://fcxphqks6pfdhqesxg25.exp.bcevod.com/mda-fizz9i666413d7be/_output/compose/mda-fizz9i666413d7be_ar-SA_none_%5Bsubtitle%5D_subtitlecompose_translation.mp4",
25 "coverUrl": "https://fcxphqks6pfdhqesxg25.exp.bcevod.com/mda-fizz9i666413d7be/_output/compose/mda-fizz9i666413d7be_ar-SA_none_%5Bsubtitle%5D_subtitlecompose_translation_cover.jpg"
26 }
27 ],
28 "marker": "tsk-fjskqqunmawgg72e",
29 "nextMarker": "tsk-fjskr6u3vh2i19mh",
30 "isTruncated": true
31}
4. 查询翻译任务详情
由于视频翻译任务为工作流任务,其中包含多个子节点,因此通过此接口不仅能获取最终翻译结果的URL(合成节点产出),还能获取中间结果,例如源视频字幕SRT(视频理解节点产出)、翻译后的字幕SRT(翻译节点产出)以及擦除后视频URL(转码节点产出)。具体参考 查询任务详情
