做 AI 网关被模型价格折磨之后,我做了 pricemon.net

models.dev 渠道价太多、几乎全 USD,做国内模型网关的我需要的是厂商刊例价。于是做了 pricemon.net:147 个模型、18 家厂商,每条价格附官方来源与核对日期,REST API 与 MCP 全开放。

做 AI 网关被模型价格折磨之后,我做了 pricemon.net

缘起:做 AI 网关,被模型价格折磨

我一直在做 AI API 网关相关的产品。做网关的人都知道,计费、比价、成本估算,一切都建立在一张「权威价格表」上——表不对,后面全歪。

很长一段时间里,我同步模型价格用的是 models.dev。它做得很好,但对国内场景有几个绕不过去的问题:

  • 一个模型挂一堆渠道价。同一个 GPT-4o,models.dev 会给你 OpenRouter、Azure、官方等多个渠道的不同价格。做网关对接官方 API 时,我想要的是刊例价(官方标准价),不是渠道的转售价,从一堆价格里挑出正确的那条本身就是个负担。
  • 几乎全是 USD。而国内厂商(DeepSeek、通义、豆包、Kimi……)刊例价是 CNY,按「元 / 百万 tokens」计价,和海外厂商的口径直接对不上。
  • 计价方式五花八门。LLM 是输入/输出/缓存三档价格;图像按张;视频按秒;语音按字符;有的模型还按上下文长度分档、有批量折扣、思考和非思考模式两个价。一个扁平的 price 字段根本装不下这些。

每次同步价格,我都要去各家官网人肉核对一遍。做久了就想:这事干脆工具化——于是有了 pricemon.net。一方面方便自己定期同步模型价格,另一方面也开放给同行:你可以直接查网站,也可以走 API,或者用 MCP 喂给你的 Agent。

pricemon.net 首页:终端风格的模型行情总表
pricemon.net 首页:终端风格的行情总表,跑马灯滚动最新价格

pricemon.net 是什么

一句话:国内外主流大模型 API 价格的行情站。目前收录 147 个模型、18 家厂商、7 个类别(对话、图像生成、视频生成、语音合成、语音识别、音乐生成、3D 生成),覆盖 DeepSeek、阿里云百炼、智谱、火山方舟、Kimi、千帆、混元、MiniMax、阶跃星辰,以及 OpenAI、Anthropic、Google、xAI 这些海外厂商。

做这个站的时候我有几个执念:

每一条价格都有官方来源。每条数据都带 sourceUrl(官方定价页链接)和 updatedAt(人工核对日期)。价格数据最容易腐烂,我要做的不是又一个聚合爬虫,而是一张「可以追溯」的表——价格存疑时,点开链接自己核对。

计价方式忠于厂商原样。LLM 按百万 tokens 展示输入/输出/缓存三档价;图像按张、视频按秒、语音按字符,标注计价单元;国内 CNY、海外 USD,原币种不做换算——换算汇率是我作为网关运营者自己的事,不该由数据源替我做。

模型详情页:价格卡、规格表、分档定价、月费用速算与 FAQ
模型详情页:价格三栏卡、规格表、分档定价、月费用速算与 FAQ

模型详情页是我最喜欢的部分。除了输入/输出/缓存价格,还有上下文窗口、模态、深度思考支持、批量折扣这些规格信息;针对按 token 计价的模型,页面上直接给出「轻量 / 中度 / 重度 Agent」三档月费用速算,按刊例价算,明码标价。

价格变了怎么办

价格是活的。每次官方调价,我会核对一遍并记录到变动日志:哪天、哪家、什么模型、涨了还是降了、从多少到多少。网关运营者最怕「静默调价」,这个页面就是干这个的——订阅 RSS 即可在第一时间收到变动推送。

价格变动日志页
价格变动日志:每条变动附核对日期,可订阅 RSS

用 REST API 集成

网站背后是一套完全开放的 REST API,无需鉴权、直接 GET、返回 UTF-8 JSON。完整文档在 pricemon.net/api-docs

