🤖 AI 摘要
AI API 中转站的计费通常采用"预扣费 + 最终结算"模式,但很多中转站不透明的地方在于:失败请求、空回复、503/524 错误时,预扣费没有返还。页面余额显示的是经过处理的数字,raw quota 才是真实消耗数据。Link-AI 提供 raw quota 检测接口,用户可以通过对比 quota 前后差值判断是否存在异常扣费。对于站长侧,无有效输出时应将 final_quota 设为 0 并返还预扣费。
💡 直接答案
判断中转站扣费是否透明的关键方法是:不要只看页面余额,要查 raw quota(请求前后 quota 差值)。如果 completion_tokens=0 但 raw quota 有消耗,说明存在异常扣费。使用 Link-AI API 扣费检测工具,通过 /api/user/self 接口获取 quota 数据,自行核验。
什么是预扣费 + 最终结算
大多数 AI API 中转站(包括 New API / One API 架构)采用两阶段计费:
- 预扣费阶段:发起请求时,根据预估 token 数扣除费用
- 最终结算阶段:请求完成后,根据实际 token 消耗多退少补
问题出在第二步:如果请求失败或没有有效输出,预扣费可能不会返还。
为什么页面余额看不出小额扣费
页面余额经过了两层处理:
- 预扣:发起请求时扣除
- 结算:请求完成后根据实际消耗调整
如果大量小额失败请求累积(比如每笔 0.001 元),余额页面可能只显示"掉了 10 元",但用户不知道这 10 元是由 10000 笔失败请求组成的。
⚠️ 关键问题
很多中转站的"余额掉了"不等于"实际消耗了"。失败请求的预扣费没有返还,这是很多用户没有察觉到的隐形损失。
raw quota 为什么更准确
raw quota 是请求前后 quota 的实际差值,代表真实 token 消耗。通过 /api/user/self 接口可以获取:
quota:预扣后余额(经过结算的)raw_quota:真实 quota(预扣前的原始值)quota_per_unit:每单位的价格
对比这两个值,可以判断:
- 如果
raw_quota和quota一致 → 正常 - 如果
quota明显低于raw_quota差值 → 可能在返还预扣费 - 如果请求失败但
quota掉了 → 异常扣费
失败请求是否应该扣费
| 失败类型 | 理想处理 | 实际常见情况 | 用户应该怎么做 |
|---|---|---|---|
| 401 认证失败 | 完全不扣费 | 不扣费 | 检查 Key 配置 |
| 403 权限不足 | 完全不扣费 | 可能预扣不返还 | 检查模型授权 |
| 503 上游不可用 | 完全不扣费 | 可能预扣不返还 | 等待恢复,检测 raw quota |
| 524 Cloudflare 超时 | 按实际消耗结算 | 可能全部预扣不返还 | 用 api2 减少超时请用 raw quota 检测 |
| 空回复(completion_tokens=0) | 完全不扣费 | 可能预扣不返还 | 检测 raw quota |
空回复是否应该扣费
completion_tokens=0 的空回复需要分情况判断:
- prompt 本身无法生成有效回复:用户问题,无法生成有效内容,扣费可能是合理的
- 服务端处理错误(503/524):中转站或上游问题,不应让用户承担预扣费
- 渠道质量导致输出被截断:中转站配置问题,应该返还
- max_tokens 设置过低:用户配置问题,扣费可能合理
503 / 524 是否应该扣费
- 503 Service Unavailable:上游服务不可用,请求未实际处理。理想情况下完全不扣费。
- 524 Gateway Timeout:Cloudflare 超时,上游可能处理了一部分。需要看实际消耗。
💡 判断方法
用 raw quota 检测工具:发起一个会触发 503/524 的请求(故意传错误参数),然后查看 quota 变化。如果 quota 掉了但实际没有 token 消耗,说明存在异常扣费。
Link-AI 的扣费检测方法
Link-AI 提供 API 扣费检测工具,帮助你:
- 获取
/api/user/self的 raw quota 数据 - 对比请求前后的 quota 差值
- 判断是否存在异常扣费
# 获取用户 quota 信息
curl https://api1.link-ai.cc/api/user/self \
-H "Authorization: Bearer 你的APIKey"
# 响应中的 quota 相关字段
{
"quota": 998.50, # 页面显示余额
"raw_quota": 999.00, # 原始 quota
"quota_per_unit": 0.01 # 每单位价格
}
站长侧建议:无有效输出时的处理
如果你是中转站的运营者,建议采用以下扣费逻辑:
if (final_output_tokens == 0) {
// 无有效输出,final_quota = 0,返还预扣费
refund_precharge()
} else {
// 有有效输出,按实际消耗结算
final_quota = actual_tokens * price_per_token
}
这不仅是对用户的公平,也是建立长期信任的基础。
检测 Link-AI 的扣费是否透明
使用扣费检测工具,通过 raw quota 数据自行核验