兼容 Anthropic 的 API
通过 Anthropic SDK、Claude Code 和其他 Anthropic 风格的应用调用 BSXin AI。
Base URL 与认证
在 Anthropic SDK 和 Anthropic 风格的应用中使用以下 Base URL:
https://bsxinai.com不要添加 /v1。Anthropic SDK 和 Claude Code 会自动在 Base URL 后添加 /v1/messages。如果 Base URL 设为 https://bsxinai.com/v1,请求路径会变成 /v1/v1/messages,导致请求失败。
把密钥放在以下任一请求头中,两种方式都有效:
x-api-key: $BSXIN_API_KEY
# 或
Authorization: Bearer $BSXIN_API_KEY端点
| 方法 | 路径 | 用途 |
|---|---|---|
POST | /v1/messages | Messages API,支持流式和非流式 |
GET | /v1/models | 以 OpenAI 列表格式列出该密钥可以调用的模型 |
BSXin AI 不提供 /v1/messages/count_tokens,也不提供 Message Batches API。
发送消息
curl https://bsxinai.com/v1/messages \
-H "x-api-key: $BSXIN_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_MODEL_ID",
"max_tokens": 1024,
"messages": [{ "role": "user", "content": "Hello" }]
}'添加 "stream": true 可接收服务器发送事件(SSE)。
使用 Anthropic SDK
import os
import anthropic
client = anthropic.Anthropic(
base_url="https://bsxinai.com",
api_key=os.environ["BSXIN_API_KEY"],
)
message = client.messages.create(
model="YOUR_MODEL_ID",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello"}],
)
print(message.content[0].text)使用提示词缓存
用 cache_control 标记稳定不变的内容,以便在后续请求中复用。缓存读取通常比普通输入便宜,缓存写入通常比普通输入贵。缓存写入价格取决于缓存时长:5 分钟或 1 小时。具体价格请参阅模型、分组与计费。
Claude Code 和 Claude Desktop 会自动为请求添加 cache_control。在使用记录中查看**缓存↓和缓存↑**的数值。
扩展思考
Claude Code 为较新的 Claude 模型发送 thinking: { "type": "adaptive" }。这类请求请使用 Claude 分组中的 Claude 模型 ID。非 Claude 模型可能以 400 invalid_request 拒绝此类请求。详见故障排查。