错误处理

错误响应格式

Token8 的错误响应格式与 OpenAI API 对齐,方便 SDK 统一处理:

{
  "error": {
    "message": "Validation failed",
    "type": "invalid_request_error",
    "code": "validation_error",
    "details": [
      { "path": "prompt", "message": "Required" }
    ]
  }
}

错误类型

type说明
invalid_request_error请求参数有误
auth_errorAPI Key 无效、已禁用或过期
billing_error余额不足或定价未配置
routing_error无可用供应商
not_found资源不存在
server_error配置错误(如 JWT_SECRET 缺失)
api_errorToken8 内部未知错误

HTTP 状态码

状态码type处理建议
400invalid_request_error检查请求参数
401auth_error检查 API Key 是否正确
402billing_error余额不足,充值后重试
403auth_errorAPI Key 已禁用或过期
404not_found资源不存在
429billing_errorToken 额度耗尽
500server_error / api_error联系支持或稍后重试
503routing_error无可用供应商,稍后重试

任务级错误

任务执行过程中的错误体现在 GET /v1/tasks/:task_id 的响应中:

{
  "task_id": "task_abc123def456",
  "status": "failed",
  "error": {
    "code": "provider_failure",
    "message": "Upstream provider returned error: content policy violation"
  }
}

任务错误码

code说明是否自动重试
provider_failure上游商家返回错误✅ 自动切换商家
provider_timeout上游超时✅ 自动切换商家
content_policy内容违规被拒绝❌ 不重试
all_providers_failed所有候选商家均失败❌ 返回失败
quota_exhausted执行中余额耗尽❌ 退费

开启「图片/视频生成重试」后,provider_failureprovider_timeout 会自动切换商家,直到达到最大尝试次数。