Skip to content

计费与限流

本页说明一次请求从发出到结算的扣费过程,以及出错、取消和限流等情况下是否计费。各类模型的单价和计价方式见模型定价。

每次请求都会经过「预扣 → 结算」两步:

  1. 预扣:请求转发给上游前,先从密钥额度和账户余额中预扣一笔预估费用。任一不足,请求直接被拒绝,不会发往上游。
  2. 结算:请求完成后,按上游返回的真实用量计算实际费用。多扣的部分退回,少扣的部分补扣。

预估费用的计算方式:

模型类型预估方式
按 token 计费输入 token 数加上请求中的 max_tokens,按模型单价估算
阶梯价模型按最高一档价格估算,结算时再按实际档位计费
按次或按张计费直接预扣单次价格
异步任务(视频、音乐等)提交时预扣预估金额,任务结束后结算

原则是:没有产生可计费用量就不计费,预扣金额全额退回。

场景是否计费
密钥无效、过期,或余额、密钥额度不足不计费,请求不会发往上游
请求参数错误、模型不可用、无可用渠道不计费
被限流(429)不计费
上游返回错误(4xx / 5xx)不计费,预扣金额全额退回
上游返回成功,但用量为 0不计费
流式输出过程中上游中断或超时按已生成的内容计费
异步任务失败或超时(24 小时未完成)不计费,预扣金额全额退回

RouteAPI 在上游出错时会自动重试或切换到其他渠道。整个过程只预扣一次、结算一次,失败的尝试不计费,你只为最终成功的那一次付费。如果最终由回退模型完成请求,按实际服务该请求的模型价格计费。

流式请求一旦开始向你输出内容,就不会再重试。此时上游中断,按已生成的部分计费。

场景是否计费
非流式请求,在收到响应前断开连接不计费,预扣金额全额退回
流式请求,在中途断开连接计费,见下方说明
异步任务(视频、音乐、Midjourney)提交后不支持取消

流式请求中途断开时,上游通常已经在生成,并会继续生成到结束。RouteAPI 会继续读取上游的输出直到生成结束,并按上游实际生成的用量计费,而不只是你已经收到的部分。想控制这部分费用,请用 max_tokens 限制输出长度。

为保护平台和上游的稳定性,平台可能对每个账户的模型请求频率做限制。限制按账户统计,同一账户下的所有 API 密钥共享额度。

触发限流时返回 429 Too Many Requests,响应体与其他错误格式一致:

{
"error": {
"message": "...(request id: ...)",
"type": "error",
"code": ""
}
}
  • 被限流的请求在预扣之前就被拒绝,不计费。
  • 上游返回 429 时,RouteAPI 会自动切换到其他渠道重试。重试后仍被限流,才会把 429 返回给你。
  • 响应不带 Retry-After 头。建议客户端使用指数退避重试,例如 1 秒、2 秒、4 秒,并加上随机抖动。
  • 拆分多个 API 密钥不能提高限流额度。如需更高的请求频率,请联系我们。

开放平台 API(/api/open/v1)有单独的限流规则,见开放平台 API 错误与限制。

在使用日志中可以查看每次扣费请求的明细:

字段说明
时间请求时间
密钥发起请求的 API 密钥名称
模型实际计费的模型
用时 / 首字总耗时;流式请求同时显示首字延迟
输入输入 token 数,命中缓存时单独显示缓存读取和写入
输出输出 token 数
花费本次实际扣费金额
明细单价、倍率和计费过程

接口响应的 usage 字段也会返回本次的 token 用量:

字段说明
prompt_tokens输入 token
completion_tokens输出 token,推理模型的推理 token 也计入这里
total_tokens输入与输出合计
prompt_tokens_details.cached_tokens命中缓存的输入 token

如果账户享有专属折扣,日志中的花费已经是折扣后的金额。