对话
Anthropic Messages 和 Claude Code
Claude 模型也兼容 Anthropic 的 Messages API,因此只需更换 Base URL 和密钥,就能使用 Anthropic 的 SDK、Claude Code 及基于它们构建的工具。
/v1/messagesBase URL 为 https://api.zurelay.com (SDK 会自动添加 /v1/messages)。通过 x-api-key 或 Authorization: Bearer 发送密钥,并附带 anthropic-version: 2023-06-01。此接口仅提供 Claude 模型;其他模型请使用 /v1/chat/completions。
使用 Anthropic 的 SDK
import osimport anthropicclient = anthropic.Anthropic( base_url="https://api.zurelay.com", api_key=os.environ["ZURELAY_API_KEY"],)message = client.messages.create( model="claude-opus-5-5", max_tokens=1024, system="You are a careful code reviewer.", messages=[{"role": "user", "content": "Review this function: def add(a, b): return a - b"}],)print(message.content[0].text)Anthropic 的 Messages API 中的内容均会透传 (唯独 metadata 由我们处理): 字符串或内容块形式的 system (可用 cache_control 启用提示词缓存)、tools、thinking、output_config、stop_sequences、temperature、事件格式相同的流式响应,以及 anthropic-beta 请求头。图片和 PDF 分别以 image 和 document 内容块传入:请参阅图片、PDF、音频和视频。从 Opus 4.7 起,Anthropic 不再允许 Claude 请求携带 temperature、top_p 和 top_k,因此我们会从这些模型的请求中移除这些参数,而不是返回错误。
思考
Claude 会自适应思考:它会自行判断请求需要多少思考,output_config.effort 则用于设置思考强度: low、medium、high、xhigh (超高) 或 max。在 thinking 中添加 display: "summarized",即可在 thinking 内容块中获取思考摘要。
import osimport anthropicclient = anthropic.Anthropic( base_url="https://api.zurelay.com", api_key=os.environ["ZURELAY_API_KEY"],)message = client.messages.create( model="claude-opus-5-5", max_tokens=32000, thinking={"type": "adaptive", "display": "summarized"}, output_config={"effort": "xhigh"}, messages=[{"role": "user", "content": "How many primes are there below 1,000?"}],)for block in message.content: print(block.thinking if block.type == "thinking" else block.text)- Claude Opus 5.5 和 Fable 模型始终会思考:未设置强度时,Opus 5.5 使用
medium,Fable 使用high。即使要求它们不思考,也会以low运行。 - Claude Sonnet 5.5 和 Opus 5 默认以
high思考,Claude Haiku 5.5 则使用medium. Opus 4.6 至 4.8 仅在传入thinking时才会思考。Opus 4.6 不支持xhigh,因此会以high运行。 - 旧版形式
thinking: { type: "enabled", budget_tokens }适用于所有 Claude 模型:不接受该形式的模型会改用最接近的强度进行自适应思考。Claude Haiku 4.5 仅支持旧版形式;传入自适应思考配置时,我们会为其设置思考预算。 - 思考按输出 token 计费,因此在
xhigh和max中使用max_tokens时,要为思考预留额度,并对长回答使用流式输出。设置级别后,x-zurelay-reasoning-effort响应头会显示实际使用的级别。
提示词缓存
缓存的用法与 Anthropic 相同:在需要缓存的内容块或整个请求上添加 cache_control,即可缓存五分钟;添加 "ttl": "1h" 则可缓存一小时。输入的各部分按 Anthropic 的方式计费:
两种缓存写入的用量分别记录在 usage.cache_creation 中,cache_creation_input_tokens 则是两者的总和。各模型页面均列有缓存价格。只有你指定缓存的内容才按写入计费:请求未设置 cache_control 时,所有未从缓存读取的输入均按输入价格计费;指定缓存五分钟的输入绝不会按一小时计费。
Claude Code
设置五个环境变量(基础 URL、你的密钥和三个模型别名),将 Claude Code 接入 Zurelay,然后照常运行:
export ANTHROPIC_BASE_URL="https://api.zurelay.com"export ANTHROPIC_AUTH_TOKEN="$ZURELAY_API_KEY"export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-opus-5-5"export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-5-5"export ANTHROPIC_DEFAULT_HAIKU_MODEL="claude-haiku-5-5"claude如需保存配置,将相同的值写入 ~/.claude/settings.json 的 env 块。完整指南以及 Cursor、Cline 等工具的指南均位于集成。
Claude Code 的 /effort 级别会以 output_config.effort 传给模型,因此 xhigh 和 max 的用法与 Anthropic 相同。Ultracode 是 Claude Code 的设置,不是思考强度级别:它使用当前会话的级别运行(使用 --effort ultracode 启动 Claude Code 时为 xhigh)。
计算 token 数量
/v1/messages/count_tokens接受与 /v1/messages 相同的请求体,返回 { "input_tokens": 1234 },用于估算该请求的 token 数量。免费。
错误
错误以 Anthropic 的格式({ "type": "error", "error": { "type", "message" } })返回,含义与错误页面相同。错误响应不含 code:请使用 HTTP 状态码和 error.type。
/v1/chat/completions 读取 PDF。将 PDF 发送到 /v1/messages 时,错误信息会提示应使用哪个端点。图片、PDF、音频和视频中的表格列出了各模型支持读取的内容。- 提示:Anthropic 的 token 计数结果与我们的可能略有差异;计费以响应中的用量为准。
有疑问,或发现内容缺失?联系我们的支持团队,我们会通过邮件回复,通常只需一分钟。