把一条视频放大到 720P 或 1080P,画面更清晰,声音原样保留。传一个视频链接,或本账号视频生成任务的 task_id;请求立即返回 task_id,之后轮询或等回调拿结果。
两种来源
| 来源 | 怎么传 |
|---|---|
| 公网视频链接 | video_url · http(s) 地址,我们直接下载 |
| 视频生成的成片 | source_task_id · 本账号 7 天内已完成的视频生成任务 |
超分刚生成的视频最省事:把 /v2/video_generation 返回的 task_id 填进 source_task_id,不用自己下载再上传。
video_url 与 source_task_id 必须且只能传一个,两个都传或都不传返回 400。
请求头
Bearer API Key,见「鉴权」。
固定 application/json。
可选值: application/json
请求体
Maosika-Upscale模型名,固定 Maosika-Upscale,可省略。
可选值: Maosika-Upscale
要超分的视频地址:http(s) 公网链接,不接受 base64。与 source_task_id 二选一。
本账号 7 天内已完成的视频生成任务 id,直接超分它的成片。与 video_url 二选一。
1080P目标档位:720P 输出短边 720 像素,1080P 输出短边 1080 像素。
可选值: 720P, 1080P
状态回调地址。握手与推送方式和视频生成相同,见「回调通知」。
原视频要求
| 项目 | 要求 |
|---|---|
| 链接 | http(s) 公网地址;不接受 base64 与内网地址 |
| 文件大小 | ≤ 1 GB |
| 时长 | ≤ 600 秒(10 分钟) |
| 帧率 | ≤ 60 fps |
| 尺寸 | 短边 ≥ 144 像素;长边不超过短边的 3 倍 |
| 目标档位 | 原视频短边必须小于目标:720P 要求短边 < 720,1080P 要求短边 < 1080 |
不符合要求的视频会让任务以 failed 结束,error.code 为 invalid_source,error.message 写明哪一条不满足;这种情况不扣费。
输出
- 短边等于目标档位(720 或 1080 像素),长边按原视频宽高比放大。例:1080P 下 854×480 → 1920×1080,480×832 → 1080×1872。
- MP4 文件,原视频的声音原样保留。
- 成功后
content.url是下载链接,24 小时有效、重查续期;文件保留 7 天。
计费
- 按原视频的秒数计费:不足 1 秒按 1 秒算,最少按 3 秒算。
usage.billable_seconds就是计费秒数。 - 创建时不扣费。读完原视频、知道时长之后,才从开放平台余额扣这一笔。
- 原视频不符合要求(
invalid_source)不扣费;我们这边处理失败全额退回。 - 创建时余额为 0 直接返回 402;有余额但不够这一条的,任务以
insufficient_balance失败,同样不扣费。
两档单价见 价格与计费。
处理时长
一条 15 秒的视频通常几分钟内完成;更长的视频耗时按时长成比例增加。处理中的查询响应里 progress 给出进度。
拿结果
创建成功立即返回 task_id。之后每 10–30 秒 查询一次,或传 callback_url 等我们推送——握手与推送方式和视频生成完全一样,见 回调通知。
失败原因
| error.code | 含义 | 费用 |
|---|---|---|
invalid_source | 原视频不符合要求:下载不到、不是视频、超过 10 分钟、帧率高于 60 fps、已达到或超过目标档位、短边小于 144 像素、长宽比超过 3:1。message 写明具体哪一条。 | 不扣费 |
insufficient_balance | 读完原视频后余额不够扣这一条。充值后重新提交。 | 不扣费 |
queue_timeout | 排队太久没有开始,任务被放弃。可以直接重新提交。 | 不扣费 |
upscale_failed | 我们这边处理失败。可以重新提交;反复出现请带 task_id 联系我们。 | 全额退回 |
响应
成功返回 {"task_id": "…"}。参数不合法 400、Key 无效 401、余额为 0 时 402、同时进行中的超分任务超过 5 条 429;信封与视频生成相同,见 错误码。
curl --request POST \
--url https://api.maosika.com/v2/video_upscale \
--header 'Authorization: Bearer <your api key>' \
--header 'Content-Type: application/json' \
--data '{
"model": "Maosika-Upscale",
"video_url": "https://example.com/my-video-480p.mp4",
"resolution": "1080P"
}'{
"task_id": "1789390012345678"
}