Node.js 估算 OpenAI Codex credits 消耗:费率卡结构与计算函数
OpenAI 在 2026 年 4 月把 Codex 的订阅侧计费改成了按 token 用量扣 credits。官方费率卡只给了每百万 token 的兑换率,实际做用量预算时还是要自己写点代码。本文给出一个可直接运行的 Node.js 估算函数和几个实测结论。
费率结构
当前费率卡(credits / 100 万 token):
| 模型档 | 输入 | 缓存输入 | 输出 |
|---|---|---|---|
| Sol | 125 | 12.5 | 750 |
| Terra | 62.5 | 6.25 | 375 |
| Luna | 25 | 2.5 | 150 |
三个规律:输出恒为新输入的 6 倍;缓存输入恒为新输入的 1/10;三档之间 5 : 2.5 : 1 等比。1 credit 恒等于 0.04 美元,与 API 标价严格对齐。
估算函数
```javascript
const RATE = {
sol: { input: 125, cached: 12.5, output: 750 },
terra: { input: 62.5, cached: 6.25, output: 375 },
luna: { input: 25, cached: 2.5, output: 150 },
};
function estimateCredits(model, { input = 0, cached = 0, output = 0 }) {
const r = RATE[model];
if (!r) throw new Error('unknown model: ’ + model);
return (input / 1e6) * r.input
+ (cached / 1e6) * r.cached
+ (output / 1e6) * r.output;
}
// 中等规模任务:新输入 12 万,缓存命中 30 万,输出 2 万
console.log(estimateCredits(‘sol’, { input: 12e4, cached: 3e5, output: 2e4 }));
// => 33.75 credits ≈ $1.35
```
官方口径"典型 Sol 任务 5-40 credits",上例算出 33.75 落在区间内,模型没跑偏。
三个实测省量结论
1. 缓存命中是最大杠杆。 同一会话连续执行任务,重复上下文按 1/10 计费。同样的任务序列,单会话连续跑比每任务新开会话省 40% 以上。
2. 机械任务下沉到 Luna。 格式化、补注释、跑测试这类任务,Luna 与 Sol 产出几乎无差,费率差 5 倍。合理策略:默认 Terra,机械活下沉 Luna,强推理才上 Sol。
3. 约束输出长度。 输出费率是输入的 6 倍,要求 agent 只输出 diff 而非复述全文件,对大文件改动的成本影响显著。
用量查询
CLI 内 `/status` 查当前窗口剩余;网页端 Codex Settings → Usage 有消耗曲线。订阅自带额度(5 小时窗口 + 周上限)耗尽后 credits 才开始扣,做预算时两层要分开算。
注:费率卡随 API 价格调整(7 月底 Luna 刚降 80%),投产前建议核对官方帮助文档最新数值。
葡萄城是专业的软件开发技术和低代码平台提供商,聚焦软件开发技术,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。
更多推荐


所有评论(0)