很多人以为「额度」是按字数算的,于是把回答截短、把提示词砍掉,结果发现扣得还是很快,或者反过来写了一大段却几乎没动。这篇不讲账单为什么和预估不一样,只回答一件事:输出文字的长度跟额度扣减到底挂不挂钩、按什么口径挂钩,以及你想省的时候该动哪几个开关。
先分清:额度扣的是「量」,不是「字数」
很多人问「我打了两百字,扣了多少额度」,这个问法其实对不上口径。平台扣的是「量」,不是「字数」。量是平台自己定义的一个计量单位,字数只是这个单位换算出来的一种近似说法,中间隔着分词方式、语言、内容形态好几层。所以想弄明白账,得先搞清楚你用的那个东西到底按什么扣。
- 计量单位
- 平台用来扣额度的最小计数单位,可能是 token、字符、请求次数、积分等,不同平台不一样
- 输入侧
- 你发给模型的内容所占的量,包括提示词、历史对话、上传的文本
- 输出侧
- 模型返回给你的内容所占的量,也就是「输出的文字内容」
- 近似换算
- 字数只是估算量的一种粗略方式,不是平台真正去数的那个东西
关键一点:输入和输出通常是分开计量的,而且输出那一边一般更贵。原因不难理解,模型生成内容要比读入内容花更多算力。所以同样一段文字,你贴进去当输入,和让模型生成出来当输出,扣的量不是一回事。看账单时别只盯着总数字,先看它分没分输入输出两栏。
- 同一个意思用中文写,和用英文写,占用的量往往不同,中文一个字和一个英文单词切出来的单位数不相等
- 写成代码又是另一种情况,符号、缩进、空格都可能被单独计数,可能比自然语言更费或更省
- 同一个词在不同上下文里切法可能不一样,越是专业术语、缩写、混杂符号,越难用字数去反推
- 所以「我写了两百字扣多少」没法直接算,得看你写的是什么、哪种语言、放在输入还是输出
| 你看到的现象 | 实际可能在扣什么 | 到哪核对 | ||||||
|---|---|---|---|---|---|---|---|---|
| 聊了几句额度掉得比预期快 | 输出侧的量 + 上下文累积的输入量 | 到 核对计量口径 | 同样字数,这次扣得更多 | 内容形态不同,代码/符号占的量更高 | 到 /ai-dict/category/basics 对一遍名词 | 订阅了但提示用不了 | 可能是时间窗用量、次数或积分这层限制 | 到 /ai-dict/category/basics 查订阅相关条目 |
还有一层容易被忽略:订阅制产品常常在按量之外再叠一套限制,比如某个时间窗内能用多少、能问几次、还剩多少积分。这跟按量计费不是一套账。你按月付了钱,不代表计量单位可以无限用,超了照样会卡。判断自己属于哪种,先看你是在充值余额还是包月订阅。
- 先定性确认你用的是按量计费还是订阅制。看账单页是按用量扣余额,还是按周期重置额度
- 再分侧在用量明细里找输入、输出两栏,看哪边占得多。只给总额、不分侧的,先记下来这个平台口径偏粗
- 后对齐名词到 /ai-dict/category/basics 把计量、输入输出、订阅限制这几类名词过一遍,再回来算账
- 留一条排查线发现扣得异常,先把最近几条输入输出的内容形态记下来(语言、是否含代码),再对比同类请求的量
同样长度的回答,扣得不一样是正常的
先说大方向:输出越长,扣得越多,这句话基本成立,几乎没人会反对。但很多人卡在下一步——把「越长越贵」直接当成「字数 × 单价 = 扣减」,然后一算发现对不上,就开始怀疑是不是被坑了。其实对不上是常态,因为输出长度只是其中一个变量,不是唯一变量。
- 模型档位不同:同一个问题,走轻量档和走旗舰档,哪怕吐出来的字一模一样,扣减量级也可能不在一条线上。
- 是否带推理过程:有些档位会先生成一段内部思考再给答案,你看到的回答很短,但计费侧可能按整个生成过程算。
- 是否结构化输出:要求返回 JSON、表格、带标签的字段,会比同样字数的自由文本多出不少额外字符和校验开销。
- 入口的计量方式:有的入口按「一次对话」计数,有的按实际生成的字符或 token 计量,同一句话在两个入口下根本没有可比性。
所以「同样长度的回答扣得不一样」不是异常,而是计价模型本来就由多个因子叠加。你要判断的是:扣减差异到底来自输出长度,还是来自上面这些别的因子。判断方法很简单——固定同一个任务,只改输出长度这一个变量,跑两次看差额。如果差额明显不等于字数比例,说明还有别的计价因子在起作用。
- 选一个干净的任务挑一个不依赖上下文、不触发推理、不要求结构化返回的简单任务,比如把一段固定文字原样复述。记下入口、档位、是否开启推理这些前置条件。
- 跑第一次,拿基准按默认设置跑一次,只记录「输出大概多少字」和「这次扣了多少」两个数,别掺别的变量。
- 只改输出长度跑第二次同一个任务,要求输出长度翻倍,其他条件一个字都不动。看第二次比第一次多扣了多少。
- 对比差额和字数比例如果字数翻倍、扣减也大致翻倍,说明这个入口主要按输出长度计量;如果扣减涨幅远大于或远小于字数涨幅,说明还有档位、推理或结构化在参与计价。到 价格与计费说明页(/pricing) 核对这个入口的计量口径,再决定要不要换方式。
| 观察到的现象 | 更可能的计价因子 | 下一步怎么验证 |
|---|---|---|
| 字数翻倍,扣减也接近翻倍 | 主要按输出长度计量 | 换个入口做同样对比,确认是否一致 |
| 字数翻倍,扣减涨得更多 | 推理过程或结构化开销在叠加 | 关掉推理、改成纯文本再跑一次 |
| 字数没怎么变,扣减却差很多 | 入口按次计数或档位不同 | 到站内 价格页(/pricing) 看该入口的计量说明 |
| 两个入口同一句话扣得不一样 | 计量口径不同,本就不可比 | 别横向比,各自纵向比同任务 |
当期数字别背,去站内这几页看
凡是「多少钱、多少倍率、多少额度」这类数字,写进文章里第二天就可能过期。正确做法是:把口径记住,把数字交给站内页面现场读。同一个模型,官方接口侧和中转渠道侧的计价方式根本不是一套算法,两边数字看着差不多,含义经常差很远。
- 官方接口侧
- 按输入、输出分开算单价,规格和上下文限制都在官方资料库里,去 /official-api 和 /official-api/providers/openai 核对当时数字。
- 中转渠道侧
- 通常按「官方价 × 倍率」再加自己的计费规则,倍率口径各家不同,别和官方单价直接比大小。
- 订阅制套餐
- 额度是打包给的,看的是档位对应的总量和重置周期,不按单次请求扣,去 /coding-plans 和 /plans 里对应档位页看。
- 自己的真实消耗
- 只有 /usage 里的记录是你账户实际发生的事,任何页面的标称值都不能替代它。
- 先确认是哪一侧的价打开 /official-api 与 /official-api/providers/openai,确认目标模型的输入、输出单价和规格;如果走中转,再单独找该渠道的倍率说明,两者不要混着用。
- 把单价换算成一次对话拿 /tools/token-price-calculator 或 /tools/model-cost-calculator 走一遍,输入你日常一段提示词和一段回复的大致体量,看换算后的单次花费落在什么区间。
- 核对套餐额度口径如果你用的是订阅制,去 /coding-plans 和 /plans 对应档位页,看清额度是按请求数、按 token 还是按时间窗重置,这决定你该怎么估用量。
- 回到自己的账本验证最后去 /usage 看你账户的实际消耗趋势,和前面算出来的估算值对一下,差得离谱就说明某一侧理解错了。
| 你想知道的事 | 该去哪看 | 别踩的坑 |
|---|---|---|
| 官方单次单价 | /official-api 与 /official-api/providers/openai | 把中转倍率当成官方价 |
| 一次对话大概花多少 | /tools/token-price-calculator 或 /tools/model-cost-calculator | 只按输入算、忘了输出那头更贵 |
| 订阅套餐给多少额度 | /coding-plans 与 /plans 对应档位页 | 把「额度」默认理解成 token 数 |
| 我自己到底花了多少 | /usage | 拿标称值代替真实记录 |
这套流程也有不适用的时候:你只是想知道「长回答是不是更贵」这种定性问题,那不必逐页核对,记住输出通常比输入贵、答得越长越贵就够了;只有当你要做预算、要比价、要判断某个渠道划不划算时,才值得按上面的顺序把数字一个个对过去。另外,站内页面的数字也会随官方调整而变,隔一段时间重新看一眼是正常操作,不是谁写错了。
想省输出,动的应该是这几个地方
额度被吃掉的顺序,通常是先输出、再输入、最后才是模型档位。所以省额度要反过来动手:先砍输出的形状,再砍输入的量,最后才考虑换模型。很多人一上来就反复改提问措辞,其实收效最差。
- 第一步:砍输出结构在提示里直接限定「只给结论 / 只给表格 / 只给可运行的代码,不要解释过程」。验证方法:同一条任务跑两次,比较回复长度和你的完成时间——只要结论够用,就是净赚。
- 第二步:砍输入长文档只贴真正相关的那几段,历史对话里跟当前问题无关的部分主动清掉。验证:把上下文删到只剩必要片段,看答案质量是否明显下降,不下降就保留精简版。
- 第三步:换档位把「必须长输出的活」和「短问答」拆开,分给不同模型。候选可以先到 /ai-nav/category/ai-api 按能力筛,选定后再回 /price-watch 看当时的报价变动。
| 动作 | 省的是哪一头 | 什么时候别做 |
|---|---|---|
| 限定只输出结论/表格/代码 | 输出侧 | 需要推演过程才能判断对不对时 |
| 只贴相关段落、清历史对话 | 输入侧 | 跨段落的逻辑依赖、需要全局上下文时 |
| 长短任务分不同模型 | 模型档位 | 任务对格式一致性要求很高,换模型会返工时 |
- 先动输出形状,通常比压缩提问更有效。
- 输入侧省下来的量,往往比你以为的多,尤其是长文档场景。
- 换档位是最后一招,不要一开始就换。
- 如果任务本身要求长文、逐条对照、完整代码,长度砍了就没法用,这时候不如直接换成更便宜的档位。
- 每次只改一个变量,否则你分不清省下来的是哪一步的功劳。
常见问题
输出字数越多,额度就扣得越多吗?
方向上是的,但字数只是近似说法。真正被计量的是生成内容的量,同样的字数在不同模型、不同入口、有没有推理过程的情况下,扣减并不一样。想知道自己这条链路的口径,别照搬别人的经验,去站内对应页面核当期数字,再用同任务跑两次做对比。
为什么我回答很短,额度还是掉得很快?
常见原因是输入侧被忽略了:长上下文、反复粘贴的文档、没清掉的历史对话,都在持续计量。另外有些入口按次数或时间窗计数,跟单次输出长短关系不大。先把输入侧瘦身,再看扣减有没有变化,比盯着输出字数有用。
怎么知道我这边的扣减口径是哪种?
做一次对照实验:同一个问题,一次要求它简答两句,一次要求它展开对比表,其余条件不变,记录两次的用量差。差值和字数比例接近,说明以输出量为主;差得很离谱,说明还有别的因子。具体单价和规格到 /official-api 与对应档位页核。