OpenAI API 余额怎么查询:三种方法与用量核对
账单对不上、余额不知道还剩多少、突然 429 是不是欠费了?这篇讲清 API 余额和用量的三种查询方法:控制台、响应里的 usage 字段、脚本批量核对,附对账思路。
「API 还剩多少额度」「这个月的账单怎么比预想多一倍」「突然请求被拒是不是欠费了」——这三个问题背后是同一件事:你没有在做余额和用量的核对。官方渠道查余额要登录 Billing 页面,聚合平台各有各的控制台,但核对思路是通用的。
这篇讲三种方法:看控制台、读响应里的 usage 字段、写脚本自动对账。十分钟的设置,之后每月省下数小时的糊涂账。
先说结论
- 日常查余额:控制台看总额度和已用,十秒钟的事
- 想知道单次请求花了多少:读每次响应里的
usage字段,这是最准的 - 月度对账、发现异常扣费:脚本汇总 usage 日志和控制台账单比对
- 报 429 且额度充足才是真的限流;额度不足一般报 402 或 403,先查余额再排查
方法一:控制台查询(日常首选)
在聚合平台上,余额和用量都在控制台里:
- 登录平台控制台,首页通常直接显示账户余额和当月消费
- 进「用量统计」或「日志」页面,能看到按天、按 Key 的消费明细
- 给每个 Key 单独设置额度上限,跑飞了最多损失上限金额
以 zaimod 为例,控制台按 Key 统计用量,哪个项目在烧钱一眼可见。还没注册的可以直接 创建账户,充值按量计费、额度不过期。
方法二:读响应里的 usage 字段(最精确)
每次聊天补全的响应里都带 usage,这是计费的原始依据:
from openai import OpenAI
client = OpenAI(
api_key="sk-你的密钥",
base_url="https://api.zaimod.com/v1",
)
resp = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": "用一句话解释什么是向量检索"}],
)
print(resp.usage)
输出类似:
CompletionUsage(
prompt_tokens=21,
completion_tokens=38,
total_tokens=59,
)
把 prompt_tokens、completion_tokens 乘上模型单价(见 价格页),就是单次请求的真实成本。以 gpt-4o-mini($0.156 / $0.624 每百万 tokens)为例:
| 单次请求 | 输入 tokens | 输出 tokens | 成本估算 |
|---|---|---|---|
| 短问答 | 800 | 300 | 约 $0.0003 |
| 文档摘要(5000 字) | 8000 | 1500 | 约 $0.002 |
| 长对话(累计上下文) | 30000 | 2000 | 约 $0.006 |
成本失控的最常见原因:多轮对话每轮都带全部历史上下文,输入 tokens 滚雪球。第 20 轮的输入可能已经是第 1 轮的十倍。对策是定期截断历史或做摘要压缩。
方法三:脚本对账(月度必做)
在业务代码里把每次请求的 usage 落日志,月末汇总:
import json, time
def log_usage(resp, model, scene):
with open("usage.log", "a", encoding="utf-8") as f:
f.write(json.dumps({
"ts": time.strftime("%Y-%m-%d %H:%M:%S"),
"scene": scene,
"model": model,
"prompt_tokens": resp.usage.prompt_tokens,
"completion_tokens": resp.usage.completion_tokens,
}) + "\n")
月末做三件事:
- 汇总日志得出各场景的 token 总量,乘单价得到理论成本
- 和控制台账单比对,偏差超过 5% 就要查(可能是某次批量任务被遗忘)
- 按场景排序找出消费前三,通常一个场景就占了七成——优化它比全局降价有效
突然请求被拒?先分清欠费和限流
| 现象 | 典型原因 | 先做什么 |
|---|---|---|
| 402 / 余额不足提示 | 额度用完 | 控制台充值 |
| 429 + rate limit 字样 | 触发限流 | 查 429 排查指南 |
| 401 | Key 错误或被删 | 检查 Key 是否拼写正确、是否启用 |
| 403 | 区域或权限限制 | 核对 base_url 与账号状态 |
拿到错误码先对照 LLM API 报错排查手册 定位,再动手改代码,多数「玄学报错」都有一眼可见的原因。
常见问题
Q:官方 OpenAI 平台还能用接口查余额吗?
老的 /dashboard/billing/ 系列接口已逐步收紧,官方现在主推 Usage 页面和数据导出。依赖脚本轮询余额的方案要做好随时失效的准备,对账逻辑尽量基于自己记录的 usage 日志。
Q:usage 的 token 数和控制台扣费不一致?
先确认两边统计的时间窗口一致;再确认模型单价用的是该平台当前挂单价而非官方价。仍不一致,拿着具体请求时间和 token 数找客服核对。
Q:怎么防止余额被跑光?
给每个 Key 设置消费上限,并开启用量的异常告警(部分平台支持)。再加上「怀疑泄露立刻删 Key 重建」的预案,参见 API Key 泄露应急处理。
Q:余额会过期吗?
zaimod 的充值额度不过期,用完为止。其他平台规则各异,充值前看清楚。
延伸阅读
- 2026 大模型 API 价格对比:主流模型实测数据
- 月预算 50 美元的大模型组合方案:主力+廉价+免费档
- OpenAI API Key 怎么购买:国内开发者完整指南
- 注册账户,开通后即可在控制台查看实时用量