AI API 扣费检测工具:检测空回复扣费、503 扣费和预扣未返还

API 扣费检测工具用于检测失败请求、503、空回复、无效模型和预扣未返还是否导致余额减少。页面余额通常只显示两位小数,无法发现 $0.0001 级别的变化。工具优先读取 /api/user/self 返回的 raw quota,配合 /api/statusquota_per_unit 换算金额,精准判断扣费是否合理。
Chrome 插件 — 即将上线

检测插件正在开发中,届时可一键检测任意 New API / One API 类站点的扣费透明度。先了解检测原理,插件上线后即可使用。

获取 API Key

扣费异常的错误原理

很多中转站使用预扣费 + 最终结算机制。如果请求无有效输出但仍按 prompt tokens 或估算 usage 扣费,就会出现「空回复扣费」。

典型场景:

  • 请求发出后收到 503 Service Unavailable,但额度已减少
  • 模型不支持(invalid model),但仍扣除了估算费用
  • 网络超时,页面报错 524,但余额少了
  • 空回复(无 completion 文本),但扣了费用
  • 预扣后未返还(请求失败但预扣金额未结算退回)

为什么前台余额看不出来?

页面余额通常只显示两位小数,无法发现 $0.0001 级别的变化。

扣费检测工具应优先读取 /api/user/self 返回的 raw quota(精确整数),再结合 /api/statusquota_per_unit 换算实际金额,而不是只看前台余额。

换算公式
实际余额 (USD) = raw_quota / quota_per_unit

例如:
raw_quota = 99819128
quota_per_unit = 500000 (每个单位 = 500000 raw quota)
实际余额 = 99819128 / 500000 ≈ 199.64 USD

New API / One API 如何读取 raw quota?

New API / One API 类站点提供以下 API 端点读取精确余额:

第一步:获取 quota_per_unit

GET /api/status
curl -s https://api1.link-ai.cc/api/status

响应中的 data.quota_per_unit 即为换算基数(如 500000)。

第二步:获取 raw quota

GET /api/user/self
# 需要携带登录态(cookie 或 header)
curl -s https://api1.link-ai.cc/api/user/self \
  -H "Cookie: your-session-cookie" \
  -H "new-api-user: true" \
  --include

响应中的 data.quota 即为 raw quota(精确整数)。

注意:不依赖 /api/user/amount,因为它可能需要额外参数或返回经过舍入的值。


检测逻辑

工具通过以下步骤精确检测扣费异常:

1

记录初始 Raw Quota

读取账户 raw quota(精确扣费记录),这是实际账户余额变化,不受页面渲染延迟影响。

2

发起测试请求

向目标 API 发送测试请求,包括:有效请求、空模型请求、失败请求等多种场景。

3

等待 3 秒

等待 3 秒(快速结算)后读取 raw quota。

4

等待 10 秒

等待 10 秒(预扣结算)后再次读取 raw quota。

5

对比分析

比较前后 raw quota,如果无有效输出但余额减少,则判定为异常扣费


什么是「有效输出」?

以下情况视为「有效输出」,扣费视为合理:

📝 可见文本(completion) 🔧 tool_call 调用 🖼 image 生成 🔊 audio 生成 🔍 search 调用 ⬆ completion_tokens > 0

以下情况视为「无效输出」,不应扣费:

🚫 HTTP 5xx 错误 🚫 503 Service Unavailable 🚫 空回复(无文本) 🚫 completion_tokens = 0 🚫 invalid model 🚫 network error

异常扣费分类

  • 💸 失败请求扣费 请求返回 500/503/502 等 HTTP 错误,但额度仍然被扣除。典型场景:上游渠道宕机时。
  • 📭 空回复扣费 API 返回成功(HTTP 200),但 response 为空(无文本、无 tool_call、无 image),却扣除了费用。
  • 🔒 预扣未返还 请求开始时预扣了额度,请求失败后预扣金额没有结算返还,永久损失。
  • ❌ 无效模型扣费 请求的模型不存在或无权访问,但站点仍然按估算 usage 扣费(如预估了 prompt tokens 消耗)。

503 请求到底有没有扣费?

从严格意义上说,503 Service Unavailable 不应产生最终扣费,因为请求没有到达上游模型,没有消耗任何 token。

但如果站点使用了预扣费机制,预扣可能在请求开始时就已发生,此时即使返回 503,额度也已经减少。如果预扣没有在结算周期内返还,就会出现「503 扣费」的假象。

