功能对比
| 方法 | 准确度 | 适合场景 |
|---|---|---|
| Anthropic count_tokens API | 最高 | Messages、tools、images、PDF 和最终预检查。 |
| 字符数 / 4 估算 | 粗略 | 快速草稿和成本粗估。 |
| 单词数 * 1.3 估算 | 粗略 | 英文文本为主、代码较少时。 |
| 第三方 tokenizer | 不定 | 适合探索,不适合账单级决策。 |
官方 Token Count API
Anthropic token counting endpoint 接受与 Messages API 类似的结构化消息输入,并返回 input_tokens。官方文档说明该结果是估算,最终消息使用量可能略有差异。
curl https://api.anthropic.com/v1/messages/count_tokens \
--header "x-api-key: $ANTHROPIC_API_KEY" \
--header "anthropic-version: 2023-06-01" \
--header "content-type: application/json" \
--data '{
"model": "claude-3-5-sonnet-20241022",
"messages": [
{"role": "user", "content": "Count the tokens in this prompt."}
]
}'本地快速估算
没有 API access 时,保守估算并留安全余量。
rough_tokens_from_chars = Math.ceil(characters / 4) rough_tokens_from_words = Math.ceil(words * 1.3) safe_prompt_budget = model_context_window * 0.8
哪些因素会改变 Token Count
Token count 取决于模型、语言、代码密度、JSON 结构、工具定义、图片、PDF,以及 API 或产品界面加入的隐藏结构。
- 代码和 JSON 与普通文本的 tokenize 方式不同。
- 工具定义和长终端输出会增加大量输入 tokens。
- 图片和 PDF 尽量用官方 endpoint 计算。
- 更换模型或 prompt 结构后,不要复用旧 token 数。
本页用途
这页作为 Claude context 规划、Claude Code usage 复盘和 Claude 3.5 Sonnet 计算器的辅助 token counter。
常见问题
有官方 Claude tokenizer 吗?
Anthropic 为 Claude messages 提供 token counting API,这是发送前计数最可靠的方式。
Token counting 免费吗?
Anthropic token counting 文档说明该 endpoint 免费,但有独立 rate limit。
只用纯文本能计算 Claude tokens 吗?
可以粗略估算;但带 tools、images 或 PDFs 的结构化消息应通过 API 计算。
为什么 token 估算和账单使用量不同?
计数可能包含系统优化或与最终消息使用量略有差异;账单以 Anthropic 计费系统为准。