Janvia

接口

错误码

出错时的 HTTP 状态码、响应格式,以及什么情况下该重试。

出错时返回对应的 HTTP 状态码,响应体格式如下:

{
  "error": {
    "code": "insufficient_balance",
    "message": "Insufficient balance. Please top up your account.",
    "type": "invalid_request_error"
  }
}

5xx 错误的 type 是 server_error,其余是 invalid_request_error。

  • 提交时出错(4xx):不会创建任务,不扣费。
  • 运行中失败:任务的 status 变成 failed,error 里是同样格式的 code 和 message,费用全额退回。
HTTPcode含义
400invalid_request请求体或参数不合法,message 会说明哪里有问题。
400route_not_offered指定的线路不提供这个模型。
400no_route_selected你的线路设置把这个模型的线路都排除了。
400price_above_max所选线路都超过了你设的最高价。
400unsupported_parameters所选线路都不支持这组参数。
400content_policy_violation请求被内容审核拒绝。
401unauthorizedAPI 密钥缺失或无效。
402insufficient_balance余额不足,请充值后再试。
402key_quota_exceeded这个 API 密钥已达到消费上限。
403forbidden这个密钥不能使用该模型,或不允许从这个 IP 调用。
403account_blocked这个账户的 API 访问已被暂停。
404model_not_found没有这个在售模型。
404task_not_found你的账户里没有这个任务。
404file_not_found没有这个上传文件,或已过期。
409idempotency_conflict这个 Idempotency-Key 已用于另一个不同的请求。
429rate_limited请求太频繁,请降低频率。
429too_many_tasks排队的任务太多,请稍后再试。
502generation_failed生成失败,没有扣费。
503no_available_route暂时没有线路可以处理这个模型,没有扣费。
504timeout生成超时,没有扣费。
500internal_error我们这边出了问题。

什么时候重试

  • 429:稍等再试,并降低请求频率。
  • 502、503、504:可以重新提交一个新任务。之前那个已经退款。
  • 400、402、403、404:先修改请求、充值或调整密钥设置,原样重试没有用。