Anthropic 兼容接口
ZBStream 同时提供 Anthropic 兼容的 Messages 接口(/v1/messages)。Anthropic 官方 SDK 只需修改 Base URL 即可接入,同样支持 cURL、Python、Node.js 和 Go。
接入信息
Anthropic 兼容接口的基础地址不带 /v1 后缀,官方 SDK 会自动拼接 /v1/messages。鉴权使用 x-api-key 请求头(同时接受 Authorization: Bearer),并建议携带 anthropic-version。
x-api-key: $ZBSTREAM_API_KEY
anthropic-version: 2023-06-01
Content-Type: application/json| 参数 | 值 | 说明 |
|---|---|---|
| Base URL | https://api.zbstream.com | SDK 会自动拼接 /v1/messages |
| 鉴权 | x-api-key: <key> | 与 OpenAI 接口使用同一个 ZBStream API Key |
| 版本头 | anthropic-version: 2023-06-01 | 建议携带,向后兼容 |
发起 Messages 请求
Messages 接口要求必填 max_tokens,system 提示词是顶层字段而不是消息数组的一部分。响应中的回答位于 content 数组,用量位于 usage.input_tokens / usage.output_tokens。
curl https://api.zbstream.com/v1/messages \
-H "x-api-key: $ZBSTREAM_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-pro",
"max_tokens": 1024,
"messages": [
{ "role": "user", "content": "你好,请介绍一下 ZBStream API。" }
]
}'
流式输出
在请求体中加入 "stream": true 即可获得 SSE 流式响应。事件类型包括 message_start、content_block_delta 和 message_stop。
curl https://api.zbstream.com/v1/messages \
-H "x-api-key: $ZBSTREAM_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-pro",
"max_tokens": 1024,
"stream": true,
"messages": [{ "role": "user", "content": "请逐步回答" }]
}'
常用请求字段
| 字段 | 必填 | 说明 |
|---|---|---|
| model | 是 | 模型 id,与 /v1/models 返回一致 |
| messages | 是 | 消息数组,角色为 user / assistant |
| max_tokens | 是 | 最大输出 Token 数 |
| system | 否 | 顶层系统提示词 |
| temperature | 否 | 采样温度,范围由模型决定 |
| stream | 否 | 是否流式返回 |
| tools | 否 | 工具定义,结构遵循 Anthropic 规范 |
与 OpenAI 接口的差异
- max_tokens 在 Messages 接口中是必填字段,OpenAI 接口中可选。
- system 提示词是顶层字段,而不是 role=system 的消息。
- 响应正文是 content 块数组(文本、工具调用等),而不是单一 message.content 字符串。
- 用量字段为 usage.input_tokens / usage.output_tokens,对应 OpenAI 的 prompt_tokens / completion_tokens。
- 两个接口使用同一个 API Key 和同一套积分账户,按各自费率计费。