错误码

开放 API 的错误统一用秒做自己的字符串错误码表示:HTTP 状态码说明大类,error.code 说明具体原因。

错误格式

接口出错时返回非 2xx 状态码和统一的错误体。request_id 与响应头 X-Request-Id 相同,联系我们排查问题时请提供。文本模型兼容接口的错误体结构见文本模型。

错误返回示例
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json
X-Request-Id: req_xaw1zhb0bh6app6dnbxtq7yj

{
  "error": {
    "code": "invalid_params",
    "message": "画面描述不能为空",
    "request_id": "req_xaw1zhb0bh6app6dnbxtq7yj",
    "details": [
      {
        "field": "prompt",
        "message": "画面描述不能为空"
      },
      {
        "field": "ratio",
        "message": "画面比例不在可选范围内(可选:1:1、3:4、4:3、9:16、16:9)"
      }
    ]
  }
}
字段类型说明
error.codestring错误码,见下表,程序判断请以它为准
error.messagestring中文说明,可直接展示给用户;措辞可能调整,请勿用于程序判断
error.request_idstring请求编号
error.detailsarray只在参数错误(invalid_params)时出现:逐个字段的 {field, message}

错误码表

以下错误都不扣点;任务受理后才失败的,冻结的点数全额退回。

HTTPerror.code说明建议处理
400bad_request文本模型接口的请求体不是合法的 JSON 对象(任务接口按缺少字段返回 invalid_params)修正请求体后重试
401unauthorized缺少 Key,或 Key 无效、已停用、已过期、已删除;Key 所属账号已停用检查 Key 是否正确、是否在有效期内
401signature_invalidKey 开启了「必须签名」但签名头缺失、签名不匹配、时间戳与服务器相差超过 300 秒,或随机串 10 分钟内重复按「鉴权与签名」修正签名后重试
402insufficient_points点数(含授信额度)不足;不冻结、不开始生成充值后重试
402key_quota_exceededKey 的额度已用完(额度可按日 / 周 / 月自动重置)在开放平台调整额度,或等待重置
403permission_denied该 Key 的可调模型不包含这个模型在开放平台调整 Key 的可调模型
403account_limited账号已被限制发起生成联系平台客服
403app_not_activated场景应用未开通或已过期(只对开放 API 与在线测试)调用开通接口或在开放平台开通 / 续费后重试
404not_found任务、文件或接口不存在,或不属于本账号检查编号与请求地址
404model_unavailable模型不存在、已下架、未对开放 API 开放,或对你的渠道等级不可见换一个模型,或调用 GET /v1/models 查看可用模型
405method_not_allowed接口不支持该请求方法检查请求方法(GET / POST)
409idempotency_conflict同一个 Idempotency-Key 已用于不同的模型或参数换一个幂等键
409task_not_cancelable任务已结束,或已提交生成且无法取消无需重试,以任务最终状态为准
422invalid_params参数错误:缺少必填字段、类型或取值超出范围(details 里逐字段说明)按 details 修正参数后重试
422content_rejected提示词或参考素材未通过内容安全审核;不扣点修改内容后重试
429rate_limited每分钟请求数超过 Key 的限速,响应头带 Retry-After(秒)按 Retry-After 等待后重试
429concurrency_limited进行中的任务与文本调用数超过 Key 或账户的并发上限等进行中的调用结束后再提交
500service_unavailable系统或模型服务繁忙(HTTP 500 或 503);本次未扣点稍后退避重试(如 1、2、4 秒)

任务失败原因

异步任务受理后才发生的失败,不以 HTTP 错误返回,而是体现在任务对象的 error.code 里(状态为 failed 或 canceled,查询接口本身返回 200)。冻结的点数全额退回。

error.code说明建议处理
invalid_params参数不符合要求,请调整后重试(已退回点数)修正参数后重新提交
content_rejected内容未通过安全审核,请修改描述后重试(已退回点数)修改提示词或素材后重新提交
insufficient_points点数不足,任务未开始,未扣点充值后重新提交
timeout生成超时,已自动退回点数,请稍后重试稍后重新提交
service_unavailable该模型暂不可用,已自动退回点数稍后重新提交,或换一个模型
capacity_shortage平台算力暂时不足,已自动退回点数,请稍后再试稍后重新提交
generation_failed生成失败,已自动退回点数,请稍后重试稍后重新提交
no_result没有找到相关内容,换个链接或关键词再试试(已退回点数)检查链接、编号或换个关键词后重新提交
canceled任务已取消,点数已退回无需处理

重试建议

  • rate_limited、concurrency_limited、service_unavailable 可以退避重试(如 1 秒、2 秒、4 秒……;rate_limited 按响应头 Retry-After)。提交任务时请带上 Idempotency-Key,避免重复创建。
  • 其他 4xx 错误重试不会成功,请先按 message 修正请求。