返回博客

API 与 SDK指南

将 Anthropic Python SDK 与 CheapTokens 配合使用:Messages API

安装 Anthropic Python SDK,将 base_url 指向 CheapTokens,发送 messages.create 请求,并设置 max_tokens。

作者:CheapTokens Team发布于 更新于 2 分钟阅读

通过 base_url 将 Anthropic SDK 连接到 CheapTokens 的 Python 代码
本页内容
  1. 你需要准备什么
  2. 安装 SDK
  3. 创建客户端
  4. 第一个请求
  5. max_tokens 是必填项
  6. 切换模型
  7. 下一步

如果你的代码已经在使用 Anthropic Python SDK,就不必为了调用另一个模型而重写它。CheapTokens 兼容 Anthropic Messages API,因此你只需更改客户端设置,并保持 client.messages.create(...) 不变。本指南将带你从一个空文件夹开始,直到写出一个能打印出回答的脚本。

你需要准备什么#

  • Python 3.10 或更高版本(SDK 的要求)。
  • 一个 CheapTokens API 密钥。如果你还没有,请参阅“什么是 API 密钥以及如何安全地存储它”。
  • 一个余额即可覆盖所有模型,并且没有高峰时段,因此同一脚本在一天中的任何时间花费都相同。

安装 SDK#

bash
pip install anthropic
export CHEAPTOKENS_API_KEY="your-key"

将密钥保存在环境变量中,而不是源文件中。

创建客户端#

与默认的 Anthropic 设置相比,有两项设置不同:密钥和 base_url。

python
import os
import anthropic

client = anthropic.Anthropic(
    api_key=os.environ["CHEAPTOKENS_API_KEY"],
    base_url="https://api.cheaptokens.dev",
)

SDK 会自行追加 /v1/messages 路径,因此 base_url 是不带 /v1 的主机名。(OpenAI 风格的端点 https://api.cheaptokens.dev/v1 是你与 OpenAI SDK 一起使用的端点;请参阅“使用 CheapTokens 发出你的第一个 API 请求”。)

第一个请求#

python
message = client.messages.create(
    model="deepseek-ai/DeepSeek-V4-Flash-0731",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Explain what a token is in two sentences."}
    ],
)

print(message.content[0].text)
print(message.stop_reason, message.usage.input_tokens, message.usage.output_tokens)

从 CheapTokens 文档中获取模型 ID;不同提供商的 ID 不同。这里我们使用 DeepSeek-V4-Flash:380K 上下文窗口,单次回答最多 32,768 个 token,适合长回复和智能体循环。

回复位于 message.content 中,是一个块列表;文本位于第一个块中。usage 显示该调用使用了多少输入和输出 token,这就是你计费所依据的内容。

max_tokens 是必填项#

与 OpenAI API 不同,messages.create 在没有 max_tokens 的情况下不会运行。它限制回答的长度:

  • 设置得太低,回答会被截断。此时 message.stop_reason 为 "max_tokens" 而不是 "end_turn"。
  • 对于 DeepSeek-V4-Flash,对于完整文件或报告等长回答,你可以设置到 32,768。
  • 你只需为实际生成的 token 付费,而不是为你设置的上限付费。

如果回答在句子中间停止,请阅读“为什么 AI 回答会在句子中间停止?”以了解完整解释。

切换模型#

只有 model 字符串会改变;脚本的其余部分保持不变。按任务选择:

  • DeepSeek-V4-Flash:长回答和智能体循环,任何时段价格相同,最多 32,768 个输出 token。
  • GLM-5.3-Flash:廉价的日常聊天和编码调用,390K 上下文,最多 8,192 个输出 token。
  • MiniMax-M2.7:低成本的智能体和编码工作,180K 上下文,最多 8,192 个输出 token。

可用 ID 列表由 GET https://api.cheaptokens.dev/v1/models 返回,例如 zai-org/GLM-5.3-Flash 和 MiniMaxAI/MiniMax-M2.7。

MiniMax-M2.7 当前每 1M token 的价格为:输入 $0.05,输出 $0.15。将输入和输出合计计算时,MiniMax-M2.7 总体上比 OpenRouter 更便宜。以下是每个模型上 2,000 个输入 token 和 500 个输出 token 的请求费用,实时取自价格表:

模型 费用 OpenRouter
GLM-5.3-Flash $0.00006 $0.00012
DeepSeek-V4-Flash $0.00008 $0.00017
MiniMax-M2.7 $0.00018 $0.0012

总计 2,000 个输入 token 和 500 个输出 token。每 100 万 token 的价格为当前价格,会随我们的资费一同变动;OpenRouter 列显示相同工作负载的参考价格。

将输入和输出合计计算时,GLM-5.3-Flash 和 MiniMax-M2.7 总体上比 OpenRouter 更便宜。

下一步#

创建一个密钥,并运行“第一个请求”部分中的脚本。当它打印出回答后,替换 model 字符串,以便在你自己的任务上比较模型。