Flash VSR 视频超分 API
Flash VSR 视频超分 API 用于提升已有视频的分辨率。提交原视频后,可选择 720p、1080p、2K 或 4K 档位;任务异步执行,通过任务 ID 查询结果。
当前开放四个接口:
| 功能 | 方法 | 路径 |
|---|---|---|
| 创建超分任务 | POST | /flashvsr/v1/video_upscaling |
| 查询超分任务 | GET | /flashvsr/v1/query/video_upscaling/{task_id} |
| 取消超分任务 | DELETE | /flashvsr/v1/video_upscaling/{task_id} |
| 查询超分价格 | GET | /flashvsr/v1/pricing |
接入信息
请求地址
https://cp.compshare.cn身份认证
所有请求都需要在 Authorization 请求头中携带以 sk-ml- 开头的模型 API Key:
Authorization: Bearer <YOUR_API_KEY>请仅在服务端保存和使用 API Key,不要通过聊天、截图、前端代码、公开仓库或日志泄露完整密钥。
推荐调用流程
- 调用价格接口获取当前 720p、1080p、2K、4K 单价。
- 创建超分任务并保存返回的
task_id。 - 使用
task_id轮询查询接口。 - 任务状态变为
succeeded后,从task.content.url下载视频。
创建超分任务
POST https://cp.compshare.cn/flashvsr/v1/video_upscaling请求头
| 名称 | 必填 | 描述 |
|---|---|---|
| Authorization | 是 | Bearer <YOUR_API_KEY> |
| Content-Type | 是 | 固定为 application/json |
| Accept | 否 | 建议设置为 application/json |
| Idempotency-Key | 否 | 幂等键;重试同一次创建请求时保持不变,创建新任务时使用新值 |
请求参数
| 名称 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| model | String | 是 | 固定为 FlashVSR,区分大小写 | FlashVSR |
| video_url | String | 是 | 可公开访问的 HTTP(S) 视频 URL,或 Base64 Data URL | https://example.com/source.mp4 |
| resolution | String | 是 | 目标档位,支持 720p、1080p、2K、4K,不区分大小写 | 1080p |
原视频要求
- 支持 MP4、MOV、M4V、MKV、AVI,单个文件不超过 50 MiB。
- 视频时长为 4 秒至 24 小时;不足 4 秒会被拒绝。
- 视频平均帧率不能超过 30 FPS。
- 视频宽、高均需在 256~5760 像素之间,宽高比需在
2:5~5:2之间。 - 公网 URL 必须能够直接下载,不能依赖登录态、Cookie 或额外请求头,也不能指向回环或内网地址。
- 本地视频可编码为
data:video/<格式>;base64,<BASE64_DATA>后提交;JSON 请求体最大为 72 MiB。
平台会把原视频字节上传至公共临时存储,不进行转码、压缩或其他预处理,也不会加入素材库。
目标档位需要产生实际放大效果;如果原视频已达到或超过该档位可生成的尺寸,请选择更高档位或更换原视频。
输出尺寸
| 档位 | 目标短边 | 最长边上限 |
|---|---|---|
720p | 720 像素 | 3072 像素 |
1080p | 1080 像素 | 3072 像素 |
2K | 1440 像素 | 3072 像素 |
4K | 2160 像素 | 4096 像素 |
Flash VSR 会保持原视频宽高比,并将输出宽、高向下对齐至 128 像素的整数倍,因此实际尺寸可能略低于按比例计算的理论值。查询成功任务时,以 output_width 和 output_height 为准。
计费规则
| 档位 | 当前单价 |
|---|---|
720p | 8 积分/秒 |
1080p | 9 积分/秒 |
2K | 10 积分/秒 |
4K | 12 积分/秒 |
计费秒数只取完整秒,直接舍去小数部分。例如,15.9 秒视频按 15 秒计费:720p 预计消耗 120 积分,1080p 预计消耗 135 积分,2K 预计消耗 150 积分,4K 预计消耗 180 积分。单价调整时,以价格接口的实时返回为准。
创建任务时会预占预计消耗的积分。任务成功后完成扣减;任务最终失败或取消后,预占积分会被释放。
公网 URL 请求示例
curl -X POST 'https://cp.compshare.cn/flashvsr/v1/video_upscaling' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Idempotency-Key: flash-vsr-001' \
-d '{
"model": "FlashVSR",
"video_url": "https://example.com/source.mp4",
"resolution": "4K"
}'本地文件请求体示例
先读取本地文件的原始字节并进行 Base64 编码,再放入 Data URL:
{
"model": "FlashVSR",
"video_url": "data:video/mp4;base64,<BASE64_DATA>",
"resolution": "720p"
}响应参数
| 名称 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| task_id | String | 超分任务 ID,后续查询和取消任务时使用 | 019xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
{
"task_id": "019xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}查询超分任务
任务成功后,task.content.url 会返回视频下载地址。
GET https://cp.compshare.cn/flashvsr/v1/query/video_upscaling/{task_id}路径参数
| 名称 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| task_id | String | 是 | 创建接口返回的任务 ID | 019xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
请求示例
curl 'https://cp.compshare.cn/flashvsr/v1/query/video_upscaling/<TASK_ID>' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Accept: application/json'响应参数
| 名称 | 类型 | 描述 |
|---|---|---|
| task.id | String | 任务 ID |
| task.model | String | 固定为 FlashVSR |
| task.status | String | 任务状态,详见「任务状态」 |
| task.error | Object | 失败信息;失败时包含 code 和 message |
| task.resolution | String | 目标档位,返回 720p、1080p、2K 或 4K |
| task.duration | Integer | 计费时长,单位为完整秒 |
| task.width | Integer | 原视频宽度,单位为像素 |
| task.height | Integer | 原视频高度,单位为像素 |
| task.output_width | Integer | 实际输出宽度,超分成功后返回 |
| task.output_height | Integer | 实际输出高度,超分成功后返回 |
| task.content.url | String | 视频下载地址,仅成功任务返回 |
| task.created_at | Integer | 任务创建时间,Unix 秒级时间戳 |
| task.updated_at | Integer | 任务更新时间,Unix 秒级时间戳 |
成功响应示例
{
"task": {
"id": "019xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"model": "FlashVSR",
"status": "succeeded",
"resolution": "4K",
"duration": 15,
"width": 1280,
"height": 720,
"output_width": 3840,
"output_height": 2048,
"content": {
"url": "https://example.com/upscaled-video.mp4"
},
"created_at": 1786686200,
"updated_at": 1786686260
}
}取消超分任务
取消尚未结束的任务。该操作不会物理删除任务历史记录。
DELETE https://cp.compshare.cn/flashvsr/v1/video_upscaling/{task_id}请求示例
curl -X DELETE \
'https://cp.compshare.cn/flashvsr/v1/video_upscaling/<TASK_ID>' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Accept: application/json'响应参数
| 名称 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| task_id | String | 任务 ID | 019xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
| action | String | 固定为 delete | delete |
| status | String | 当前任务状态 | cancelled |
{
"task_id": "019xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"action": "delete",
"status": "cancelled"
}任务已被执行节点领取时,取消接口第一次返回的 status 可能仍为 running。这表示取消请求已经提交,请稍后查询任务,直到状态变为 cancelled。
查询超分价格
返回当前可用档位的每秒积分价格。
GET https://cp.compshare.cn/flashvsr/v1/pricing请求示例
curl 'https://cp.compshare.cn/flashvsr/v1/pricing' \
-H 'Authorization: Bearer <YOUR_API_KEY>' \
-H 'Accept: application/json'响应参数
| 名称 | 类型 | 描述 | 示例值 |
|---|---|---|---|
| points_per_second | Object | 档位到每秒积分价格的映射 | {"720p":8,"1080p":9,"2K":10,"4K":12} |
{
"points_per_second": {
"720p": 8,
"1080p": 9,
"2K": 10,
"4K": 12
}
}任务状态
| 状态 | 描述 |
|---|---|
queued | 任务正在排队 |
running | 任务正在处理或上传结果 |
succeeded | 超分成功,可通过查询接口获取视频地址 |
failed | 超分失败,查看 task.error 获取失败原因 |
cancelled | 任务已取消 |
典型状态流转:
queued → running → succeeded
queued → cancelled
running → cancelled
queued / running → failed错误响应
请求格式或参数校验失败时,返回统一错误结构。例如提交不支持的 8K 档位:
{
"type": "error",
"error": {
"type": "bad_request_error",
"message": "resolution must be 720p, 1080p, 2K, or 4K",
"http_code": "400"
},
"request_id": "request-xxxx"
}下游服务的业务错误可能保持 CompShare API 原始格式返回:
{
"RetCode": 8039,
"Message": "job not found",
"request_uuid": "request-xxxx"
}