API 文档页:端点、参数、示例响应与频率限制
API 文档页:端点总览、Query 参数、示例响应与限流规则

六个端点:

端点 说明
GET /api/meta 站点统计:总条数、厂商数、类别分布、最近核对日期
GET /api/prices 全部价格,支持 vendor / category / q / currency / reasoning / free 过滤
GET /api/prices/:slug 单模型详情(slug 即 modelId,如 deepseek-v4-flash
GET /api/vendors 厂商列表(含条目数与 logo 路径)
GET /api/categories 类别列表(含条目数)
GET /api/changes 价格变动日志(按日期倒序)

比如拉取 DeepSeek 的全部价格:

curl https://pricemon.net/api/prices?vendor=DeepSeek
GET /api/prices 响应示例
GET /api/prices 响应示例(截取)

响应字段对网关场景做了一些设计:input / output / cacheRead 三档价格之外,tiers 数组放上下文分档定价,batchOff 存批量折扣系数,free 标记免费模型,inputLabel / outputLabel 直接给出格式化好的展示文案。TypeScript 类型大概长这样:

interface PriceEntry {
  vendor: string;        // 厂商
  model: string;         // 展示名
  modelId: string;       // 稳定 ID(slug)
  category: string;      // 对话/图像生成/视频生成/...
  currency: "CNY" | "USD";
  unit: string;          // 百万 tokens / 张 / 秒 / 字符
  input?: number;        // 输入价(缓存未命中)
  output?: number;       // 输出价
  cacheRead?: number;    // 缓存命中价
  cacheWrite?: number;   // 缓存写入价
  context?: number;      // 上下文窗口
  reasoning?: boolean;   // 支持深度思考
  free?: boolean;        // 免费模型
  batchOff?: number;     // 批量折扣系数(如 0.5 = 半价)
  tiers?: Tier[];        // 分档定价
  sourceUrl: string;     // 官方定价页
  updatedAt: string;     // 人工核对日期
}

频率限制一分钟 50 次(IP 与请求指纹双维度),响应带 Cache-ControlX-RateLimit-* 头,做客户端退避很方便。数据 5–60 分钟可缓存,别高频拉全量。GET /api/meta 里的 updatedAt 是最近核对日期,轮询它、变了再拉全量,是更优雅的姿势。

用 MCP 集成:把价格喂给 Agent

如果你在 Claude、Cursor 这类 Agent 里工作,直接连 MCP 更顺手。Streamable HTTP 端点:

https://mcp.pricemon.net/mcp

七个工具:

工具 说明
search_models 按关键词/厂商/类别/币种搜索模型价格
get_model_price 单模型价格详情
compare_prices 多模型价格对比
list_changes 价格变动日志
list_vendors 厂商列表
list_categories 类别列表
get_meta 站点统计

Claude Code 里一行接入:

claude mcp add --transport http pricemon https://mcp.pricemon.net/mcp

之后在对话里就可以问「DeepSeek 现在多少钱」「帮我对比 Kimi 和豆包的输入价」这类问题,Agent 会自己调工具。我日常做网关的成本模型,很多时候就是开个对话直接问。

顺带一提:五种语言

站子本身做了完整的多语言:中文之外,英语日语韩语繁体中文的静态页面都有(168 个页面 × 4 语言),hreflang、canonical、OG 标签全套按语言输出,分享到海外社区不会露怯。

pricemon.net 英文版首页
英文版首页:/en/ /ja/ /ko/ /zh-TW/ 均有静态镜像

写在最后

pricemon.net 对我来说是「自己用的工具顺便开放」:价格数据我本来就要定期核对,做成站点和 API 之后,同行也能省一遍人肉。如果你也在做网关、聚合层、或者只是想查一下「这个模型现在到底多少钱」,欢迎自取:

数据有误、想收录的厂商、或者 API 字段不合用,都欢迎反馈。