错误码参考
查询常见 HTTP 状态、异步任务错误码和平台程序错误码。
错误响应通常同时包含 HTTP 状态和响应体中的程序错误码。应用应先判断 HTTP 状态,再读取实际返回的 type、code 和 message;不同协议或上游返回的字段可能不同。
如果需要按现象排查问题,请先阅读错误与排障。本页用于查询错误含义,不替代具体 Endpoint 的响应说明。
HTTP 状态
| HTTP 状态 | 常见含义 | 常见原因 | 建议处理 |
|---|---|---|---|
400 | 请求无效 | JSON、必填字段、参数类型、文件格式或输入内容不符合要求 | 根据错误信息修正请求,不原样重试 |
401 | 认证失败 | API Key 缺失、无效,或者认证 Header 不符合协议要求 | 检查 Bearer 或协议专属 Header,并更换无效 Key |
403 | 权限或额度不足 | 账户、Key、模型权限、IP 范围或可用额度不满足请求 | 检查账户与 Key 的限制,确认目标模型可用 |
404 | 资源不存在 | Endpoint、模型 ID、任务 ID 或 Video ID 不存在 | 核对最终 URL、资源 ID 和资源所属账户 |
429 | 请求受到限制 | 请求频率、并发、额度或服务容量达到限制 | 降低负载并有限重试;持续失败时保存 Request ID |
500 | 请求处理失败 | 请求转换、Token 计算、定价信息或平台处理发生异常 | 保存脱敏错误信息和 Request ID,稍后有限重试 |
502 | 上游网关错误 | 上游返回无效响应或网关无法完成转发 | 有限重试;持续失败时联系技术支持 |
503 | 服务暂时不可用 | 平台或上游服务过载、维护或暂无处理容量 | 采用退避重试,不持续高频请求 |
504 | 请求超时 | 上游处理时间超过网关等待时间 | 记录 Request ID;异步任务优先查询原任务状态 |
HTTP 状态不能单独确定原因
404 可能表示路径、模型或任务不存在,429 也可能来自频率、并发、额度或服务容量。应用应结合实际错误正文和 Request ID 判断。
常见错误包络
OpenAI 兼容接口通常使用 error 对象承载错误信息:
{
"error": {
"message": "请求失败的具体原因",
"type": "invalid_request_error",
"param": "model",
"code": "model_not_found"
}
}部分平台任务接口直接返回 code 和 message:
{
"code": "task_not_exist",
"message": "查询的任务 ID 不存在"
}客户端不应假设所有接口具有完全相同的错误包络。解析前请查看对应 API Reference,并为缺失的可选字段提供兼容处理。
异步任务错误码
Midjourney 任务
code | HTTP 状态 | 客户含义 | 建议处理 |
|---|---|---|---|
1 | 200 | 任务提交成功 | 保存返回的任务 ID,并通过查询接口获取进度 |
4 | 400 | 请求参数错误 | 检查 Prompt、操作类型和必填字段 |
21 | 200 | 相同任务已经存在 | 继续使用返回的任务 ID,不要重复创建 |
22 | 200 | 任务正在排队 | 保留任务 ID,稍后继续查询 |
23 | 429 | 当前任务队列已满 | 降低提交频率并稍后重试 |
24 | 400 | Prompt 未通过内容检查 | 调整 Prompt 后重新提交 |
3 | 403 | 当前请求暂时无法提交 | 保存错误信息,稍后重试或联系技术支持 |
30 | 429 | 当前分组处理容量已满 | 降低并发并稍后重试 |
任务提交成功示例:
{
"code": 1,
"description": "提交成功",
"result": "TASK_ID"
}任务排队示例:
{
"code": 22,
"description": "排队中,前面还有 2 个任务"
}平台任务
code | HTTP 状态 | 客户含义 | 建议处理 |
|---|---|---|---|
task_not_exist | 404 | 任务不存在或不属于当前账户 | 核对任务 ID、API Key 和请求节点 |
quota_not_enough | 403 | 当前额度不足以创建任务 | 检查账户与令牌额度,避免原样重试 |
invalid_api_platform | 400 | 请求中的平台类型无效 | 修正平台或协议参数 |
fail_to_fetch_task | 以上游状态为准 | 无法从任务来源获取最新状态 | 保存当前任务 ID,稍后有限重试 |
平台程序错误码
code | 常见 HTTP 状态 | 客户含义 | 建议处理 |
|---|---|---|---|
invalid_request | 400 | 请求格式或参数无效 | 检查 JSON、必填字段和字段类型 |
read_request_body_failed | 400 | 请求体无法读取 | 检查请求体大小、连接和 Content-Type |
sensitive_words_detected | 400 | 输入内容未通过内容检查 | 调整输入内容后重新发送 |
prompt_blocked | 400 | Prompt 被内容策略拦截 | 根据错误信息调整 Prompt |
access_denied | 403 | 当前请求被拒绝 | 检查 API Key、账户状态和允许的 IP 范围 |
insufficient_user_quota | 403 | 账户可用额度不足 | 检查余额或额度后再请求 |
pre_consume_token_quota_failed | 403 | Token 可用额度不足 | 检查当前 Key 的额度和使用限制 |
model_not_found | 404 | 当前账户无法找到目标模型 | 从模型广场重新复制可用模型 ID |
convert_request_failed | 500 | 请求无法转换为目标协议 | 核对 Endpoint、协议和目标模型兼容性 |
count_token_failed | 500 | 请求的 Token 用量无法计算 | 保存脱敏请求特征和 Request ID |
do_request_failed | 500 | 平台无法完成上游请求 | 检查网络状态并有限重试 |
bad_response_status_code | 以上游状态为准 | 上游返回了非标准或无法直接解析的错误 | 保存原 HTTP 状态、脱敏消息和 Request ID |
api_not_implemented | 501 | 当前 Endpoint 尚不可用 | 核对 API Reference,改用已经公开的 Endpoint |
客户端处理原则
- 同时记录 HTTP 状态、程序错误码、脱敏消息和 Request ID。
400、401、403应先修正原因,不要原样自动重试。404应核对路径和资源 ID;异步资源还要核对所属账户。429、502、503、504可以采用有限次数的退避重试。- 创建任务或其他有副作用的请求,在重发前先确认原请求是否已经生效。
- 不要依赖错误消息的完整文字进行程序分支,优先使用稳定的 HTTP 状态和
code。
需要保存追踪信息时参阅 Request ID,更完整的排障与重试建议请参阅错误与排障。