错误与限制

VideoUpscaler API 的错误格式、状态码、速率限制与重试建议。

错误格式

所有错误都使用相同的 JSON 结构。请在代码中依据 code 判断;message 是给人看的,内容可能会变。

{
  "error": {
    "code": "insufficient_credits",
    "message": "Not enough credits for this video. Buy credits to continue."
  }
}

状态码

状态码错误码含义是否重试?
400invalid_request请求格式有误否——请修正请求
401unauthorizedAPI 密钥 缺失或无效否
402insufficient_credits积分不足购买积分后重试
403paid_plan_required账号从未购买过积分或订阅购买积分后重试
403invalid_upload_token上传 URL 无效或已过期重新申请上传 URL
403invalid_stream_token事件流 URL 无效或已过期重新打开 /tasks/{id}/events
404not_found你的账号下没有该任务否
409idempotency_conflictIdempotency-Key 被用于不同参数的请求换一个新 Key
411invalid_request上传的 PUT 没有请求体或缺少 Content-Length否——请修正请求
413file_too_large视频超过大小限制否
422video_fetch_failed无法下载 video_url修正 URL 后重试
422unsupported_video不是可读取的 MP4、MOV 或 WebM否
422video_too_long视频时长超过该分辨率的上限否
422video_not_found该 video_url 下没有上传任何文件上传完成后重试
429rate_limited请求过多是,等待 Retry-After 秒后重试
500internal_error我们这边出了问题是,使用相同的 Idempotency-Key 重试
502upstream_error处理未能启动,已扣费用均已退还是,需换一个新的 Idempotency-Key
504upstream_timeout下载 video_url 耗时过长是,或换一个更快的托管服务

限制

限制项值
请求频率每个 API 密钥 约每分钟 120 次
视频时长1080p 为 1200 秒,2k 和 4k 为 600 秒
远程 video_url 大小500MB
上传文件大小100MB
上传 URL 有效期1 小时
有效 API 密钥 数量每个账号 20 个

安全重试

调用 /upscale 时务必带上 Idempotency-Key。如果请求超时或返回 500 或 504,请使用相同的 Key 重试:你会拿到已经创建的那个任务,而不会被重复扣费。

502 upstream_error 则不同:任务已经创建,但启动失败并已退款,用同一个 Key 会一直拿到这个失败的任务。请换一个新的 Key 重试。