1M token 是多少字?百万 token 价格怎么算
1K 是不是 1024、1 个汉字算几个 token、账单上的输入、输出、缓存各是什么
30 秒结论
- 计费里的 1M 就是 100 万个 token,1K 就是 1000,不按 1024 算。
- 1M token 能装多少汉字看模型:按 DeepSeek 官方换算约 167 万字,用 GPT 的分词器量普通中文约 120 万字。要准数就用官方计数工具量自己的文本。
- 价格分几栏:输入、输出、缓存命中,Claude 和新版 GPT 还有缓存写入。输出最贵,缓存命中最便宜。
- 用 Claude Code、Codex、agent 干活,大部分 token 是缓存命中。比价要几栏一起看,别只看输入价——各模型价格见 Claude Sonnet 5.5 价格对比。
一、token 是什么,1K / 1M 是不是 1024
token 是模型读写文字时的计数单位,不等于一个字,也不等于一个词:一个常用汉字可能是一个 token,也可能被拆开;一个英文单词常常是一个,长词会拆成几个。API 的价格、上下文长度、用量都按 token 算。
计费是十进制。OpenAI、Claude、Gemini、DeepSeek 的定价页都按「每百万 token」标价,Claude 的计算示例写的是「× 单价 ÷ 1,000,000」,Gemini 的缓存存储费也写成「每 1,000,000 token 每小时」。所以 1K = 1000、1M = 1,000,000,网上「1K = 1024」的说法放到 API 计费上不成立。
容易混的是上下文窗口,几家写法不一样:
| 厂家 | 「1M 上下文」官方写法 |
|---|---|
| Gemini | 1,048,576(正好是 1024 × 1024) |
| GPT-6.1 Sol | 1,050,000 |
| Claude、DeepSeek | 只写 1M,没给精确数字 |
所以「1M 上下文是多少 token」要看是哪家的模型;算钱的时候一律按 100 万。
二、1 个汉字等于多少 token
没有统一答案,每家模型的分词器不一样,同一段中文切出来的 token 数能差一半。目前能拿到的硬数字:
| 模型 / 分词器 | 1 个汉字 ≈ | 1M token ≈ |
|---|---|---|
| DeepSeek(官方换算) | 0.6 token | 约 167 万字 |
| GPT-4o、GPT-5 系列用的 o200k 分词器(我们用官方 tiktoken 量普通中文) | 0.8–0.9 token | 约 120 万字 |
| 更早的 GPT-4 / 3.5 用的 cl100k 分词器(同上) | 1.2–1.3 token | 约 80 万字 |
| Claude、Gemini | 官方没给中文换算,用下面的计数工具量 | |
英文的官方粗算:OpenAI 写 1 个 token 约 4 个字母、四分之三个单词;Gemini 写约 4 个字符,100 个 token 约 60–80 个单词;DeepSeek 写 1 个英文字符约 0.3 个 token。代码、数字、符号多的文本 token 会多一些。
同一个厂家换代也会变。Claude 从 4.7 起换了新分词器,官方说同一段文字切出的 token 约多 30%,单价不变、账单照样变高。拿旧模型的 token 数去估新模型,会估少。
常见数字对照
按「1 个汉字约 0.6–1.3 个 token」粗估(不同模型取值不同):
| token 数 | 大概多少汉字 |
|---|---|
| 1000(1K) | 约 800–1700 字 |
| 6.4 万(64K) | 约 5 万–11 万字 |
| 100 万(1M) | 约 80 万–167 万字 |
| 1 亿(100M) | 约 0.8 亿–1.7 亿字 |
怎么量准
- OpenAI:网页版 Tokenizer,或开源的 tiktoken 库。
- Claude:官方 token 计数接口,免费,结果是估计值。
- Gemini:countTokens 接口。
- 最准的是每次请求返回的
usage字段。Claude 把普通输入、缓存读取、缓存写入、输出分成input_tokens、cache_read_input_tokens、cache_creation_input_tokens、output_tokens四项;OpenAI 的prompt_tokens已经包含命中缓存的cached_tokens,算钱时别重复相加。在中转站用,实际扣了多少看站方后台的使用记录。
三、百万 token 价格怎么看
定价页上一个模型通常有好几栏价格,都是「每 100 万个 token 多少钱」:
| 那一栏 | 指什么 | 相对贵贱 |
|---|---|---|
| 输入(缓存未命中) | 你发过去的内容:系统提示、历史对话、文件、工具结果,去掉命中缓存和新写入缓存的部分 | 基准 |
| 输出 | 模型生成的内容;OpenAI、Claude、Gemini 开了思考的话,看不见的思考过程也算输出 | 最贵,主流模型大多是输入的好几倍 |
| 缓存命中(缓存读取) | 和之前请求开头一模一样、被直接复用的那段输入 | 最便宜,通常是输入价的一成甚至更低 |
| 缓存写入 | 第一次把一段内容存进缓存 | Claude 和新版 GPT 收,比输入还贵:Claude 存 5 分钟是输入价的 1.25 倍、存 1 小时是 2 倍,新版 GPT 是 1.25 倍。DeepSeek 和 Gemini 默认的隐式缓存都不收写入费;Gemini 通过接口显式建缓存的,另按每百万 token 每小时收存储费 |
DeepSeek 价格表上的「百万 tokens 输入(缓存命中)」「百万 tokens 输入(缓存未命中)」,说的就是上表前两种输入。
一次请求的账单怎么算
费用 = 普通输入(不含缓存读取和写入)× 输入价 + 缓存命中 × 缓存读价 + 缓存写入 × 写入价 + 输出 × 输出价
价格是每百万 token 的,token 数也要按百万算(比如 3 万 token 就是 0.03)。每个 token 只按其中一种价收。
「缓存命中率」是这次输入里命中缓存的 token 占全部输入的比例。常见的算错是把它乘到输入价上——命中的部分要单独按缓存价算,没命中的才按输入价。
在中转站买,各栏价格一般是官方价 × 倍率,公式不变,把官方价换成站方标价就行。
几个容易多花钱的地方
- 缓存只认从开头起一模一样的那一段。把时间戳、随机数放在提示最前面,开头就对不上,后面的固定内容这次也命中不了,只能按全价收。提示太短也不缓存,比如 OpenAI 要至少 1024 个 token。
- 长上下文可能整次涨价:比如 GPT-6.1 Sol 一次输入超过 27.2 万 token,整次请求的输入按 2 倍、输出按 1.5 倍算。Claude 新模型 1M 上下文内不涨价,Haiku 5.5 例外,输入超过 10 万 token 会涨价。具体以官方定价页为准。
- 思考越长,输出越多。推理强度开得高,看不见的思考 token 在 OpenAI、Claude、Gemini 上照样按输出价收。
四、1 亿 token 多少钱、能用多久
网上很多「1 亿 token 多少钱」是按输入、输出各一半估的,放到写代码的场景会高估很多。用 Claude Code、Codex、agent 干活,每一轮都会把前面的对话和文件重新发一遍,这部分大多命中缓存。长会话、多轮改代码时,常见情况是缓存命中占九成左右,输出只占很小一块;刚开新会话的头一两轮很少命中。
按倍数举个例子(设输入价为 1、输出价 5、缓存读 0.1、缓存写入 1.25;不少新模型的缓存读更便宜,只要 0.05):
| 1 亿 token 怎么分 | 折合多少个「1 亿 × 输入价」 |
|---|---|
| 输入、输出各一半 | 0.5 × 1 + 0.5 × 5 = 3 |
| 写代码常见:1 亿里缓存命中 9000 万、新写入缓存 800 万、输出 200 万 | 0.9 × 0.1 + 0.08 × 1.25 + 0.02 × 5 ≈ 0.29 |
两种估法差了十倍左右。代入真实单价,比如输入价每百万 2 元,各半估是 600 元,按写代码的结构约 58 元。缓存命中率一掉,账单就往上走,所以同样的活,缓存生效的站和不生效的站,花费能差很多。
能用多久也一样没法一句话回答:日常聊天一次几百到几千 token,1M 能聊很久;agent 改一个稍大的项目,一轮就可能几万 token,1M 可能一会儿就用完。
五、比价时怎么用这些
- 几栏一起看:写代码主要花在缓存命中和输出上,只比输入价容易挑错。比价页每个模型都列了输入、输出和缓存价,比如 Claude Sonnet 5.5、GPT-6.1 Sol、DeepSeek V4 Pro。
- 单价低不等于总价低:同一段文本在不同模型上的 token 数不一样,OpenAI 帮助中心也这么写。跨模型比,最好拿自己的真实任务各跑一次看账单。
- 缓存有没有生效、扣得对不对:可以用 自己的 API key 检测中转站,里面能看缓存命中和扣费情况。
- 各家 Claude 中转站的综合对比看 Claude API 中转排行。
常见问题
1M tokens 是多少字?
1M 就是 100 万个 token,能装多少汉字看模型:按 DeepSeek 官方换算约 167 万字;用 GPT 的 o200k 分词器量普通中文约 120 万字,旧版 cl100k 分词器约 80 万字。Claude、Gemini 官方没给中文换算,最准的办法是用官方计数工具量你自己的文本。
1K token 是 1000 还是 1024?
计费按 1000 算,1M 就是 1,000,000,几家官方定价页的计算示例都是除以 1,000,000。容易混的是上下文窗口:Gemini 写成 1,048,576,GPT-6.1 Sol 写成 1,050,000,Claude、DeepSeek 只写 1M。
百万 tokens 输入(缓存命中)是什么意思?
指这次请求开头和之前请求一模一样、模型直接复用的那部分输入,按每 100 万个收多少钱。命中的部分比正常输入便宜得多,通常只要输入价的一成甚至更低;没命中的部分按正常输入价收。
输入 token 和输出 token 有什么区别?
输入是你发给模型的全部内容,包括系统提示、历史对话和文件;输出是模型生成的内容,OpenAI、Claude、Gemini 开了思考的话,看不见的思考过程也按输出算。输出比输入贵,主流模型大多贵好几倍。
1 亿 token 多少钱?
看用量结构,差距能到十倍。用 Claude Code、Codex、agent 写代码,大部分 token 是缓存命中,花费可能只有按输入输出各一半估算的十分之一左右。按你的模型代入输入价、输出价、缓存价算,各家价格见比价页。
token 怎么算?有官方计算器吗?
有。OpenAI 有网页版 Tokenizer 和开源的 tiktoken,Claude 有免费的 token 计数接口,Gemini 也有计数接口。最准的是看每次请求返回的 usage 字段,用中转站就看站方后台的使用记录。
相关阅读
- AI API 价格横评 → 按任务选模型,算有效成本
- Claude 额度不够用怎么办 → 订阅额度规则与按量付费的出路
- 中转站接入客户端配置教程 → Claude Code、Codex、Cursor 怎么填地址和 key