错误码与限制
请求失败时,Favonis API 返回 HTTP 状态码和一个 JSON 对象:code 是错误码,fields 是这个错误附带的参数,无参数时省略。程序应当按 code 判断错误类型,不要依赖错误的文字说明。
错误格式
{
"code": "error.invalid_input",
"fields": {
"detail": "validating root: required: missing properties: [\"prompt\"]"
}
}
参数错误一律返回 400 和 error.invalid_input,fields.detail 写明原因,过长时会被截断。常见的原因:
- 请求体不是 JSON 对象,缺少必填字段,类型不对,或者出现未定义的字段
prompt为空或全是空白,prompt、text超过长度上限wait超出 0 到 25,limit不在 1 到 100 之间(不传时为 20,传 0 同样是错误),status的取值不对,after不是这个列表返回的nextlevel不是这个模型的档位- 申请上传时
name、size、sha256、mime不符合要求 - 任务不在暂停状态时发送空消息,或者回答问题时附带文件、超过 10 万字
detail 只用于排查,内容可能随版本变化,不要用程序解析它。
错误码
| 状态 | code |
含义和处理方式 |
|---|---|---|
| 400 | error.invalid_input |
参数不合法,原因见 fields.detail |
| 401 | error.invalid_token |
未带密钥,或密钥无效、已过期、已删除(包括离开团队时一并删除的密钥) |
| 403 | error.user_banned |
密钥所属的账号已被封禁 |
| 403 | error.account_unavailable |
密钥所属的空间无法使用 |
| 403 | error.api_key_read_only |
只读密钥调用会修改内容或消耗积分的接口 |
| 403 | error.api_key_monthly_cap_reached |
这个密钥本月的积分已达到上限,新建任务和发消息都被拒绝;下个月恢复,或在设置中调高上限 |
| 403 | error.consent_required |
协议或政策有新版本,需要先在 Favonis 应用中同意 |
| 404 | error.not_found |
任务、文件或项目不存在,或者不属于密钥代表的身份 |
| 404 | error.model_not_found |
模型不存在,或当前套餐不能使用 |
| 409 | error.conflict |
任务的状态恰好发生变化,这次请求未生效,重新发送后按新的状态处理;任务在等待应用里的操作(action_required)时发空消息,同样返回这个错误码 |
| 409 | error.file_not_ready |
文件的文字仍在提取中,稍后再读取 |
| 413 | error.file_too_large |
附件超过 32 MiB |
| 429 | error.rate_limited |
请求过于频繁,稍等片刻再试 |
| 429 | error.chat_concurrency_exceeded |
同时运行的任务数已满,新建任务、继续暂停的任务、开始新的一轮都会遇到;等已有任务停下后再试 |
| 500 | error.internal |
服务内部出错,稍后重试;503 时也可能是这个错误码 |
| 503 | error.maintenance |
服务正在维护或暂时不可用,按 Retry-After 响应头的秒数之后重试 |
积分不足不会返回错误:任务照常建好或继续,随后暂停,reason 为 insufficient_credits,见积分用完时。
以后可能增加新的错误码。遇到不认识的 code 时,按 HTTP 状态码处理:4xx 先检查请求,5xx 稍后重试。
限制
| 项目 | 限制 |
|---|---|
| 请求频率 | 每分钟 120 次,按你在这个空间里的身份计算,这个身份的全部密钥和 MCP 调用合计 |
| 同时运行的任务 | 和应用共用套餐能同时生成的回复数,见定价 |
| 等待任务 | wait 最多 25 秒 |
| 列表 | 一页 1 到 100 个,默认 20 |
| 消息 | prompt 和 text 最多 100 万字,回答问题时最多 10 万字 |
| 附件 | 单个最大 32 MiB,上传后 48 小时内未使用会被清理 |
| 读取文字 | 每次最多 10 万字 |
| 下载地址 | 2 小时内有效 |
| API 密钥 | 你在每个空间中最多 20 个 |
| Webhook 地址 | 你在每个空间中最多 10 个,每次推送 10 秒内要返回 2xx |
团队里的每位成员各自计算请求频率、同时运行的任务数、密钥数和 Webhook 地址数,互不占用。
收到 429 时,请等待一段时间再重试,并逐次拉长间隔,不要立即连续重发。轮询任务时用 wait 等待,比频繁查询更省请求次数。
版本与兼容
当前版本是 v1,路径都以 /v1 开头。在 v1 之内,Favonis 只增加内容,例如新的接口、可选参数、返回字段、状态值、事件类型和错误码,不删除已有的接口和字段,也不改变它们的含义。你的程序应当忽略不认识的字段和取值。
需要不兼容的修改时,会发布新的版本,并提前在开发者文档中公告。

