任务管理
更新时间:2025-12-27
任务管理主要是对翻译任务的创建、修改、查询进行管理(目前暂时不支持删除)
1. 创建视频翻译任务
目前翻译源语言支持中和英,翻译目标语言支持中英法德西葡俄日韩泰阿。而翻译类型线上暂时只支持字幕翻译和语音翻译,后续会推出面容翻译。字幕配置中字幕来源方式支持OCR和用户上传两种方式,字幕擦除配置支持全剧字幕擦除、对白字幕擦除和自定义区域擦除三种方式。
请求结构
Http
1POST /v2/translation/tasks HTTP/1.1
2content-type: application/json
3host: vod.bj.baidubce.com
4authorization: <bce-authorization-string>
请求参数
| 字段名 | 类型 | 必要性 | 参数位置 | 详细说明 |
|---|---|---|---|---|
| projectId | string | 是 | RequestBody参数 | 项目ID |
| mediaIdList | string[] | 是 | RequestBody参数 | 媒资ID列表,支持相同翻译配置创建多个任务 |
| translationConfig | object | 是 | RequestBody参数 | 翻译配置 |
| [+] sourceLanguage | string | 是 | RequestBody参数 | 源视频语言
|
| [+] targetLanguage | string | 是 | RequestBody参数 | 翻译目标语言,目前仅部分语言支持语音翻译
|
| [+] translationTypeList | string[] | 是 | RequestBody参数 | 翻译类型
|
| subtitleConfig | string | 是 | RequestBody参数 | 字幕配置 |
| [+] recognitionType | string | 是 | RequestBody参数 | 字幕识别(来源)类型
|
| [+] dialogSubtitleFile | string | RequestBody参数 | 用户上传对白字幕文件,支持SRT格式,将srt文件转为字符串传入即可 | |
| [+] introSubtitleFile | string | RequestBody参数 | 用户上传介绍字幕文件(非对白字幕),支持SRT格式,将srt文件转为字符串传入即可 | |
| [+] desubtitleConfig | string | RequestBody参数 | 字幕擦除配置 | |
| [+][+] desubtitleType | string | 是 | RequestBody参数 | 字幕擦除类型
|
| [+][+] areaList | string | RequestBody参数 | 自定义擦除框的坐标,可以选多个框 | |
| [+][+][+] x | string | RequestBody参数 | 自定义擦除框最左侧距离画面左边界距离(横坐标) | |
| [+][+][+] y | string | RequestBody参数 | 自定义擦除框最上侧距离画面上边界距离(纵坐标) | |
| [+][+][+] width | string | RequestBody参数 | 自定义擦除框宽度 | |
| [+][+][+] height | string | RequestBody参数 | 自定义擦除框高度 | |
| [+] targetSubtitleCompose | string | RequestBody参数 | 是否开启硬字幕(最后合成部分是否贴字幕),默认true | |
| [+] fontConfig | object | RequestBody参数 | 字体配置 | |
| [+][+] subtitle | object | RequestBody参数 | 字幕字体配置 | |
| [+][+][+] autoAdaptFontSize | boolean | RequestBody参数 | 是否自动适配字体大小(按源视频字幕大小回帖),默认true | |
| [+][+][+] fontSize | integer | RequestBody参数 | 字体大小,范围1-1080像素值,需将autoAdaptFontSize设置为false,此字段才生效 | |
| [+][+][+] fontFamily | string | RequestBody参数 | 字体,取值参考视频云剪辑/附录/字幕字体 | |
| [+][+][+] fontColor | string | RequestBody参数 | 字体颜色,格式#RRGGBB | |
| [+][+][+] fontSpacing | integer | RequestBody参数 | 字体间距,单位像素,默认0 | |
| [+][+][+] fontBold | boolean | RequestBody参数 | 是否加粗 | |
| [+][+][+] fontItalic | boolean | RequestBody参数 | 是否斜体 | |
| [+][+][+] fontUnderline | boolean | RequestBody参数 | 是否下划线 | |
| [+][+][+] fontStrikeOut | boolean | RequestBody参数 | 是否删除线 | |
| [+][+][+] fontAlpha | number | RequestBody参数 | 字体透明度,范围0-1,默认0不透明 | |
| [+][+][+] fontOutlineColor | string | RequestBody参数 | 字体描边颜色,格式#RRGGBB,默认#000000 | |
| [+][+][+] fontOutlineAlpha | number | RequestBody参数 | 字体描边透明度,范围0-1,默认0不透明 | |
| [+][+][+] fontOutlineWidth | integer | RequestBody参数 | 字体描边宽度,默认2像素 | |
| [+][+] castName | object | RequestBody参数 | 角色名字体配置(结构同subtitle) | |
| [+][+] castDescription | object | RequestBody参数 | 角色描述字体配置(结构同subtitle) |
响应参数
| 参数 | 类型 | 必要性 | 详细说明 |
|---|---|---|---|
| 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 }
29}
响应示例
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 | 是 | RequestBody参数 | 项目ID列表 |
| updateType | string | 是 | RequestBody参数 | 更新类型
|
| subtitleFile | string | 是 | RequestBody参数 | 用户上传字幕文件(根据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>
请求参数
| 字段名 | 类型 | 必要性 | 参数位置 | 详细说明 |
|---|---|---|---|---|
| projectId | string | 是 | Path参数 | 任务 ID |
| maxSize | int | Query参数 | 查出的页面大小,取值[1, 100],默认10 | |
| taskId | string | Query参数 | 查询指定任务 | |
| mediaId | string | Query参数 | 查询指定媒资的所有任务 | |
| marker | string | Query参数 | 从指定游标开始查询 |
响应参数
| 字段名 | 类型 | 必要性 | 详细说明 |
|---|---|---|---|
| data | object[] | 是 | 翻译任务数据详情 |
| [+] taskId | string | 是 | 翻译任务ID |
| [+] mediaId | string | 是 | 翻译媒资ID |
| [+] name | string | 是 | 翻译任务名称,一般为媒资名称 |
| [+] status | string | 是 | 翻译任务状态
|
| [+] url | string | 翻译最终结果,仅在任务状态为SUCCESS时返回 | |
| [+] coverUrl | string | 翻译结果封面图,仅在任务状态为SUCCESS时返回 | |
| [+] createTime | string | 是 | 创建任务时间 |
| [+] updateTime | string | 是 | 更新任务时间 |
| [+] translationConfig | object | 是 | 翻译配置 |
| [+][+] sourceLanguage | string | 是 | 源视频语言
|
| [+][+] targetLanguage | string | 是 | 翻译目标语言
|
| [+][+] translationTypeList | string[] | 是 | 翻译类型
|
| [+] subtitleConfig | string | 是 | 字幕配置 |
| [+][+] recognitionType | string | 是 | 字幕识别(来源)类型
|
| [+][+] dialogSubtitleFile | string | 用户上传对白字幕文件,支持SRT格式,将srt文件转为字符串传入即可 | |
| [+][+] introSubtitleFile | string | 用户上传介绍字幕文件(非对白字幕),支持SRT格式,将srt文件转为字符串传入即可 | |
| [+][+] desubtitleConfig | string | 字幕擦除配置 | |
| [+][+][+] desubtitleType | string | 是 | 字幕擦除类型
|
| [+][+][+] areaList | string | 自定义擦除框的坐标,可以选多个框 | |
| [+][+][+][+] x | string | 自定义擦除框最左侧距离画面左边界距离(横坐标) | |
| [+][+][+][+] y | string | 自定义擦除框最上侧距离画面上边界距离(纵坐标) | |
| [+][+][+][+] width | string | 自定义擦除框宽度 | |
| [+][+][+][+] height | string | 自定义擦除框高度 | |
| [+][+] targetSubtitleCompose | bool | 是否开启硬字幕(最后合成部分是否贴字幕) | |
| 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(转码节点产出)。具体参考 查询任务详情
