跳转至

计费与用量

RouteFast 基于 sub2api 提供服务。本页说明 GPT 与 Claude 的 Token 计费、倍率和使用记录,不代表其他中转系统的功能或计费规则。

使用余额计费时,系统根据本次请求的计费用量、模型价格和生效倍率计算扣费。请在 控制台「使用记录」 核对本次调用;如你的账户另有订阅或专属计费安排,以控制台实际展示为准。

基本概念

概念 说明
普通输入 Token 用量记录中按普通输入价格计费的部分;与缓存读取、缓存写入分别计算
输出 Token 模型生成的正文、工具调用及可能的推理 Token
缓存写入 建立或重新写入可复用 Prompt 缓存产生的用量,如模型支持
缓存读取 命中 Prompt 缓存后读取的用量,如模型支持
分组倍率 API Key 所属分组的默认计费倍率
用户专属倍率 为某个用户在对应分组配置的倍率;不是再叠加乘一次分组倍率
生效倍率 当前时间与账户条件下实际用于计费的倍率

计算方式

模型广场价格单位为 美元/每 100 万 Token(USD/MTok)。先确认你使用的是原始价还是实付价,不能混用。

使用原始单价估算普通文本请求时:

原始费用(USD)=(普通输入 Token × 原始输入单价
                + 输出 Token × 原始输出单价
                + 缓存写入 Token × 原始缓存写入单价
                + 缓存读取 Token × 原始缓存读取单价)/ 1,000,000

用户扣费(USD)= 原始费用 × 本次请求的生效倍率

如果代入的是与你本次请求条件一致的 实付单价,加权求和后除以 1,000,000 即可,不要再乘已包含的倍率。存在不同缓存写入档位时,应按对应档位分别计算,不能全部套用一档价格。

上式用于理解常规 Token 费用。长上下文、服务档位、模型映射或分时规则如有生效,应使用本次实际计费条件;不要仅凭模型名字或现在的公开报价反推历史扣费。

缓存 Token 不要重复计算

原始 API 响应的 usage 与控制台的计费字段不是同一套口径。尤其不要把所有协议的 input_tokens 都理解为“未缓存输入”。

数据来源 输入字段的理解 核对缓存的方法
GPT Responses 的标准 usage input_tokens 是总输入;缓存明细属于其中的一部分 查看 input_tokens_details.cached_tokens,以及实际返回时的 input_tokens_details.cache_write_tokens
GPT Chat Completions 的标准 usage prompt_tokens 是总输入;缓存明细属于其中的一部分 查看 prompt_tokens_details 中实际返回的缓存字段
Claude 原生 Messages 的 usage 普通输入、缓存创建、缓存读取分列 分别查看 input_tokenscache_creation_input_tokenscache_read_input_tokens,不要再次从普通输入中减缓存
sub2api 使用记录 普通输入、输出、缓存创建、缓存读取分项展示 对照记录中的各项 Token 和费用,而不是把原始 API 总输入直接套入普通输入价格

例如 GPT 返回总输入 100,000、缓存读取 80,000、缓存写入 0,普通输入应为 20,000,不是 100,000。普通输入与缓存拆分的协议说明见 OpenAI Prompt Caching

对于协议转换、流式响应或未返回完整缓存明细的请求,先确认数据来源,再对照控制台记录。字段缺失不等于已经证明缓存免费或没有用量;也不要把输出中的推理 Token 明细再加到已经包含它的输出总量上。

如何判断缓存有没有帮你省钱

  1. 保持可复用的系统提示、工具定义和上下文前缀稳定,不要每次无意义地改写。
  2. 使用少量真实任务对比使用记录中的「缓存创建」「缓存读取」与「用户扣费」,不只比较总 Token。
  3. 将缓存写入费用计入比较;首次写入与后续命中的费用可能不同。
  4. 不要为了“刷命中率”反复发送无用请求,这些请求仍可能产生费用。

缓存是否命中、写入档位及生命周期取决于具体模型、请求和上游处理。本文不承诺固定命中率,也不把其他平台的缓存开关、保留时长或清理接口当作 RouteFast 已开放功能。

