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%),投产前建议核对官方帮助文档最新数值。

Logo

葡萄城是专业的软件开发技术和低代码平台提供商,聚焦软件开发技术,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。

更多推荐