HTTP 状态码
| 状态码 | 描述 | 常见原因 |
|---|---|---|
200 | 成功 | 请求处理成功 |
400 | 请求格式错误 | JSON 格式错误、Content-Type 不正确 |
401 | 未授权 | API Key 无效、过期或缺失 |
402 | 余额不足 | 账户余额不足,请充值后重试 |
404 | 未找到 | 任务 ID 不存在 |
422 | 参数校验失败 | 缺少必填字段、参数值不合法、模型不存在 |
429 | 请求频率超限 | 超出速率限制,请稍后重试 |
500 | 服务器内部错误 | 服务端未知错误,请稍后重试 |
503 | 服务暂不可用 | 当前模型无可用渠道或上游服务异常,请稍后重试 |
错误响应格式
所有错误响应遵循以下格式:error 字段包含额外的 code 字段:
错误类型
| 错误类型 | 对应状态码 | 描述 |
|---|---|---|
invalid_request_error | 400, 422 | 请求格式错误或参数校验失败 |
authentication_error | 401 | API Key 无效、过期或缺失 |
insufficient_quota | 402 | 账户余额不足 |
not_found | 404 | 请求的资源不存在 |
rate_limit_error | 429 | 请求频率超限 |
server_error | 500 | 服务器内部错误 |
service_unavailable_error | 422 | 模型暂时不可用(无可用渠道) |
提交阶段错误码
提交任务时,如果参数校验通过但渠道匹配失败,会返回422 状态码,error.code 字段包含以下错误码:
| 错误码 | 描述 | 建议操作 |
|---|---|---|
unsupported_advanced_options | 请求中的高级参数(advanced)当前无可用渠道支持 | 响应中的 unsupported_options 列出了不支持的参数名,移除后重试 |
param_constraints_unsatisfiable | 参数值超出当前可用渠道支持的范围 | 检查参数值是否在文档标注的可选值范围内 |
no_compatible_channel | 该模型暂时无可用渠道 | 稍后重试 |
任务相关错误码
查询任务状态时,状态为failed 的任务会在 error.code 字段中包含以下错误码:
| 错误码 | 描述 | 建议操作 |
|---|---|---|
task_failed | 任务执行失败(通用) | 重新发起请求 |
content_policy_violation | 输入内容违反内容策略 | 修改提示词后重试 |
invalid_image_url | 提供的图像/视频 URL 无法访问 | 检查 URL 是否公开可访问 |
file_too_large | 上传的文件超出大小限制 | 减小文件大小 |
unsupported_format | 不支持的文件格式 | 使用支持的格式 |
速率限制
- 速率限制按 API Key 应用
- 被限速时返回
429状态码,请等待后重试 - 如需更高速率限制,请联系客服
最佳实践
- 始终检查 HTTP 状态码 再解析响应体
- 实现指数退避 对
429和5xx错误进行重试 - 记录错误响应 用于调试和排查
- 合理轮询任务状态 建议间隔 3-5 秒,避免过于频繁
- 优雅处理异步任务 生成任务耗时因模型而异,请参考各模型文档中的预计时间