通过 raw quota 对比可以精确判断:请求 503 前后的 raw quota 是否有变化。


报告示例

工具可生成包含以下信息的检测报告,可直接发给站点管理员:

检测场景: 发送 invalid model 请求
HTTP 状态码: 400 Bad Request
响应内容: {"error":{"message":"invalid_request_error"}}
有效输出: ❌ 无(completion_tokens = 0)
检测前 raw quota: 99819128
检测后 raw quota(3s): 99819128
检测后 raw quota(10s): 99819128
raw quota 变化: 0(无变化)
结论: ✓ 失败请求未产生扣费,扣费透明
检测场景: 发送正常文本请求
HTTP 状态码: 200 OK
有效输出: ✓ 有(completion_tokens > 0)
检测前 raw quota: 99819128
检测后 raw quota(3s): 99819100
raw quota 变化: -28
结论: ✓ 正常扣费,usage 字段与扣费一致
检测场景: 发送触发 503 的请求
HTTP 状态码: 503 Service Unavailable
有效输出: ❌ 无
检测前 raw quota: 99819128
检测后 raw quota(3s): 99819128
检测后 raw quota(10s): 99819128
raw quota 变化: 0(无变化)
结论: ✓ 503 未产生扣费,扣费透明

插件支持状态

站点类型 Raw Quota 读取 检测模式 状态
New API / One API GET /api/user/self 完整检测(raw quota 对比) ✓ 支持
其他中转站点 无法读取 风险提示(余额观察) ⚠ 降级

如果无法读取 raw quota,工具将降级为风险提示模式,通过对比页面余额变化和请求响应来判断是否存在扣费风险。


Link-AI 的扣费透明度

使用 Link-AI 时,以下原则确保扣费透明:

  • 按量计费:只为实际消耗付费,不预扣
  • 失败不扣:系统故障导致的 500 报错,扣费会在审计后自动返还
  • 透明日志:控制台提供详细使用日志,每笔扣费可查
  • api1/api2 分流:长请求用 api2,普通请求用 api1,均共享同一账户余额

如果发现异常扣费,可联系客服处理。


常见问题

空回复扣费是指请求发送成功、API 返回了错误(如 503、500、network error)或无有效输出,但站点仍然按 prompt tokens 或估算 usage 扣费的现象。这在中转站点中比较常见,因为中转渠道的预扣费机制。

工具在请求前读取 raw quota(原始余额),发起测试请求,等待后再次读取 raw quota。如果无有效输出但 raw quota 减少,则判定为异常扣费。raw quota 是精确的账户扣费记录,比页面显示余额更准确。

New API / One API 类站点可通过 GET /api/user/self 获取 data.quota(raw quota),使用 header new-api-usercredentials include 带 cookie。配合 GET /api/statusquota_per_unit 换算实际金额。

页面余额通常只显示两位小数,无法发现 $0.0001 级别的变化。扣费检测工具应优先读取 /api/user/self 返回的 raw quota,再结合 quota_per_unit 换算金额,而不是只看前台余额。

理论上 503(上游不可用)不应产生最终扣费,但如果站点使用了预扣费机制,可能出现预扣后未返还的情况。通过 raw quota 对比可以精确判断。

主要四类:1) 失败请求扣费(503/500/network error 但仍扣费);2) 空回复扣费(无有效输出但扣费);3) 预扣未返还(预扣后未结算返还);4) 无效模型扣费(模型不支持但仍扣费)。

Link-AI 按实际消耗计费,失败请求扣费会在审计后自动返还。如果发现异常扣费,请联系客服处理。

工具可生成包含检测前 raw quota、检测后 raw quota、变化量、结论等信息的报告,包含 HTTP 状态码、响应内容、有效输出判定等详细信息,可直接发给站点管理员。


相关教程

524 超时解决

了解为什么长请求会超时,以及如何通过 api2 避免。

查看详情 →
🔧

Claude Code 配置

Claude Code 完整配置教程,使用 api2 避免超时和扣费问题。

查看教程 →

Codex CLI 配置

Codex CLI 配置教程,推荐 api2 通道。

查看教程 →
即将上线:Chrome 扣费检测插件 先查看检测原理,插件上线后一键检测任意站点的扣费透明度。
查看检测原理 获取 API Key