GPT API 价格说明:GPT-4o 到 o3 各档定价解读
一个真实场景:某团队把线上客服机器人从 GPT-4o mini 切到 GPT-4o,想着”贵一点但效果更好”,结果月底账单直接涨了小十倍——这不是危言耸听,而是 OpenAI 定价体系里最容易踩的坑:模型档次之间的价差从来不是”贵一点点”,而是数量级级别的跳跃。选错档次,是绝大多数团队 OpenAI 账单失控的第一大原因,没有之一。
OpenAI 是大模型 API 定价的”基准锚”——几乎所有其他厂商的定价都以 GPT 系列作为参照。理解 OpenAI 的分档逻辑,有助于你在跨厂商比价时建立统一框架。
声明:以下价格描述均为截至 2026-06 的定性比较,仅供参考,以 OpenAI 官方定价页面为准。
OpenAI 模型分档:从轻量到推理
OpenAI 目前的 API 产品线大致可分为三档:
| 档次 | 代表模型 | 定位 |
|---|---|---|
| 轻量快速 | GPT-4o mini | 低成本,适合简单任务 |
| 旗舰对话 | GPT-4o | 主力对话,平衡能力与成本 |
| 推理增强 | o3、o4-mini 等 | 复杂推理,成本显著更高 |
价格从轻量到推理模型呈数量级递增,选错档次是 OpenAI 账单超支的主要原因。
三档背后其实对应三条完全不同的算力路径,这一点很多人没细想过:mini 走的是压缩/蒸馏后的小模型,靠吞吐量和低延迟取胜,适合”量大但每次都不难”的任务;GPT-4o 是全尺寸旗舰,上下文理解和多轮对话的连贯性都上了一个台阶;o 系列的推理模型则是在给出最终答案之前,先在内部跑一段”思考链”,这段思考本身要消耗真实算力,所以账单里专门拆出了一项 reasoning token(下一节细说)。你选错档次,本质上是把预算花在了任务根本用不上的算力路径上——用 o3 去做一句话摘要,和用越野车去买菜没什么区别。
判断该用哪一档,一个实用的经验法则是先问自己三个问题:这个任务需不需要多步逻辑推导?错一次的代价有多大?响应延迟能不能接受变长?三个问题里只要有一个答案是”不需要/代价小/要求快”,大概率 mini 就够用,先别急着上旗舰。
计费结构:输入、输出与缓存
OpenAI API 采用”输入 + 输出分开计费”:
| 计费项 | 说明 |
|---|---|
| 输入 token | prompt + 对话历史 + system prompt |
| 输出 token | 模型生成内容,单价约为输入的 3–4 倍 |
| Cached input | 启用 Prompt Caching 后,命中部分打折,约 50% 折扣 |
| Reasoning token(o 系列) | 思考过程 token,与输出 token 同价,不可见但计费 |
推理模型(o 系列)的 reasoning token 是最容易忽略的隐藏成本——模型”思考”的 token 不显示在回答里,但会体现在账单中。
这四项里,最容易被低估的是”输入 token 的雪球效应”。举个例子:一个多轮客服机器人如果每一轮都把前面所有对话原样带入 context,到第 10 轮时,输入 token 可能已经是第 1 轮的 8-10 倍,哪怕用户每次只问一句话,账单也会跟着雪崩式增长。很多团队上线后发现”单次提问看起来很便宜,整体账单却完全失控”,根子往往不在单次调用的定价,而在没有做对话历史截断——正确做法是保留最近 N 轮原文 + 更早对话的摘要,而不是无脑把全部历史一股脑塞进去。
Prompt Caching 值得多说两句,因为它是少数”不改变效果、纯省钱”的手段。它命中的前提是请求里靠前的一段内容(通常是较长的 system prompt 或固定的 few-shot 示例)与上一次调用完全一致,且长度达到官方要求的最小 token 阈值;缓存有一个有效期窗口,长时间不复用会失效。实操上要注意的是:把不变的部分放在 prompt 最前面,把每次变化的用户输入放在最后面,这样才能让固定前缀被复用命中;反过来如果你把用户输入拼在最前面、system prompt 拼在后面,缓存基本命不中,钱白花。缓存未命中不会报错,只是悄悄按原价计费,所以你得自己去查 usage 返回里的缓存字段,才能确认真的省到了钱。
reasoning token 这块的坑更隐蔽,也更容易被误判为”账单算错了”。真实现象是:你在调用 o3 之类的推理模型时,看到返回答案可能只有两三百字,但如果去看 API 响应里 completion_tokens_details.reasoning_tokens 这个字段,可能会发现一个几千的数字——这部分是模型内部推导过程消耗的 token,虽然不会展示给你,但完全计入输出费用,且单价与显式输出 token 相同。如果你发现调用 o3 之后,output token 的账单数量远远超过你看到的回答字数,先别怀疑是账单算错了,去查这个字段,reasoning_tokens 往往才是真正的大头。
关于缓存省钱详情,见:Prompt Caching 省钱原理与实践
Batch API:非实时场景的 50% 折扣
OpenAI 提供 Batch API,将请求打包异步处理,换取约 50% 的价格折扣。适用场景:
- 大批量文档分类、摘要
- 数据标注、内容审核
- 非实时报告生成
不适用场景:需要即时返回的对话、Agent 调用链中的关键步骤。
Batch API 的具体用法是把一批请求整理成 jsonl 文件上传,OpenAI 承诺在一个时间窗口(官方文档里给出的是 24 小时内)完成处理,实际经常更快,但也可能因为排队接近窗口上限,所以千万别拿它做有明确截止时间要求的任务。窗口结束后你会拿到一个结果文件,里面每一行对应一个请求的成功结果或失败原因;失败的条目不会自动重试,需要你自己捞出来重新提交一次。
一个很多人不知道的关键点是:Batch API 走的是独立配额,不占用你实时 API 的 TPM(每分钟 token 数)/RPM(每分钟请求数)限流额度。这意味着你可以放心地把大批量离线任务丢进 Batch,而不会挤占线上服务的实时请求配额。反过来,如果你图省事,把大批量任务直接塞进实时接口去跑,很可能会把线上真实用户的请求也一起限流掉——这时候你会在日志里看到一串 429 Too Many Requests,根因往往就是自己的批处理脚本把 TPM/RPM 打满了,跟真实流量无关。排查思路:先看 429 响应头里的限流类型(token 还是请求数),再看是不是有后台任务在抢配额;解决办法是给批处理任务单独走 Batch API,或者给重试逻辑加指数退避(比如第一次等 1 秒,失败再等 2 秒、4 秒,设置一个上限次数避免死循环),而不是简单粗暴地立刻重试。
GPT vs 国产模型:定性价格位置
| 维度 | GPT-4o mini | GPT-4o | o3 |
|---|---|---|---|
| 相对价格水平 | 低(但高于国产轻量) | 中高 | 极高 |
| 中文能力 | 中等 | 较强 | 较强 |
| 适合场景 | 批量处理、简单问答 | 通用旗舰 | 复杂推理 |
国产厂商(DeepSeek、Qwen 等)在价格上通常低于 GPT-4o 同级,但 OpenAI 在某些复杂任务上的输出质量仍有优势。判断依据可以拆成三块看:中文语义细腻度(长文写作、古文/俗语理解,国产模型这几年追得很快)、复杂推理稳定性(多步数学、严谨代码 review,GPT 系旗舰目前仍偏稳)、以及成本敏感度(同等预算下国产模型往往能跑更大的量)。如果你的业务是中文客服、内容生成这类”量大不太难”的场景,优先测国产;如果是需要严谨推导的核心逻辑,宁可多花钱也别在这块省。详见:国产大模型价格横向对比
如何控制 OpenAI 账单
- 默认使用 GPT-4o mini,只在需要时切换旗舰。做法很简单:给业务加一层路由逻辑,简单意图(FAQ、格式化、分类)走 mini,只有识别出”需要推理/长文/高风险”的请求才升级到 GPT-4o 或 o 系列。
- 开启 Prompt Caching,长系统提示重复使用时命中率高。记得把固定内容放在 prompt 最前面,变化内容放最后,否则缓存形同虚设。
- Batch API 处理离线任务,且不会挤占线上服务的限流配额,批处理和实时服务互不干扰。
- 限制 max_tokens,防止模型无限生成。尤其是推理模型,不设上限时 reasoning token 可能远超预期,务必配合前面提到的 usage 字段检查。
- 设置 usage 告警,在 OpenAI 控制台设置每日/每月上限,账单异常时第一时间能收到通知,而不是等月底账单出来才发现。
- 避免 o3 作为默认模型,推理模型按需使用,只在真正需要多步逻辑的场景才调用。
- 给账单做一次简单估算,上线前心里要有数:预估月成本 ≈(日均调用次数 × 平均输入 token × 输入单价 + 日均调用次数 × 平均输出 token × 输出单价)× 30。举例:日均 10000 次调用,平均输入 500 token、输出 200 token,用 mini 和用 GPT-4o 代入这个公式一算,你会直观看到两者能差出一个数量级,这比事后看账单再心疼管用得多。
- 准备降级策略(fallback),当旗舰模型超时或触发 429 时,自动降级到 mini 继续对话,保证服务可用性的同时也顺带控制了高峰期的成本。
用 价格对比表 可实时查看各档 GPT 模型的当前报价,并与其他厂商做横向比较。
常见问题
GPT-4o 和 GPT-4o mini 差多少钱?
两者价格差距显著,GPT-4o mini 是 GPT-4o 的十分之一左右,但能力也相应下降。对于简单任务,mini 版完全够用。具体比例以官方最新定价为准。
o3 和 GPT-4o 什么时候该用哪个?
o3 适合需要严格推理的场景(数学证明、复杂代码 debug、多步逻辑判断),GPT-4o 适合通用对话和内容生成。错误使用 o3 处理简单任务是最大的浪费。
为什么账单里的 output token 比我看到的回答字数多很多?
前面提到过,这多半是推理模型的 reasoning token 在”隐身消耗”。排查方法是打开 API 返回的 usage 字段,看 completion_tokens_details.reasoning_tokens 这一项,而不是去猜账单是不是算错了。如果这个数字异常大,说明你的 prompt 可能让模型陷入了过度思考,可以尝试把问题拆得更明确、更收敛,减少模型”绕圈子”的空间。
调用报 429 怎么办?
先分清是 TPM 限流还是 RPM 限流,再看看是不是有批处理任务在跟线上服务抢配额。短期应急用指数退避重试(间隔逐次翻倍,设置最大重试次数),长期解法是把离线任务挪到 Batch API,把线上服务的限流配额留给真实用户。
对话轮数多了报 context 超限怎么办?
不同模型的上限不同,且会随官方版本更新变化,具体数值以 OpenAI 官方文档为准;报错通常会明确提示”maximum context length”之类的字样。遇到这种情况,别急着切换更大窗口的模型,先看看是不是历史对话没做截断——摘要早期对话、只保留最近几轮原文,往往比无脑加大窗口更省钱也更快。
OpenAI 有免费额度吗?
新账户有少量免费 credit,用于测试。生产环境需付费。各家免费额度详情见:各家免费额度盘点
延伸阅读:
- 计费原理全解:大模型 token 计费完全指南
- Claude API 价格:Claude API 价格说明
- Gemini API 价格:Gemini API 价格说明
- 国产对比:国产大模型价格横向对比
- 实时价格查询:价格对比表工具
- 成本话题 Hub:token 成本专题