集成指南
用 Anthropic SDK 接入
在 Anthropic 官方 Python 和 TypeScript SDK 里把 base_url 设为 https://open.tutujin.com、api_key 换成土土金 Key,即可调用 Claude 原生 Messages 接口,含流式输出。该接口已在本站实测。
Anthropic 官方 SDK 只需要改 base_url 和 api_key:base_url 填站点根地址 https://open.tutujin.com(SDK 会自己拼上 /v1/messages),api_key 换成土土金的 Key。请求体和响应体都是 Anthropic 原生格式,已有的 Anthropic 接入代码基本不用动。Claude 原生 Messages 接口已在本站实测。
安装
pip install anthropicnpm install @anthropic-ai/sdk创建 client
import os
import anthropic
client = anthropic.Anthropic(
base_url="https://open.tutujin.com",
api_key=os.environ["TUTUJIN_API_KEY"],
)import Anthropic from '@anthropic-ai/sdk'
const client = new Anthropic({
baseURL: 'https://open.tutujin.com',
apiKey: process.env.TUTUJIN_API_KEY,
})也可以用环境变量:SDK 默认读取 ANTHROPIC_BASE_URL 和 ANTHROPIC_API_KEY。
export ANTHROPIC_BASE_URL="https://open.tutujin.com"
export ANTHROPIC_API_KEY="sk-你的Key"base_url 不要带 /v1。SDK 会请求 base_url 加 /v1/messages,填成 https://open.tutujin.com/v1 会变成 /v1/v1/messages,返回 404。
发送消息
max_tokens 是 Messages 接口的必填参数。系统提示词用单独的 system 参数,不放进 messages:
message = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=1024,
system="你是一名严谨的合同审核助理。",
messages=[
{"role": "user", "content": "列出一份采购合同里最常见的 5 个风险条款。"},
],
)
print(message.content[0].text)
print(message.usage) # input_tokens / output_tokensconst message = await client.messages.create({
model: 'claude-sonnet-5-5',
max_tokens: 1024,
system: '你是一名严谨的合同审核助理。',
messages: [{ role: 'user', content: '列出一份采购合同里最常见的 5 个风险条款。' }],
})
console.log(message.content[0].type === 'text' ? message.content[0].text : message.content[0])
console.log(message.usage) // input_tokens / output_tokens流式输出
with client.messages.stream(
model="claude-sonnet-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "写一段 200 字的公司简介"}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
final = stream.get_final_message()
print("\n", final.usage)const stream = client.messages.stream({
model: 'claude-sonnet-5-5',
max_tokens: 1024,
messages: [{ role: 'user', content: '写一段 200 字的公司简介' }],
})
stream.on('text', (text) => process.stdout.write(text))
const final = await stream.finalMessage()
console.log('\n', final.usage)用 cURL 直接调用
不用 SDK 时,按 Anthropic 的格式发请求即可,认证用 x-api-key 或 Authorization: Bearer 都可以:
curl https://open.tutujin.com/v1/messages \
-H "x-api-key: $TUTUJIN_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "你好"}]
}'接口参数见 Claude Messages。
模型与价格
model 填模型广场里的 Claude 模型名。同一个 Claude 模型在不同分组的价格和线路来源不同,例如:
| 分组 | 输入 ¥/百万 | 输出 ¥/百万 | 缓存读取 ¥/百万 |
|---|---|---|---|
| 标准 | ¥4 | ¥20 | ¥0.4 |
| 官方原价·企业 | ¥21.9 | ¥109.5 | ¥2.19 |
| Claude 官方 | ¥15 | ¥75 | ¥1.5 |
| Claude 原价 | ¥24 | ¥120 | ¥2.4 |
| Claude 优质 | ¥8 | ¥40 | ¥0.8 |
| Claude 经济最低价 | ¥3.2 | ¥16 | ¥0.32 |
Claude Sonnet 5.5 · 价格为人民币,取各模型最低价分组;价格更新于 2026年11月12日 20:17。
分组由 API Key 决定,见选择分组。用这把 Key 调用 client.models.list() 可以列出它能用的模型,返回的是 Anthropic 格式。
常见问题
| 现象 | 原因与处理 |
|---|---|
| 404 | base_url 多写了 /v1,应为 https://open.tutujin.com |
| 401 | Key 填错或已失效。认证这类请求前的检查失败时,错误体是 OpenAI 格式,SDK 仍会按状态码抛出对应的异常 |
| 400 提示缺少 max_tokens | Messages 接口必须传 max_tokens |
503 并提示 model_not_found | Key 所在分组没有这个模型,换分组或核对模型名 |
想用 OpenAI 的写法调用 Claude,也可以用 OpenAI SDK 走 Chat Completions,两种方式共用同一把 Key。
没找到答案?加客服微信 JsnonoChat,发送报错信息里的 request id,我们帮你排查。