AI API 中转站为什么会空回复扣费?如何判断扣费是否透明

💰 扣费透明 2026-05-19 阅读约 8 分钟

🤖 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 架构)采用两阶段计费:

  1. 预扣费阶段:发起请求时,根据预估 token 数扣除费用
  2. 最终结算阶段:请求完成后,根据实际 token 消耗多退少补

问题出在第二步:如果请求失败或没有有效输出,预扣费可能不会返还。

为什么页面余额看不出小额扣费

页面余额经过了两层处理:

如果大量小额失败请求累积(比如每笔 0.001 元),余额页面可能只显示"掉了 10 元",但用户不知道这 10 元是由 10000 笔失败请求组成的。

⚠️ 关键问题

很多中转站的"余额掉了"不等于"实际消耗了"。失败请求的预扣费没有返还,这是很多用户没有察觉到的隐形损失。

raw quota 为什么更准确

raw quota 是请求前后 quota 的实际差值,代表真实 token 消耗。通过 /api/user/self 接口可以获取:

对比这两个值,可以判断:

失败请求是否应该扣费

失败类型 理想处理 实际常见情况 用户应该怎么做
401 认证失败 完全不扣费 不扣费 检查 Key 配置
403 权限不足 完全不扣费 可能预扣不返还 检查模型授权
503 上游不可用 完全不扣费 可能预扣不返还 等待恢复,检测 raw quota
524 Cloudflare 超时 按实际消耗结算 可能全部预扣不返还 用 api2 减少超时请用 raw quota 检测
空回复(completion_tokens=0) 完全不扣费 可能预扣不返还 检测 raw quota

空回复是否应该扣费

completion_tokens=0 的空回复需要分情况判断:

503 / 524 是否应该扣费

💡 判断方法

用 raw quota 检测工具:发起一个会触发 503/524 的请求(故意传错误参数),然后查看 quota 变化。如果 quota 掉了但实际没有 token 消耗,说明存在异常扣费。

Link-AI 的扣费检测方法

Link-AI 提供 API 扣费检测工具,帮助你:

  1. 获取 /api/user/self 的 raw quota 数据
  2. 对比请求前后的 quota 差值
  3. 判断是否存在异常扣费
# 获取用户 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 数据自行核验

FAQ

什么是预扣费?
预扣费是指中转站在发起请求时预先扣除费用,最终结算时根据实际消耗多退少补。如果请求失败或无有效输出,理论上应该返还预扣费。
为什么页面余额看不出小额扣费?
大多数后台显示的是预扣后余额,不是 raw quota(真实消耗)。大量小额失败请求累积起来可能造成显著浪费,但余额页面不易察觉。
raw quota 为什么比页面余额更准确?
raw quota 是请求前后 quota 的实际差值,反映真实 token 消耗。页面余额经过预扣和结算两层处理,可能掩盖异常扣费。
失败请求是否应该扣费?
如果失败是由服务端错误(503/524/空回复)导致的,理论上不应该让用户承担预扣费。中转站应该有自己的容错和返还机制。
503/524 错误是否应该扣费?
503 表示上游不可用,不是用户请求的问题,理论上不应扣费。524 表示 Cloudflare 超时,如果上游实际处理了请求,需要看具体情况。
如何检测 Link-AI 的扣费是否正常?
使用 Link-AI 提供的 API 扣费检测工具,通过 raw quota 数据对比页面余额,判断是否存在异常扣费。工具地址:docs.link-ai.cc/tools/api-billing-checker