OpenAI 的账单里,输入和输出分开计价,而且输出通常是输入的 5 到 8 倍。这意味着「我这句 prompt 很短」不等于便宜——模型回得越长越贵,而你没法提前控制它回多长。
很多人算 GPT 成本时只看输入价,觉得一 M token 才一两美元很便宜,结果月底发现账单是估算的三倍。原因就是输出那部分被漏掉了,而输出往往才是大头。
prompt caching 命中时输入价能打到一折,没命中就是原价。多轮会话和 Agent 循环里,缓存命中率直接决定账单差几倍。
但缓存只对重复前缀生效。前缀动了、会话开新的、话题切换了,命中率立刻掉下来。你没法从外面看出这一轮到底命中了没有,只能等月底账单告诉你。
同一个模型,上下文超过某个阈值后,整个请求的输入单价会上调。长文档任务在官方这边是越用越贵,不是线性增长。
这条规则最坑的地方在检索增强的场景:你为了让模型答得准,拼命往里塞参考材料,结果触发了更高的单价档,成本曲线陡然上翘,而收益只是准确率提升了几个点。
不是技术问题,是管理问题。你没法给老板或客户报一个确定的单价,只能报区间,然后月底填坑。做对外产品定价时,这种不可预测性比贵本身更难处理。
按次计费解决的正是这一段。它不承诺每 token 最低价,但承诺每次调用一个固定数字,让你能把成本写进报价单。
| 模型 | 单价(元/次) | 定位 |
|---|---|---|
| gpt-5.5 | 0.2 | 通用主力,生态和工具调用最成熟 |
| gpt-5.5-pro-thinking | 0.2 | 强推理档,价格与 5.5 同档 |
| gpt-5.4-pro-thinking | 0.15 | 性价比推理档 |
| gpt-5.3-pro | 0.3 | 上代推理旗舰,仍是单价最高的一档 |
| gpt-5.6-luna | 0.12 | 轻量高速,适合高并发 |
| gpt-5.6-sol | 0.17 | 均衡档 |
| gpt-image-2-pro | 0.25 | 生图模型,按张计费 |
从这张表能看出来一件事:最贵的不是最新的,是上一代的 gpt-5.3-pro。这种倒挂在新旧交替期很常见,选型时别默认「型号数字大就等于贵」。
生图不走 token 计费,按张算。gpt-image-2-pro 0.25 元一张,官方向同档位的高质量出图约 $0.17 一张,折人民币 1.2 元上下,按次这边便宜约 5 倍。
这是整张表里倍数最小的一项,因为生图的成本大头在算力而不在 token,中转能优化的是网络和支付环节,不是推理本身。所以别指望生图有文本模型那种几十倍差价。
官方人民币成本 = 输入token / 1000000 × 输入单价$ × 汇率
+ 输出token / 1000000 × 输出单价$ × 汇率
汇率按 7.2 算。标准档参考 $1.25/M 输入、$10/M 输出;Pro 档参考 $15/M 输入、$120/M 输出。用范围而不是单一数字,是因为官方价目表本身分档,写死一个数反而误导。
输入 3000 token、输出 800 token 的一次问答:
短请求上官方标准档确实更便宜,0.085 对 0.2,差了不到一毛五。这是实话,选按次要接受这一点。但要注意官方那个价格不含网络和支付成本,也不含你为了不掉线做的备用链路。
输入 10 万 token、输出 2000 token:
| 口径 | 计算 | 成本 |
|---|---|---|
| 官方标准档 | 0.1 × $1.25 + 0.002 × $10 | 约 1.04 元 |
| 官方 Pro 档 | 0.1 × $15 + 0.002 × $120 | 约 12.5 元 |
| 小鱼API 按次 | 固定单价 | 0.2 元 |
Pro 档一次差 62 倍。这就是长上下文场景里按次计费没有对手的原因:输入越长,官方涨得越快,按次岿然不动。
gpt-5.5 是通用主力,工具调用、结构化输出、多模态这些接口行为最稳,社区踩坑记录最多,遇到问题能搜到答案。gpt-5.3-pro 是上代推理旗舰,在一些老评测集上仍有优势,但 0.3 元的单价放在今天没有性价比。gpt-5.4-pro-thinking 是新的推理档,0.15 元,比 5.3-pro 便宜一半。
如果只看一个指标——每次调用能解决多少事——gpt-5.4-pro-thinking 在推理任务上是这一代最划算的,gpt-5.6-luna 在批量任务上最划算。两个加起来覆盖八成场景。
gpt-5.5-pro-thinking 和 gpt-5.5 一个价,很容易顺手全用 pro。但 pro 档延迟更高,简单任务上用它是纯等,一次多三五秒,量大就很明显。
正确的做法是按任务分流:意图识别、字段抽取、格式转换走 luna,需要多步推理的才切 pro。
官方生图按尺寸和质量分成好几档价,低质量便宜、高质量贵,还有不同的宽高比。想批量出图得先把参数固定下来才能算成本,中途改一次参数,预算全废。
按次这边统一 0.25 元一张,不看尺寸也不看质量档。批量出图时,这种确定性比单价本身值钱,因为你不用为了省几毛钱去纠结用哪个档,最后浪费的是判断时间。
| 张数 | 按次成本 | 官方同档位参考 |
|---|---|---|
| 100 张 | 25 元 | 约 120 元 |
| 1000 张 | 250 元 | 约 1200 元 |
| 10000 张 | 2500 元 | 约 12000 元 |
做电商主图、素材铺量这类活,1000 张是起步量。按这个量算,一年下来差的就是一万多块的级别。
curl https://xyuapi.top/v1/images/generations \
-H "Authorization: Bearer sk-你的小鱼API密钥" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-image-2-pro",
"prompt": "极简电商主图,纯白背景,产品居中,柔和阴影,无文字",
"size": "1024x1024",
"n": 1
}'
生图按张计费,n 写几就是几张的成本。批量任务建议一张一请求,出错了只重跑那一张,别把 n 开到 20——一张失败整批重来的代价更大。
高频短请求走按量或者干脆本地小模型,长上下文和复杂推理走按次,两条链路共用一个 Key,不用在服务商之间来回切。
判断分界线很简单:单次输入超过 8000 token,就走按次;低于这个数,按量也没差多少钱,选省心的就行。
| 用量档 | 日均调用 | 月调用 | 全用 gpt-5.5(0.2) | 混合(6 成 luna + 4 成 5.4-pro) |
|---|---|---|---|---|
| 个人轻用 | 20 | 600 | 120 元 | 82 元 |
| 小团队 | 200 | 6000 | 1200 元 | 816 元 |
| 产品级 | 2000 | 60000 | 12000 元 | 8160 元 |
混合口径按日均 120 次 luna、80 次 pro 折算,加权单价约 0.136 元。这个组合能覆盖绝大多数场景:简单活快,难活准。
最高效的做法不是看估算表,是先充最低档 7 元,用你自己真实的 prompt 跑一周,把调用次数记下来。7 元按 0.2 元一次能跑 35 次,按 luna 能跑 58 次,足够摸清单次消耗。
拿到真实日均调用量再回头套上面的表,比任何估算都准。产品级用量该直接上无限卡套餐,按次付到那个数字就不划算了。
用官方 API 在国内要解决的问题不止 token 价格:域名能不能稳定连上、要不要挂代理、代理挂了怎么兜底。这些都要写代码、都要有人值班。
另一个变量是账号风控。共享账号、异常地区登录、支付方式变动都可能触发限制,触发之后不是加钱能解决的,是整条链路停摆。对跑在线业务的人来说,这种风险得按停机成本算,而不是按 API 单价算。
美元结算要走国际信用卡,卡组织收货币转换费,通常落在 1% 到 3% 之间。再叠上汇率波动,你按 7.2 算的预算,实际扣款可能按 7.35 走。
小额高频场景下这部分损耗很容易被忽略,但它是一笔实打实、且你完全控制不了的支出。支付宝微信直接付人民币就没有这一段。
官方额度是先充后用的预付制,充进去的钱不好退。一次充几百美元进去,等于把钱压在一个不能自由取出的账户里,同时还得担心账号本身出问题。
按次这边最低 7 元起充,试错成本压得很低。先用小额验证链路稳定性和输出质量,确认没问题再加钱,这个顺序比反过来合理得多。
from openai import OpenAI
client = OpenAI(api_key="sk-你的密钥", base_url="https://xyuapi.top/v1")
def ask(prompt, model="gpt-5.5"):
resp = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
temperature=0.7,
)
return resp.choices[0].message.content
print(ask("把这行 Nginx 日志拆成 JSON", model="gpt-5.6-luna")) # 简单任务走便宜档
print(ask("推导这个并发场景下可能出现的竞态条件", model="gpt-5.4-pro-thinking")) # 复杂推理走 pro 档
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.XYU_API_KEY,
baseURL: "https://xyuapi.top/v1",
});
const res = await client.chat.completions.create({
model: "gpt-5.5",
messages: [{ role: "user", content: "写一个带过期时间的 LRU 缓存实现" }],
});
console.log(res.choices[0].message.content);
Chatbox、Cherry Studio、酒馆、Tavo 里填自定义 API 地址 https://xyuapi.top/v1,Key 填小鱼API 的密钥即可,模型名按上表填。VSCode 里的 Cline、RooCode、KiloCode 选 OpenAI Compatible,把地址和 Key 填进去。Claude Code 用 cc-switch 中转也能接,一个 Key 调全系列,不必为不同模型开不同账户。