视频上传 API
The 上传s API 提供了直接上传视频文件并监控处理状态的方式。
所有上传都将异步处理。您将立即收到一个 202 Accepted
响应,视频将在后台进行处理。您应该使用状态端点来监控进度。
上传视频
此端点接受一个 multipart/form-data
请求以上传新视频文件。
POST /uploads
请求体 (multipart/form-data
)
字段 | 类型 | 必填 | 描述 |
---|---|---|---|
video | file | 是 | 要上传的视频文件。 |
folder | string | 是 | 视频应该放置的集合路径(例如,root/my-folder )。 |
示例请求 (.http
)
POST /api/client/v1/uploads
Authorization: Bearer sk-your-api-key-here
Content-Type: multipart/form-data; boundary=...
... (带有文件和文件夹的表单数据) ...
响应: 202 Accepted
上传 API 确认并返回初始状态。您应该存储 id
以稍后检查状态。
{
"message": "已接受上传并正在进行处理。",
"data": {
"id": "9c1fa5c4-a8f1-4b2e-9d6e-1c8a0b9e2d7f",
"status": 1,
"status_text": "pending"
}
}
获取上传状态
检索最近 50 个上传的状态。您可以使用此端点来更新您的 UI。
GET /uploads
示例请求
GET /api/client/v1/uploads
Authorization: Bearer sk-your-api-key-here
响应: 200 OK
{
"data": [
{
"id": "9c1fa5c4-a8f1-4b2e-9d6e-1c8a0b9e2d7f",
"filename": "my_new_video.mp4",
"status": 3,
"status_text": "processing",
"created_at": "2024-08-11T10:00:00Z",
"updated_at": "2024-08-11T10:01:00Z"
},
{
"id": "9c1fa5c3-b9f2-5c3f-8e7f-2d9b1c4e1f8e",
"filename": "my_previous_video.mp4",
"status": 6,
"status_text": "completed",
"created_at": "2024-08-10T15:00:00Z",
"updated_at": "2024-08-10T15:05:00Z"
}
]
}
获取单个上传状态
检索一个特定视频的状态通过其 ID。
GET /uploads/{videoId}
示例请求
GET /api/client/v1/uploads/9c1fa5c4-a8f1-4b2e-9d6e-1c8a0b9e2d7f
响应: 200 OK
{
"data": {
"id": "9c1fa5c4-a8f1-4b2e-9d6e-1c8a0b9e2d7f",
"filename": "my_new_video.mp4",
"status": 6,
"status_text": "completed"
}
}
状态参考
状态码 | 状态文本 | 描述 |
---|---|---|
1 | pending | 上传已排队,等待处理。 |
3 | processing | 视频正在进行转码。 |
5 | uploading | 转码后的文件正在上传到最终存储中。 |
6 | completed | 视频已完全处理并准备播放。 |
7 | failed | 处理过程中发生错误。 |