错误码
API 错误码说明和解决方案
错误响应格式
所有错误返回统一格式:
json
{
"error": {
"code": "error_code",
"message": "错误的详细描述",
"type": "error_type",
"param": "导致错误的参数名(可选)"
}
}HTTP 状态码
| HTTP 状态码 | 说明 |
|---|---|
| 200 | 请求成功 |
| 400 | 请求参数错误 |
| 401 | 认证失败 |
| 402 | 余额不足 |
| 403 | 权限不足 |
| 404 | 资源不存在 |
| 413 | 文件过大 |
| 429 | 请求频率超限 |
| 500 | 服务器内部错误 |
| 503 | 模型服务不可用 |
错误码列表
400 - 请求错误
| 错误码 | 说明 | 解决方案 |
|---|---|---|
invalid_request | 请求参数格式错误 | 检查参数类型和必填项 |
invalid_model | 模型不存在或不可用 | 参考模型清单 |
invalid_size | 尺寸参数不支持 | 使用支持的尺寸:1024x1024 / 2048x2048 / 4096x4096 |
invalid_format | 文件格式不支持 | 使用支持的格式:JPG / PNG / WebP |
prompt_too_long | 提示词超过长度限制 | 精简提示词,建议不超过 4000 字符 |
too_many_models | 选择模型数量超限 | 最多同时选择 4 个模型 |
401 - 认证错误
| 错误码 | 说明 | 解决方案 |
|---|---|---|
authentication_error | API Key 无效或缺失 | 检查 Authorization Header 格式 |
invalid_api_key | API Key 不存在 | 在控制台检查 Key 是否正确 |
expired_api_key | API Key 已过期 | 在控制台重新生成 Key |
402 - 余额错误
| 错误码 | 说明 | 解决方案 |
|---|---|---|
insufficient_balance | 账户余额不足 | 前往控制台充值 |
payment_required | 需要先充值 | 账户余额为 0,需充值后使用 |
403 - 权限错误
| 错误码 | 说明 | 解决方案 |
|---|---|---|
permission_denied | 无权调用该模型 | 检查账户是否有该模型的访问权限 |
rate_limit_exceeded | API 调用频率超限 | 降低请求频率,稍后重试 |
413 - 文件错误
| 错误码 | 说明 | 解决方案 |
|---|---|---|
file_too_large | 上传文件超过大小限制 | 压缩图片后重试,最大 10MB |
image_too_small | 图片尺寸过小 | 上传更大尺寸的图片 |
429 - 频率限制
| 错误码 | 说明 | 解决方案 |
|---|---|---|
rate_limited | 请求频率超限 | 降低请求频率,稍后重试 |
频率限制规则:
| 账户类型 | 图片 API | 视频 API |
|---|---|---|
| 免费用户 | 10 次/分钟 | 5 次/分钟 |
| 付费用户 | 60 次/分钟 | 20 次/分钟 |
| 企业用户 | 可定制 | 可定制 |
500 - 服务器错误
| 错误码 | 说明 | 解决方案 |
|---|---|---|
server_error | 服务器内部错误 | 稍后重试,如持续请联系客服 |
model_overloaded | 模型服务繁忙 | 稍后重试或切换模型 |
timeout | 请求超时 | 稍后重试 |
任务错误
| 错误码 | 说明 | 解决方案 |
|---|---|---|
task_not_found | 任务 ID 不存在 | 检查 task_id 是否正确 |
task_expired | 任务结果已过期 | 重新创建任务 |
content_policy_violation | 内容违规 | 修改提示词后重试 |
错误处理示例
python
from seeany import SeeAny, SeeAnyError
client = SeeAny(api_key="sk-xxxxx")
try:
result = client.images.generate(
model="seedance4.5",
prompt="一只可爱的猫"
)
except SeeAnyError as e:
if e.code == "insufficient_balance":
print("余额不足,请充值")
elif e.code == "rate_limited":
print("请求过于频繁,请稍后重试")
elif e.code == "invalid_model":
print(f"模型不存在: {e.message}")
else:
print(f"错误 [{e.code}]: {e.message}")typescript
import SeeAny, { SeeAnyError } from "seeany";
const client = new SeeAny({ apiKey: "sk-xxxxx" });
try {
const result = await client.images.generate({
model: "seedance4.5",
prompt: "一只可爱的猫",
});
} catch (error) {
if (error instanceof SeeAnyError) {
switch (error.code) {
case "insufficient_balance":
console.log("余额不足,请充值");
break;
case "rate_limited":
console.log("请求过于频繁,请稍后重试");
break;
default:
console.log(`错误 [${error.code}]: ${error.message}`);
}
}
}提示
- 遇到 429 错误时,建议使用指数退避策略重试
- 遇到 500/503 错误时,建议等待 30 秒后重试
- 如持续遇到错误,请联系客服并提供
request_id