Skip to content

从 Anthropic 迁移 ​

如果你的应用使用 Anthropic Claude SDK 或 /v1/messages 协议,可以零改动迁移到 宁享Token。宁享Token 同时提供原生 Anthropic 协议端点和 OpenAI 兼容端点两种接入方式。

迁移要点 ​

项目Anthropic 官方宁享Token
Base URLhttps://api.anthropic.com``
API KeyAnthropic Key宁享Token 控制台创建的 Key
端点/v1/messages完全相同
请求/响应格式Anthropic Messages API完全相同
SDK@anthropic-ai/sdk完全相同

获取 API Key ​

  1. 登录 宁享Token 控制台
  2. 进入「API Key 管理」页面
  3. 点击「创建 Key」,复制生成的 Key

Python 迁移示例 ​

修改前(Anthropic) ​

python
import anthropic

client = anthropic.Anthropic(
    api_key="sk-ant-xxxxxxxx",  # Anthropic Key
    # base_url 默认指向 https://api.anthropic.com
)

message = client.messages.create(
    model="claude-3-5-sonnet-20241022",
    max_tokens=1024,
    messages=[{'role': 'user', 'content': '你好'}],
)
print(message.content[0].text)

修改后(宁享Token,Anthropic 协议) ​

python
import anthropic

client = anthropic.Anthropic(
    api_key="<YOUR_宁享Token_API_KEY>",   # 改用 宁享Token Key
    base_url="",                  # 仅新增这一行
)

message = client.messages.create(
    model="glm-5.2",                          # 切换为 宁享Token 支持的模型
    max_tokens=1024,
    messages=[{'role': 'user', 'content': '你好'}],
)
print(message.content[0].text)

唯一新增的一行:base_url=""(不带 /v1,SDK 会自动补全 /v1/messages)。

Node.js 迁移示例 ​

修改前(Anthropic) ​

javascript
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  apiKey: process.env.ANTHROPIC_API_KEY,
});

const message = await client.messages.create({
  model: "claude-3-5-sonnet-20241022",
  max_tokens: 1024,
  messages: [{ role: "user", content: "你好" }],
});
console.log(message.content[0].text);

修改后(宁享Token) ​

javascript
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic({
  apiKey: process.env.宁享Token_API_KEY,
  baseURL: "",  // 仅新增这一行
});

const message = await client.messages.create({
  model: "glm-5.2",
  max_tokens: 1024,
  messages: [{ role: "user", content: "你好" }],
});
console.log(message.content[0].text);

cURL 迁移示例 ​

修改前 ​

bash
curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-3-5-sonnet-20241022",
    "max_tokens": 1024,
    "messages": [{'role': 'user', 'content': '你好'}]
  }'

修改后 ​

bash
curl /v1/messages \
  -H "x-api-key: $宁享Token_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "glm-5.2",
    "max_tokens": 1024,
    "messages": [{'role': 'user', 'content': '你好'}]
  }'

兼容性说明 ​

能力兼容性说明
Messages API✅ 完全兼容/v1/messages 端点
流式输出(SSE)✅ 完全兼容stream: true
System Prompt✅ 兼容顶层 system 字段
Tool Use✅ 完全兼容tools / tool_use / tool_result
多模态输入✅ 兼容图像输入格式一致
Stop Sequences✅ 兼容stop_sequences
Token Count✅ 兼容/v1/messages/count_tokens
Prompt Caching✅ 兼容cache_control 字段

模型名称映射 ​

迁移时需将 Claude 模型名替换为 宁享Token 支持的模型:

Anthropic 模型宁享Token 推荐替代说明
claude-3-5-sonnetglm-5.2通用对话
claude-3-5-haikuglm-5.1 / deepseek-v4-flash低成本
claude-3-opusglm-5.2(思考模式)复杂推理
claude-3-sonnetglm-5.1通用

替代方案:使用 OpenAI 兼容协议 ​

如果不需要保留 Anthropic 协议,也可以切换到 OpenAI 兼容端点:

python
from openai import OpenAI

client = OpenAI(
    api_key="<YOUR_宁享Token_API_KEY>",
    base_url="/v1",
)

resp = client.chat.completions.create(
    model="glm-5.2",
    messages=[{'role': 'user', 'content': '你好'}],
)
print(resp.choices[0].message.content)

OpenAI 兼容协议生态更广,推荐优先使用。详见 从 OpenAI 迁移。

常见问题 ​

迁移后报 401 怎么办? ​

检查 API Key 是否使用 宁享Token 控制台生成的 Key,而非 Anthropic 的 Key。

base_url 要带 /v1 吗? ​

使用 Anthropic SDK 时 不带 /v1,SDK 会自动补全 /v1/messages。使用 OpenAI SDK 时需带 /v1。

支持 anthropic-version 头吗? ​

支持,当前兼容版本 2023-06-01。

Prompt Caching 如何启用? ​

在消息块的 content 中添加 cache_control: { type: "ephemeral" } 即可,行为与 Anthropic 一致。

相关文档 ​

© 2026 宁享Token. 保留所有权利。