整合指南
用 Anthropic SDK 接入
在 Anthropic 官方 Python 和 TypeScript SDK 裡把 base_url 設為 https://www.tutujin.com、api_key 換成土土金 Key,即可呼叫 Claude 原生 Messages 介面,含流式輸出。該介面已在本站實測。
Anthropic 官方 SDK 只需要改 base_url 和 api_key:base_url 填站點根地址 https://www.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://www.tutujin.com",
api_key=os.environ["TUTUJIN_API_KEY"],
)import Anthropic from '@anthropic-ai/sdk'
const client = new Anthropic({
baseURL: 'https://www.tutujin.com',
apiKey: process.env.TUTUJIN_API_KEY,
})也可以用環境變數:SDK 預設讀取 ANTHROPIC_BASE_URL 和 ANTHROPIC_API_KEY。
export ANTHROPIC_BASE_URL="https://www.tutujin.com"
export ANTHROPIC_API_KEY="sk-你的Key"base_url 不要帶 /v1。SDK 會請求 base_url 加 /v1/messages,填成 https://www.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://www.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月13日 下午6:08。
分組由 API Key 決定,見選擇分組。用這把 Key 呼叫 client.models.list() 可以列出它能用的模型,返回的是 Anthropic 格式。
常見問題
| 現象 | 原因與處理 |
|---|---|
| 404 | base_url 多寫了 /v1,應為 https://www.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,我們幫你排查。