在控制台核对一次调用

  1. 登录 RouteFast 控制台,打开「使用记录」(/usage)。
  2. 选择调用发生的日期范围,再用 API 密钥、模型、分组 缩小范围;记录暂未出现时先点击「刷新」。
  3. 对照「时间」「端点」「类型」确认是同一类请求,再查看「Token」和「费用」。流式与同步请求不要混淆。
  4. 将鼠标移到 Token 或费用旁的说明图标,查看分项;费用说明中的「原始」与「用户扣费」含义不同。
  5. 需要自行汇总时,可用「导出 CSV」导出当前筛选条件下的使用记录。导出文件包含用量及请求相关信息,请妥善保存并在分享前脱敏。

如果某列被隐藏,可检查「列设置」。页面布局随版本调整时,以控制台当前实际显示为准。

一条账单怎么读

以下是 纯计算示意,不是真实客户账单,也不是新增价格承诺。假设某次请求未触发额外档位,原始输入价为 $2/MTok、缓存读取价为 $0.20/MTok、输出价为 $12/MTok,生效倍率为 0.5

记录项目 示意值 含义
普通输入 20,000 Token 原始输入费用为 $0.040
缓存读取 80,000 Token 原始缓存读取费用为 $0.016
缓存创建 0 Token 本例没有缓存写入费用
输出 5,000 Token 原始输出费用为 $0.060
原始费用 $0.116 上述各项原始费用之和
倍率 0.5 本次请求的生效倍率
用户扣费 $0.058 $0.116 × 0.5,不是再额外扣一笔原始费用

在导出的 CSV 中,Original Cost 对应原始费用,Rate Multiplier 对应倍率,Billed Cost 对应用户扣费。不要把原始费用和用户扣费相加。

用 API 查询当前倍率

这是 sub2api 的扩展接口,不是 OpenAI 或 Anthropic 官方接口。使用你要查询的那一把 RouteFast 密钥:

curl -sS https://api.routefast.ai/v1/sub2api/billing \
  -H "Authorization: Bearer $ROUTEFAST_API_KEY"

重点字段:

  • group_rate_multiplier:分组默认倍率;
  • user_rate_multiplier:解析后的用户倍率与分组默认倍率不同时返回;字段缺失不代表账户一定没有专属配置;
  • resolved_rate_multiplier:用户与分组规则解析后的倍率;
  • effective_rate_multiplier:考虑当前生效条件后的最终倍率;
  • observed_at:计算倍率的时间。

这是查询时刻的 Token 倍率信息,不是账户余额查询、价格表或历史账单接口。不同分组的密钥要分别查询;不要将现在的倍率用于重新解释所有历史记录。

为什么本地估算与账单不同

常见原因包括:

  • tokenizer 与本地估算器不同;
  • 系统提示、工具定义和历史对话也计入输入;
  • 推理 Token 可能计入输出;
  • Prompt 缓存是否命中由实际请求决定;
  • 模型别名被路由到具体模型;
  • 用户专属、分时或长上下文计费规则生效;
  • 流式连接中断前,上游已经生成并返回了部分用量。

失败请求是否计费

不能只凭 HTTP 状态码判断是否计费。请求可能在到达上游前被 RouteFast 拒绝,也可能在上游已处理后才因网络、超时或流式中断表现为失败。

遇到争议时,请先按时间范围、密钥名称和模型定位控制台记录,再保存客户端拿到的请求 ID(如有)、HTTP 状态码与脱敏错误信息。页面没有记录时,不能仅凭这一点推断一定没有扣费,应先刷新并核对时间范围。

若有疑问,向 support@routefast.ai 提供这些排障信息。不要发送完整 API Key、密码或完整业务对话。详情见 常见问题与排障

控制成本

  • 为每个环境和项目创建独立密钥;
  • 在所用协议和模型支持的范围内,为调用设置合理的输出上限;
  • 根据 模型与价格 用少量任务评估质量、延迟和费用,再选择常用模型;
  • 复用稳定上下文,核对缓存实际效果;
  • 在客户端设置并发与自动重试上限;余额不足、密钥过期或参数错误不应持续重试;
  • 定期按密钥和模型检查使用记录,发现异常用量及时处理;
  • 密钥泄露时立即禁用并轮换。

可按 密钥与控制台 配置密钥金额额度与有效期。不要将其他中转产品的团队预算、RPM/TPM 开关或自动告警教程直接套用到本站。

退款与费率变更

本文不额外约定退款条件、到账时间或赠送比例。充值、退款和费率调整请以你购买时实际展示的条款与平台通知为准;如信息不清楚或互相矛盾,请在继续充值或大额使用前联系支持确认。