---
title: 错误处理
---

接口使用标准 HTTP 状态码，并在响应体中返回错误信息。

```json
{
  "error": {
    "message": "Invalid API key",
    "type": "invalid_request_error",
    "code": "invalid_api_key"
  }
}
```

| HTTP 状态码 | 场景 | 是否重试 |
| --- | --- | --- |
| `400` | 参数或请求体不合法 | 修正请求后再发送 |
| `401` | API Key 无效 | 更换有效密钥 |
| `403` | 模型或分组权限不足 | 调整权限或模型 |
| `404` | 接口、模型或任务不存在 | 检查地址和标识符 |
| `429` | 速率限制或额度不足 | 根据错误信息退避或补充额度 |
| `500` | 服务内部异常 | 使用指数退避重试 |
| `502` / `503` | 上游暂时不可用 | 切换模型或指数退避重试 |

## 重试策略

仅对暂时性错误执行有限次数的指数退避，例如等待 `1s`、`2s`、`4s`。对 `400`、`401`、`403` 等确定性错误直接返回业务调用方，避免形成重试风暴。
