Skip to Content

Flash VSR 视频超分 API

Flash VSR 视频超分 API 用于提升已有视频的分辨率。提交原视频后,可选择 720p1080p2K4K 档位;任务异步执行,通过任务 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,不要通过聊天、截图、前端代码、公开仓库或日志泄露完整密钥。

推荐调用流程

  1. 调用价格接口获取当前 720p、1080p、2K、4K 单价。
  2. 创建超分任务并保存返回的 task_id
  3. 使用 task_id 轮询查询接口。
  4. 任务状态变为 succeeded 后,从 task.content.url 下载视频。

创建超分任务

POST https://cp.compshare.cn/flashvsr/v1/video_upscaling

请求头

名称必填描述
AuthorizationBearer <YOUR_API_KEY>
Content-Type固定为 application/json
Accept建议设置为 application/json
Idempotency-Key幂等键;重试同一次创建请求时保持不变,创建新任务时使用新值

请求参数

名称类型必填描述示例值
modelString固定为 FlashVSR,区分大小写FlashVSR
video_urlString可公开访问的 HTTP(S) 视频 URL,或 Base64 Data URLhttps://example.com/source.mp4
resolutionString目标档位,支持 720p1080p2K4K,不区分大小写1080p

原视频要求

  • 支持 MP4、MOV、M4V、MKV、AVI,单个文件不超过 50 MiB。
  • 视频时长为 4 秒至 24 小时;不足 4 秒会被拒绝。
  • 视频平均帧率不能超过 30 FPS。
  • 视频宽、高均需在 256~5760 像素之间,宽高比需在 2:55:2 之间。
  • 公网 URL 必须能够直接下载,不能依赖登录态、Cookie 或额外请求头,也不能指向回环或内网地址。
  • 本地视频可编码为 data:video/<格式>;base64,<BASE64_DATA> 后提交;JSON 请求体最大为 72 MiB。

平台会把原视频字节上传至公共临时存储,不进行转码、压缩或其他预处理,也不会加入素材库。

目标档位需要产生实际放大效果;如果原视频已达到或超过该档位可生成的尺寸,请选择更高档位或更换原视频。

输出尺寸

档位目标短边最长边上限
720p720 像素3072 像素
1080p1080 像素3072 像素
2K1440 像素3072 像素
4K2160 像素4096 像素

Flash VSR 会保持原视频宽高比,并将输出宽、高向下对齐至 128 像素的整数倍,因此实际尺寸可能略低于按比例计算的理论值。查询成功任务时,以 output_widthoutput_height 为准。

计费规则

档位当前单价
720p8 积分/秒
1080p9 积分/秒
2K10 积分/秒
4K12 积分/秒

计费秒数只取完整秒,直接舍去小数部分。例如,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_idString超分任务 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_idString创建接口返回的任务 ID019xxxxx-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.idString任务 ID
task.modelString固定为 FlashVSR
task.statusString任务状态,详见「任务状态」
task.errorObject失败信息;失败时包含 codemessage
task.resolutionString目标档位,返回 720p1080p2K4K
task.durationInteger计费时长,单位为完整秒
task.widthInteger原视频宽度,单位为像素
task.heightInteger原视频高度,单位为像素
task.output_widthInteger实际输出宽度,超分成功后返回
task.output_heightInteger实际输出高度,超分成功后返回
task.content.urlString视频下载地址,仅成功任务返回
task.created_atInteger任务创建时间,Unix 秒级时间戳
task.updated_atInteger任务更新时间,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_idString任务 ID019xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
actionString固定为 deletedelete
statusString当前任务状态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_secondObject档位到每秒积分价格的映射{"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" }
Last updated on