Methodology
别人算标价,我们算你收到的账单——并且让每个数字可审计。本页声明数据从哪来、怎么归一、怎么验证、什么时候我们承认不知道。
1 · 三个独立数据源
| 源 | 覆盖 | 取证方式 |
|---|---|---|
| OpenRouter API | 462 个有价模型,含 cache read/write、reasoning 独立价、长上下文分档(overrides) | 响应 etag 存入每条观测 |
| LiteLLM model_prices | 4,400+ 条目;分档/批量/弹性价为条目内字段 | 先取 commit sha,再用该 sha 拉 raw——价格永远能对回到代码版本 |
| models.dev | 8,300+ 模型,按厂商独立维护(与 OpenRouter 无镜像关系,实测键重叠为 0) | 响应 etag + 抓取时间戳 |
LiteLLM 里的 openrouter/* 键是 OpenRouter 的镜像,不构成独立证据——每条观测都带 is_independent 标记,镜像命中只算单源。
2 · 身份归一
同一模型在不同源叫不同名字(claude-haiku-4.5 vs claude-haiku-4-5,bedrock 的 us.amazon.nova-pro-v1:0)。归一层做:厂商别名表 → 变体后缀剥离(日期快照、-latest、区域部署前缀)→ vendor+model 键匹配。两条红线:
- 改价变体永不归并:
:batch、:free、:thinking是不同的价格实体;C 源的-latest也不允许顶给 A 源的:batch。 - 浮动别名不与 pinned 归并。
3 · 一致性判定(不抹平、不取平均、不取中位数)
| 状态 | 含义 |
|---|---|
| ✓ N 源交叉验证 | ≥2 个独立源价格一致(价差 ≤1%) |
| 单源 | 只有 1 个独立源——即使镜像源一致也算单源 |
| 两源分歧 | 价差 >1%:consensus 置空,各源原值并列展示 |
| 未验证 | 无可用观测。绝不用默认值填充出一个好看的数字 |
缺数据 ≠ 价格为 0:计算引擎遇到缺失字段时成本记 0,但必须在结果里以 FIELD_UNVERIFIED 警告声明「本结果不含此项成本,实际账单会更高」。
4 · 单位与精度
所有价格以 USD per 1M tokens 为 canonical 单位,存储为整数微美元(price_micro = round(per_token × 1e12)),中间计算全程整数,避免浮点漂移。服务层(batch/flex/priority)与长上下文分档作为独立观测行存储,不与标准价混合。
5 · 局限性(诚实声明)
- 标价 ≠ 发票:促销、企业折扣、区域定价、tokenizer 差异无法从公开数据获得。用 /calibrate 校准你自己的系数。
- models.dev 为社区维护,调价可能滞后;头部 30 个模型每月人工核对官方页兜底。
- 我们绝不允许自己声称「官方认证」。
- 发现错误?每页都有数据来源链接,欢迎带着证据纠错。
6 · 全量历史开放下载
价格观测按月分片存档(ndjson.gz,append-only),这是本站的时间资产:/data/history/<month>.ndjson.gz。当前快照见 /data。