Skip to content

Anthropic Claude 接口

Team-API 原生支持 Anthropic Messages API 协议(POST /v1/messages)。Claude 官方 SDK、Claude Code 及任意 Anthropic 兼容客户端,把 base_url 指向 Team-API 实例即可直连 —— 请求与响应均为 Claude 原生格式,无需任何协议转换

上游渠道由平台的智能调度决定:同一模型名可路由到 Claude 官方渠道,也可按配置映射到其他供应商渠道。

接入说明

项目说明
Base URLhttps://your-domain(SDK 中填 https://your-domain,SDK 自动拼接 /v1/messages
认证方式x-api-key: sk-xxxx(Claude 客户端习惯)或 Authorization: Bearer sk-xxxx
API Key租户控制台「Key 管理」中签发,格式 sk- 前缀
响应格式错误响应与 Claude 结构一致:{"type": "error", "error": {"type", "message"}}
bash
curl https://your-domain/v1/messages \
  -H "x-api-key: sk-xxxx" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-5",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello, Claude"}]
  }'

TIP

anthropic-version 请求头可传可不传,网关不做版本拦截。请求体中声明的模型名经过平台模型映射解析到实际渠道,与渠道类型解耦。

接口总览

方法路径说明
POST/v1/messages创建消息(支持流式 SSE)

创建消息

bash
POST /v1/messages

请求参数

参数类型必填说明
modelstring模型名,如 claude-sonnet-4-5(按平台模型映射解析)
messagesarray消息数组,roleuser / assistant,首条必须为 user
max_tokensinteger最大生成 Token 数
systemstring / array系统提示词
temperaturenumber采样温度,0 – 1
top_pnumber核采样参数(与 top_k 二选一)
top_kintegerTop-K 采样
stop_sequencesarray自定义停止序列
streambooleantrue 时以 SSE 流式返回
toolsarray工具定义(name / description / input_schema
tool_choiceobject工具选择策略:auto / any / tool
metadataobject请求元数据

content 既可以是纯字符串,也可以是内容块数组(text / image / tool_use / tool_result),支持视觉输入与工具调用循环。

非流式响应

json
{
  "id": "msg_xxxx",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-5",
  "content": [
    {"type": "text", "text": "Hello! How can I help you today?"}
  ],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 12,
    "output_tokens": 15
  }
}

stop_reason 取值与 Claude 官方一致:end_turn / max_tokens / stop_sequence / tool_use

流式响应

"stream": true 时以 text/event-stream 返回,事件序列与 Claude 官方协议一致:

event: message_start
data: {"type":"message_start","message":{"id":"msg_xxx","role":"assistant","usage":{"input_tokens":12,"output_tokens":1}}}

event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}

event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"Hello"}}

event: content_block_stop
data: {"type":"content_block_stop","index":0}

event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":15}}

event: message_stop
data: {"type":"message_stop"}

工具调用场景下会推送 input_json_delta 增量,流式结束时网关解析真实 usage 完成计费结算。

错误响应

错误结构与 Claude 官方一致:

json
{
  "type": "error",
  "error": {
    "type": "authentication_error",
    "message": "invalid API key"
  }
}

error.type 常见取值:

类型HTTP触发场景
invalid_request_error400请求体缺失 / 参数非法 / max_tokens 未填
authentication_error401Key 缺失、无效或已过期
permission_error403Key 被禁用、租户被停用、项目非活跃、模型无权限
not_found_error404模型不存在
rate_limit_error429触发限流
api_error500 / 502网关或上游异常

额度类错误(钱包 / 套餐 / 成员 / 项目 / Key 任一层不足)同样以 Claude 格式返回,错误码语义见错误码说明

SDK 接入示例

Python

python
import anthropic

client = anthropic.Anthropic(
    base_url="https://your-domain",
    api_key="sk-xxxx",
)

message = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello, Claude"}],
)
print(message.content[0].text)

Node.js

javascript
import Anthropic from '@anthropic-ai/sdk'

const client = new Anthropic({
  baseURL: 'https://your-domain',
  apiKey: 'sk-xxxx',
})

const message = await client.messages.create({
  model: 'claude-sonnet-4-5',
  max_tokens: 1024,
  messages: [{ role: 'user', content: 'Hello, Claude' }],
})
console.log(message.content[0].text)

Claude Code

Claude Code 通过环境变量指向自建网关:

bash
export ANTHROPIC_BASE_URL=https://your-domain
export ANTHROPIC_AUTH_TOKEN=sk-xxxx
claude

流式调用

python
with client.messages.stream(
    max_tokens=1024,
    messages=[{"role": "user", "content": "写一首关于网关的诗"}],
    model="claude-sonnet-4-5",
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

与其他协议的关系

  • 同一把 Key 可同时调用 OpenAI 兼容接口、本接口与 Gemini 接口
  • model 名为平台对外模型名,经管理后台 · 渠道配置的模型映射解析到实际渠道 —— 用 Claude 协议调用,不要求上游一定是 Anthropic 渠道;
  • 用量、计费、限额、审计行为与 OpenAI 协议完全一致,均可在请求日志中按 Request ID 追踪。

基于 AGPL-3.0 许可发布