跳到主要内容

视频超分 API

视频超分把已有视频提升到更高分辨率并补帧,由 Mozia 自建集群提供。 与其他视频模型不同,它的输入是一段视频而不是提示词:画幅、内容、时长都由源视频决定,你只需要选择输出档位。

复用统一的异步视频接口:提交任务,轮询状态,下载结果。

接口​

方法路径作用
POST/v1/video/generations提交超分任务
GET/v1/video/generations/{task_id}查询任务状态与结果
GET/v1/video/generations/{task_id}/content下载结果视频

基础地址:https://mzsjai.com,所有请求都需要 Authorization: Bearer <YOUR_API_KEY>。

模型档位​

模型 ID输出长边说明
mozia/video-upscale-19201920 px1080P 档
mozia/video-upscale-25602560 px2K 档,单价更高

档位由模型 ID 决定,没有额外的分辨率参数。输出画幅跟随源视频,长边缩放到对应档位。 输出帧率为 24 fps。

单价见模型价格。

快速开始​

curl --fail-with-body \
-X POST 'https://mzsjai.com/v1/video/generations' \
-H "Authorization: Bearer ${MOZIA_API_KEY}" \
-H 'Content-Type: application/json' \
-d '{
"model": "mozia/video-upscale-1920",
"prompt": "upscale",
"video_url": "https://example.com/source.mp4",
"duration": 8
}'

提交成功后保存返回的 task_id,随后的查询与下载流程与其他视频模型一致, 详见视频生成。

请求参数​

参数类型必填说明
modelstring是上表中的档位模型 ID
video_urlstring是源视频地址,必须是公网可访问的 HTTP(S) URL
durationnumber是源视频时长(秒),正数,用于计费
promptstring是占位字段,超分不使用其内容,填 "upscale" 即可

:::note prompt 为什么是必填

/v1/video/generations 对所有视频模型统一校验 prompt 非空,缺失会返回 400 prompt is required。超分没有提示词语义,服务端会忽略该字段的内容, 传任意非空字符串均可。

:::

超分没有 ratio、resolution、generate_audio 等参数。画幅与内容由源视频决定, 输出档位由模型 ID 决定。

源视频要求​

必须是公网可访问的 HTTP(S) URL。 超分服务会主动去 GET 这个地址下载源视频, 因此不支持 Data URL、原始 Base64、本地路径和内网地址。 本地文件请先上传到对象存储或使用平台的素材上传能力,取得公网链接后再提交。

单条上限 16 秒。 超过会被服务端拒绝。较长的视频请先切分成不超过 16 秒的片段, 分别超分后再拼接。

时长与计费​

duration 既是必填参数,也是计费依据——费用与传入的 duration 成正比, 按秒计算,2K 档单价约为 1080P 档的两倍。

:::caution duration 必须填源视频的真实时长

平台按 duration 预扣费,不会去核对源视频的实际长度。填大了会多扣,填小了也不会让任务变便宜或变快。 提交前请先读取源视频的真实时长(例如用 ffprobe),向上取整到整秒后传入。

duration 缺失或非正数会返回 400 invalid_duration。

:::

超过 16 秒的请求仍会按传入时长预扣费,随后才被服务端拒绝。请在客户端提前拦截, 避免不必要的扣费与退款流程。

查询和下载​

与其他视频模型完全一致,建议每 5~10 秒轮询一次:

curl --fail-with-body \
'https://mzsjai.com/v1/video/generations/task_a1b2c3d4' \
-H "Authorization: Bearer ${MOZIA_API_KEY}"

status 变为 succeeded 后下载结果:

curl --fail-with-body -L \
'https://mzsjai.com/v1/video/generations/task_a1b2c3d4/content' \
-H "Authorization: Bearer ${MOZIA_API_KEY}" \
-o upscaled.mp4

:::note 刚提交时的状态

任务刚创建的头几秒,查询可能返回尚未就绪的中间状态。这不代表失败, 继续按间隔轮询即可,通常几次之后转为处理中。只有明确返回 failed 才是真正失败。

:::

结果文件明显大于源视频。16 秒的 1080P 输出可达 10 MB 量级,下载请设置足够的超时时间。

错误处理​

状态码code触发条件
400invalid_request缺少 prompt
400invalid_durationduration 缺失、为 0 或非正数
400—源视频地址不可访问,或时长超过 16 秒
403insufficient_user_quota账户余额不足以覆盖本次预扣费
429—触发限流
500 / 502 / 503—服务异常,使用指数退避有限重试

其余通用错误见视频生成。

接入建议​

  • 提交前用 ffprobe 读出源视频真实时长,向上取整后传入 duration,避免多扣费。
  • 在客户端就拦掉超过 16 秒的请求,不要依赖服务端报错。
  • 源视频链接如果带有效期,请确保在任务执行期间保持可访问。
  • 超分是计算密集任务,排队与处理都需要时间,请设置合理的总等待时间并限制轮询频率。