数字的来源
模型 API 出售的是 token,而不是密钥。对于 glm api 密钥定价,你需要的数据是输入费率、输出费率以及缓存或批量请求的任何折扣,所有费率均在提供商的官方定价页面上按每 1M token 列出。费率和模型名称会变化,因此我们在此不引用具体数值。将当前数字复制到下方的表格中,本文的其余部分适用于任何提供商。
Token 是文本块,大约相当于四分之三个英文单词。其他语言和代码每个单词使用的 token 可能更多。提供商的分词器或响应中的 usage 字段会给出确切计数,这比任何经验法则都准确。
你还会在定价页面上看到上下文长度、速率限制和层级等术语。只有前两项费率会影响你的账单。上下文长度限制了每次请求可以发送的内容量,而速率限制则限制了发送的速度。使用此 API 时,上下文窗口为 100,000 tokens,完整密钥允许 8 个并发请求和每分钟 300 次请求。
计算每次请求的 token 数
为应用程序发出的每种类型的请求记录四个数字:
- 固定输入:系统提示词和工具定义。
- 可变输入:用户消息、检索到的文档、聊天历史。
- 输出:典型的回复长度。
- 量:每日请求数。
聊天历史通常是意料之外的开销。每一轮对话都会重发之前的所有内容,因此 10 轮对话的输入成本不是 10 条消息,而是 1 + 2 + ... + 10 条消息的总和,即 55 条消息单位。如果对话过长,请截断或精简历史记录。
为了测量而不是猜测,请记录 usage 块。在此 API 中,它随每次响应返回,流式输出时它在流结束时到达:
from openai import OpenAI
client = OpenAI(base_url="https://api.apikeyglm.com/v1", api_key="YOUR_KEY")
stream = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Write a 100-word product blurb for a lamp."}],
stream=True,
stream_options={"include_usage": True},
)
for event in stream:
if event.usage:
print("in:", event.usage.prompt_tokens, "out:", event.usage.completion_tokens)为了获得早期预测,请采样真实数据。选取 50 条真实用户消息或文档,运行它们,并使用 token 计数的平均值和第 90 百分位数。平均值给出预期账单,百分位数显示用量大的月份情况。
示例 1:聊天机器人
每天 500 个用户每人发送 6 条消息,即 3,000 次请求。每次请求平均 2,000 个输入 token(历史加系统提示词)和 300 个输出 token。
- 每日输入:3,000 x 2,000 = 6M tokens,即 6 x $0.15 = $0.90。
- 每日输出:3,000 x 300 = 0.9M tokens,即 0.9 x $0.50 = $0.45。
- 每日总计:$1.35。30 天总计:$40.50。
示例 2 和 3:批量处理和检索
将 50,000 个文档(每个 1,500 tokens 长)总结为 150 tokens 的摘要。
- 输入:50,000 x 1,500 = 75M tokens,即 75 x $0.15 = $11.25。
- 输出:50,000 x 150 = 7.5M tokens,即 7.5 x $0.50 = $3.75。
- 总计:$15.00。
批量工作还有一个杠杆:它可以并行运行,但完整密钥限制为 8 个并发请求和每分钟 300 个请求,因此 50,000 个请求在每分钟上限下至少需要 167 分钟(50,000 / 300)。规划好实际运行时间和成本。
示例 3:检索增强答案
一个支持助手每月处理 20,000 个问题。每个问题发送 8,000 个输入 token(指令加上检索到的段落),并获得 400 个 token 的回答。
- 输入:20,000 x 8,000 = 160M tokens,即 160 x $0.15 = $24.00。
- 输出:20,000 x 400 = 8M tokens,即 8 x $0.50 = $4.00。
- 总计:$28.00 每月。
此处的上下文窗口为 100,000 token(包含提示词和补全),因此 8,000 token 的上下文留出了大量空间。输入占账单的 86%,这在检索场景中很常见:截断检索文本比缩短答案更重要。
请求大小如何影响价格
每 1,000 次请求的价格是一个方便的单位,因为它可以通过简单乘法扩展。以下是四种请求形状,输入每 1M token $0.15,输出每 1M token $0.50:
| 请求形状 | 每 1,000 次请求的输入成本 | 每 1,000 次请求的输出成本 | 每 1,000 次的总计 |
|---|---|---|---|
| 500 输入,200 输出 | $0.075 | $0.100 | $0.175 |
| 2,000 输入,300 输出 | $0.300 | $0.150 | $0.450 |
| 8,000 输入,400 输出 | $1.200 | $0.200 | $1.400 |
| 30,000 输入,1,000 输出 | $4.500 | $0.500 | $5.000 |
模式很明显。简短的聊天请求成本低且输出量大。大上下文请求输入量大,且输入成本线占主导。了解你使用的请求类型可以告诉你该调整哪个杠杆:对第一种情况缩短回复,对第二种情况精简上下文。
导致估算错误的错误
- 按单词而非 token 计数。 1,000 个单词的英文文本大约包含 1,300 个 token,代码或非英文文本的 token 数会更多。
- 忘记历史。 聊天输入每轮都会增长,如上所示。
- 对波动流量使用平均值。 发布日的流量可能是正常日的十倍。请根据你能承受的峰值来预算。
- 忽略重试。 增加余量。在此 API 中,失败或被拒绝的请求不收费,但在比较其他供应商时请确认此点。
- 跳过输出上限。 输出部分的 token 成本更高。如果你只需要一个标签或简短摘要,请指定它,并设置
max_tokens以设定硬性限制。此处该设置为可选项。
与 GLM 费率对比
用服务商的当前数据和你的用量填写此表:
| 行 | 此 API | GLM(查看最新定价) |
|---|---|---|
| 每 1M token 输入费率 | $0.15 | 查询 |
| 每 1M token 输出费率 | $0.50 | 查询 |
| 缓存输入折扣 | 不在费率表中 | 查询 |
| 失败请求也收费 | 否 | 查询 |
| 充值 | 预付加密货币,永不过期 | 查询 |
然后在价格之外进行比较。拒绝行为、上下文长度以及模型是否遵循你的输出格式都会影响你为重试支付的费用。此 API 提供单一的开放权重模型 uncensored,经过调整以在不进行内容拒绝的情况下回答合法成人用途的问题。这是一个独立服务,并非 Zhipu、Z.ai 或任何其他厂商的官方 API。如需查看类似的集成,该网站的 Kimi apikey 集成指南遵循相同的模式。
预算与充值
为你的估算增加 20% 到 30% 以应对重试、更长的提示词和增长。聊天机器人场景下的 $40.50 预算变为约 $49 到 $53。以整数金额充值,从 $20 到 $500;$50 充值增加 +5%,获得 $52.50 额度,$100 增加 +10% 获得 $110.00,$200 增加 +15% 获得 $230.00。仅支持加密货币支付,TRC20 上的 USDT 或 Base 上的 USDC,且额度永不过期。
新用户可使用 $0.50 的免费试用额度体验该接口,有效期为 7 天。在聊天机器人示例中,每次请求 2,300 个 token,这意味着可以进行约 1,100 次测试请求。打开 定价页面 查看完整费率表,然后 获取密钥 并阅读 文档 了解限制和请求头。
最后,设置一个警报。每个响应都包含 X-Balance-USD 字段,因此只需几行代码,当额度低于几天的消耗量时即可向你发出警告。Kimi apikey 集成指南 展示了在相关上下文中的同类客户端设置。
