视频上传 API
COS 直传视频三步流程(获取临时密钥、直传、回调入库)、视频入库、视频列表查询、编辑与删除接口
视频文件直接上传至 COS 对象存储,分三步完成:
1. 获取 COS 上传临时密钥 GET /project/video/uploadCredentials.html
2. 使用临时密钥直传文件至 COS(可使用 cos-js-sdk-v5 等对象存储 SDK)
3. 上传完成回调 GET /project/video/uploadComplete.html
上传回调完成后,调用 新增视频 接口将文件登记为项目视频,之后即可通过视频列表接口查询视频及其翻译各阶段状态。
获取上传临时密钥
GET /project/video/uploadCredentials.html
上传第一步:获取 COS 上传临时密钥,后续使用该密钥直传文件。
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| projectId | query | string | 是 | 项目 id |
返回示例
200 Response
{
"id": "string",
"code": 0,
"msg": "string",
"data": {}
}
返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | BaseReturnModel |
上传完成回调
GET /project/video/uploadComplete.html
上传第三步:文件直传完成后回调,平台会校验文件有效性并完成入库登记。
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| fileId | query | string | 是 | 文件 id |
| projectId | query | string | 是 | 项目 id |
| sha256 | query | string | 是 | 文件 SHA256 |
| fileName | query | string | 是 | 文件名 |
返回示例
200 Response
{
"id": "string",
"code": 0,
"msg": "string",
"data": {}
}
返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | BaseReturnModel |
新增视频
GET /project/video/add.html
将已上传的文件批量入库为项目视频;fileSha256s/fileNames/previewFileIds 传入时数量须与 fileIds 一致。
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| projectId | query | string | 是 | 项目 id |
| fileIds | query | arraystring | 是 | 文件 id 列表 |
| previewFileIds | query | arraystring | 否 | 预览文件 id 列表(数量须与 fileIds 一致) |
| fileSha256s | query | arraystring | 否 | 文件 SHA256 列表(数量须与 fileIds 一致) |
| fileNames | query | arraystring | 否 | 文件名列表(数量须与 fileIds 一致) |
返回示例
200 Response
{
"id": "string",
"code": 0,
"msg": "string",
"data": {}
}
返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | BaseReturnModel |
视频列表
GET /project/video/data.html
分页查询项目下视频(含擦除/校准/翻译/压制四阶段状态、付费状态、剩余免费重试次数等)。
本接口同时也是翻译流程的状态轮询接口:发起翻译后轮询本接口获取四阶段进度,详见 视频翻译任务 API。
分页与过滤通用参数(page/limit/dataEqual/dataLike/dataRange/sort/order)见 概述-分页与过滤参数。
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| page | query | integer | 否 | 页码,从 1 开始 |
| limit | query | integer | 否 | 每页数量 |
| sort | query | string | 否 | 排序字段 |
| order | query | string | 否 | 排序方向 |
| dataEqual | query | string | 否 | 精确过滤条件 JSON 串,如 {"projectId":"xxx"} |
| dataLike | query | string | 否 | 模糊过滤条件 JSON 串 |
| dataRange | query | string | 否 | 范围过滤条件 JSON 串 |
返回示例
200 Response
{
"id": "string",
"code": 0,
"msg": "string",
"data": {}
}
返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | BaseReturnModel |
重命名视频
GET /project/video/edit.html
重命名视频。
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| id | query | string | 是 | 视频 id |
| sourceFileName | query | string | 是 | 新的视频名称 |
返回示例
200 Response
{
"id": "string",
"code": 0,
"msg": "string",
"data": {}
}
返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | BaseReturnModel |
删除视频
GET /project/video/del.html
批量删除视频记录。
请求参数
| 名称 | 位置 | 类型 | 必选 | 说明 |
|---|---|---|---|---|
| ids | query | arraystring | 是 | 视频 id 列表 |
返回示例
200 Response
{
"id": "string",
"code": 0,
"msg": "string",
"data": {}
}
返回结果
| 状态码 | 状态码含义 | 说明 | 数据模型 |
|---|---|---|---|
| 200 | OK | none | BaseReturnModel |