通用视频接口 · OpenAI 格式

错误码

OpenAI 格式的接口出错时,返回 HTTP 4xx 或 5xx 状态码和错误对象,格式与 OpenAI 相同,OpenAI SDK 会把它转成异常。

错误格式

返回结果是一个 error 对象,例如 Seedance 2.0 Fast 传了 1080p:

{
  "error": {
    "message": "模型 doubao-seedance-2-0-fast-260128 支持的分辨率:480p、720p",
    "type": "invalid_request_error",
    "code": "unsupported_resolution",
    "request_id": "5oAolP1vT0aPGNVd"
  }
}
字段说明
message错误信息,说明具体原因
type错误类型,和 HTTP 状态码对应,见下表
code错误码,见错误码列表
request_id请求 ID,和响应头 X-Request-ID 相同,反馈问题时请提供
HTTP 状态码type
400invalid_request_error
401authentication_error
402insufficient_quota
403permission_error
404invalid_request_error
409invalid_request_error
429rate_limit_error
500server_error
503server_error

错误码列表

HTTP 状态码code说明
400invalid_bodybody_too_largeinvalid_argument请求体不是合法的 JSON 或 multipart/form-data、超过 32 MB,或者参数的类型不对
400model_requiredprompt_requiredprompt_too_long没有传 model;当前生成方式需要提示词;提示词超过字数上限
400invalid_secondsunsupported_secondsinvalid_size时长或 size 的格式不对,或者模型不支持这个时长
400unsupported_resolutionunsupported_aspect_ratiounsupported_audiounsupported_parameter模型不支持这个分辨率、画幅、声音设置,或者不支持 negative_prompt、seed
400unsupported_modeinvalid_task_type模型不支持这种生成方式,或者 omni_reference_task_type 的取值不对
400invalid_imageimage_too_largeunsupported_imageduplicate_image图片无法识别、超过 10 MB、格式不支持,或者同时传了 input_reference 和 first_frame
400first_frame_requiredframes_with_referencesreference_requiredreference_video_required只有尾帧没有首帧、首尾帧和参考素材混用,或者缺少当前生成方式需要的参考素材
400too_many_referencesreference_video_too_longinvalid_reference_videoinvalid_reference_audioreference_too_large参考素材超过模型的上限,或者参考视频、音频无法读取、格式不对、太大
400content_policy_violation提交时被模型的内容审核拦截,message 里有具体原因
400invalid_request请求的参数或素材不被模型接受,message 里有具体原因
400invalid_limitinvalid_orderinvalid_cursorunsupported_variant视频列表或下载视频的查询参数不对
401invalid_api_key缺少 API Key,或者 API Key 无效
402insufficient_balance账户余额不足,充值后重试
403api_key_disabledapi_key_expiredAPI Key 已禁用或已过期
403api_key_quota_exceededAPI Key 的额度已用完,可以在控制台 → API Keys调高额度
403model_not_allowedip_not_allowedaccount_disabledAPI Key 不能使用这个模型、请求的 IP 不在 API Key 的白名单里,或者账号已被禁用
404model_not_found模型不存在或已下线
404video_not_foundroute_not_found视频不存在或不属于当前账号,或者接口路径写错了
409video_not_ready视频还没有生成完成,不能下载
429too_many_requests请求过于频繁,按 Retry-After 响应头给出的秒数等待后重试
429channels_busy当前排队的任务较多,稍后重试
500internal_error服务内部错误,稍后重试;多次失败时请带上 request_id 联系客服
503no_available_channelupstream_unavailable模型暂时没有可用资源,或者模型服务暂时不可用,稍后重试

创建接口返回错误时不扣费。429、500 和 503 可以稍后重试,其他错误需要先按 message 修改请求,原样重试仍会失败。视频生成失败时的错误码见查询视频的失败原因。

处理错误

OpenAI SDK 收到错误响应时抛出 openai.APIStatusError(及其子类),可以从中取出 HTTP 状态码、错误码、错误信息和 request_id:

捕获错误
import os

import openai
from openai import OpenAI

client = OpenAI(
    base_url="https://your-domain/v1",
    api_key=os.environ["API_KEY"],
)

try:
    video = client.videos.create(
        model="doubao-seedance-2-0-260128",
        prompt="清晨的海边,一只金毛犬沿着浪花奔跑,镜头缓慢跟随,阳光穿过薄雾",
    )
    print(video.id, video.status)
except openai.APIStatusError as e:
    # e.body 是返回结果里的 error 对象
    print(e.status_code, e.code, e.body["message"])
    print("request_id:", e.request_id)
  • SDK 默认会对 409、429 和 5xx 自动重试 2 次,重试仍失败才抛出异常;可以在创建客户端时用 max_retries 调整。
  • 没有收到返回结果的网络错误(超时、连接失败等)抛出 openai.APIConnectionError,没有错误码,需要单独处理。