跳到正文

订阅的实际额度 ​

这一页解释一件很容易误会的事:你看到的「套餐额度」和「实际能用的额度」不是同一个数。

三种额度,别混在一起 ​

层级是什么在哪看
账户余额你钱包里的钱,所有 Key 共用钱包 / /api/user/self
订阅额度买套餐得到的额度,用完有窗口限制/api/subscription/self
密钥余额某一把 Key 自己的计数器/api/usage/token/

一把 Key 花的钱从账户扣,但 /api/usage/token/ 显示的是这把 Key 自己的用量。两个数通常对不上,这是正常的。

订阅额度怎么看 ​

bash
curl https://api.syuan.org/api/subscription/self \
  -H "Authorization: Bearer nap_你的访问令牌"
json
{
  "success": true,
  "data": {
    "billing_preference": "subscription_first",
    "subscriptions": [
      {
        "subscription": {
          "plan_id": 7,
          "amount_total": 10000000,
          "amount_used": 2500000,
          "status": "active",
          "end_time": 1792600000,
          "five_hour_window_start": 0,
          "five_hour_window_used": 0,
          "weekly_window_start": 1790000000,
          "weekly_window_used": 3200000
        }
      }
    ]
  }
}

订阅剩余 = amount_total - amount_used

关键:套餐算的不是「一次性总额」 ​

这是最容易踩的地方。

套餐页面上写的 total_amount 是套餐基数。实际发放到 amount_total 的数字,会跟购买时间、活动、手动调整有关,不一定等于基数。

所以别拿套餐页的数字去减。以 /api/subscription/self 里的 amount_total 为准,那才是真正发到你账上的。

判断方式

  • 看剩下多少:amount_total - amount_used
  • 看还剩多久:end_time(时间戳)
  • 看是否生效:status == "active" 且 end_time 还没到

滚动窗口是什么 ​

有些套餐除了总额度,还有时间窗口限制:

字段含义
five_hour_window_start5 小时窗口的起点,0 表示未启用
five_hour_window_used这个窗口里已经用了多少
weekly_window_start每周窗口起点
weekly_window_used这周已经用了多少

窗口没用满的时候,总额度还有剩也不能超。这是为了防止一次性把整个月的额度刷完。

各套餐的窗口配置(以实际下发为准):

套餐每周窗口5 小时窗口重置
Plus12,500,0002,500,000每周
Pro25,000,000无每周
Pro20x50,000,000无每周
CN 20x15,000,000无每周
Lite无2,000,000每天
CN无无每周

数字会变

上表是写文档时的配置,活动期间可能调整。以你自己接口返回的数为准。

扣费顺序 ​

billing_preference 告诉你先扣哪儿:

值含义
subscription_first先扣订阅,订阅用完再扣钱包
wallet_first先扣钱包

扣费顺序不影响你能用多少,只影响「先花哪一笔」。

什么时候会看到「额度不足」 ​

即使订阅还有额度,也可能被拦:

  1. 5 小时窗口用满了 → 等窗口滚动
  2. 每周窗口用满了 → 等下周
  3. 订阅到期了(end_time 已过)
  4. 套餐不含你正在用的分组

第 4 条容易被忽略:订阅会限定可用分组。比如某个套餐只给 Pro、CN,那你拿它去调 Claude 分组是不算套餐额度的。

想自己算一下 ​

bash
curl -s https://api.syuan.org/api/subscription/self \
  -H "Authorization: Bearer nap_你的访问令牌" \
  | jq '.data.subscriptions[] | {
      剩余: (.subscription.amount_total - .subscription.amount_used),
      本周已用: .subscription.weekly_window_used,
      五小时已用: .subscription.five_hour_window_used
    }'

查余额的完整说明在 余额怎么查。