视频翻译任务 API
发起视频翻译、取消队列任务、失败重试接口,以及擦除/校准/翻译/压制四阶段进度说明
视频翻译任务 API
视频翻译为异步任务:调用开始翻译接口后任务进入队列,由后台依次执行,通过 视频列表 接口轮询各阶段状态。
翻译流程分四个阶段依次执行:
擦除(eraseStatus)→ 校准(reviewStatus)→ 翻译(translateStatus)→ 压制(embedStatus)
擦除原视频字幕 VLM 校准 OCR 结果 字幕翻译 将翻译字幕压制回视频
各阶段状态枚举(init/queue/processing/success/fail)见 概述-翻译四阶段状态。
开始翻译
GET /project/video/translate.html
开始翻译未开始的视频、重试失败的视频。调用后任务进入队列,通过视频列表接口轮询进度。
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| projectId | query | string | 是 | 项目 id |
| ids | query | arraystring | 否 | 视频 id 列表(不传则处理项目下全部符合条件的视频) |
返回示例
200 Response
{
"id": "string",
"code": 0,
"msg": "string",
"data": {}
}
返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | BaseReturnModel |
取消翻译
GET /project/video/cancelTranslate.html
取消队列中的视频翻译任务(已开始处理中的任务不可取消)。
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| projectId | query | string | 是 | 项目 id |
| ids | query | arraystring | 否 | 视频 id 列表(不传则取消项目下全部队列中任务) |
返回示例
200 Response
{
"id": "string",
"code": 0,
"msg": "string",
"data": {}
}
返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | BaseReturnModel |
重试
GET /project/video/retry.html
对视频重新发起翻译。扣费规则:
- 未付费视频首次扣费;
- 超过免费重试次数的全成功视频重新扣费;
- 管理员跳过扣费且不累加重试次数。
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| projectId | query | string | 是 | 项目 id |
| ids | query | arraystring | 是 | 视频 id 列表 |
| fromStage | query | string | 否 | 从指定阶段开始重试 |
返回示例
200 Response
{
"id": "string",
"code": 0,
"msg": "string",
"data": {}
}
返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | BaseReturnModel |
进度轮询建议
发起翻译后,建议按以下方式轮询进度:
- 调用 视频列表
GET /project/video/data.html,通过dataEqual按 projectId 过滤; - 检查各视频的
eraseStatus、reviewStatus、translateStatus、embedStatus四个字段; - 四个阶段全部为
success即翻译完成,可进入 成品下载;任一阶段fail可调用 重试 接口; - 任务仍在队列(
queue)时如需撤回,可调用 取消翻译 接口。
免费重试次数:
remainingFreeRetryCount为剩余免费重试次数,计算方式为max(0, maxSuccessRetry - retryCount)(retryCount 为 null 时按 0 处理),由视频列表接口回填。