错误码
所有错误统一格式,code 稳定,message 可读。
错误响应格式
{
"error": {
"code": 40002,
"message": "请提供 prompt 或 lyrics",
"detail": "可选的补充信息"
}
}
请用 code 做逻辑判断,不要匹配 message 文案。
文案可能随时调整。
错误码表
| HTTP | code | 含义 | 处理建议 |
|---|---|---|---|
| 401 | 40101 | 缺少 API Key | 检查请求头 |
| 401 | 40102 | Key 无效或已禁用 | 确认未吊销、未过期 |
| 400 | 40001 | 参数错误 | 读 detail 修正参数 |
| 400 | 40002 | 缺少 prompt 或 lyrics | 补齐内容 |
| 402 | 40201 | 积分不足 | 充值 |
| 404 | 40401 | 任务不存在 | 核对 task_id |
| 404 | 40404 | 未知路径 | 核对接口路径 |
| 500 | 50000 | 服务内部错误 | 重试;持续失败请上报 |
| 502 | 50201 | 所有生成引擎均不可用 | 读 detail;通常需等待或联系管理员 |
| 429 | 42900 | 触发限流 | 指数退避后重试 |
生成失败的错误
任务级失败不返回 HTTP 错误码,而是把失败原因放在查询响应的 data.error 里:
{
"data": {
"task_id": "...",
"status": "FAILED",
"error": "MiniMax 账户余额不足,请管理员充值后重试",
"cost": { "credits": 0 }
}
}
排查顺序
- 先看 HTTP 状态码:4xx 是你的问题,5xx 是服务端或上游问题。
- 再看
error.code,它指向具体原因。 - 最后读
error.detail或data.error,那里有完整的人话说明。
上游的原始错误会完整透传,不截断、不改写。 比如上游说「MiniMax 账户余额不足」,你拿到的就是这句——足以直接判断该找谁。
kemo Music API · 聚合多引擎音乐生成 · 文档随实现同步更新
最后更新:2026-10-23 · 有问题请联系站点管理员
最后更新:2026-10-23 · 有问题请联系站点管理员