现场是这样的。Kimi 开放平台账户里有 15 元赠送余额,调用 moonshot-v1-8k 返回 402,原文 Insufficient balance,充值 50 元后立刻恢复,赠送金那一栏的数字从注册到现在一次都没动过。

中间走过弯路,把「余额同步有延迟 充值后短时仍报错」当成主因,改完现象没变。

真正麻烦的地方在于,几个原因的现象几乎一样。赠送金有有效期 已过期但页面仍显示金额;赠送金只能抵扣部分模型;子账号额度为零 主账号余额不能共用。

第一件事是查账户余额与可用额度明细

curl -s https://api.moonshot.cn/v1/users/me/balance -H "Authorization: Bearer $MOONSHOT_KEY" | jq

随后用最小请求确认是否仍 402

curl -s -o /dev/null -w '%{http_code}' https://api.moonshot.cn/v1/chat/completions -H "Authorization: Bearer $MOONSHOT_KEY" -H 'Content-Type: application/json' -d '{"model":"moonshot-v1-8k","messages":[{"role":"user","content":"hi"}]}'

然后在控制台确认赠送金有效期与适用范围

python -c "print('check grant expiry and model scope')"

剩下的就是换主账号 key 或现金余额再复测

python -c "print('switch to primary account key')"

怎么算真的好了,看的是同一批现象。余额接口里 available_balance 大于零,请求返回 200,账单页出现这次的扣费记录。

容易忽略的是,赠送金和现金余额是两本账,过期与模型范围都会让可用余额归零,页面上的总额不代表能扣。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。

作者 9823189