外观
订阅的实际额度
这一页解释一件很容易误会的事:你看到的「套餐额度」和「实际能用的额度」不是同一个数。
三种额度,别混在一起
| 层级 | 是什么 | 在哪看 |
|---|---|---|
| 账户余额 | 你钱包里的钱,所有 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_start | 5 小时窗口的起点,0 表示未启用 |
five_hour_window_used | 这个窗口里已经用了多少 |
weekly_window_start | 每周窗口起点 |
weekly_window_used | 这周已经用了多少 |
窗口没用满的时候,总额度还有剩也不能超。这是为了防止一次性把整个月的额度刷完。
各套餐的窗口配置(以实际下发为准):
| 套餐 | 每周窗口 | 5 小时窗口 | 重置 |
|---|---|---|---|
| Plus | 12,500,000 | 2,500,000 | 每周 |
| Pro | 25,000,000 | 无 | 每周 |
| Pro20x | 50,000,000 | 无 | 每周 |
| CN 20x | 15,000,000 | 无 | 每周 |
| Lite | 无 | 2,000,000 | 每天 |
| CN | 无 | 无 | 每周 |
数字会变
上表是写文档时的配置,活动期间可能调整。以你自己接口返回的数为准。
扣费顺序
billing_preference 告诉你先扣哪儿:
| 值 | 含义 |
|---|---|
subscription_first | 先扣订阅,订阅用完再扣钱包 |
wallet_first | 先扣钱包 |
扣费顺序不影响你能用多少,只影响「先花哪一笔」。
什么时候会看到「额度不足」
即使订阅还有额度,也可能被拦:
- 5 小时窗口用满了 → 等窗口滚动
- 每周窗口用满了 → 等下周
- 订阅到期了(
end_time已过) - 套餐不含你正在用的分组
第 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
}'查余额的完整说明在 余额怎么查。
