Skip to content

Anthropic 模型接口文档

统一消息接口,兼容普通消息、流式输出与工具调用。

Base URLhttps://agentpivot.ai/


接口概览

方法路径说明
POST/v1/messages统一消息接口(普通 / 流式 / 工具调用)

鉴权

二选一,任选一种即可:

Header说明
x-api-key: <API_KEY>使用 API Key
Authorization: Bearer <token>使用 JWT 或 Bearer Token

示例:

bash
curl -X POST 'https://api.agentpivot.ai/v1/messages' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY' \
  -d '{"model":"claude-3-5-sonnet-20241022","max_tokens":1024,"messages":[{"role":"user","content":"Hello"}]}'

POST /v1/messages

请求

  • Content-Typeapplication/json
  • Body:统一请求体,根据是否传 streamtools 自动走不同逻辑:
字段类型必填说明
modelstring模型标识,如 claude-3-5-sonnet-20241022claude-haiku-4-5-20251001claude-sonnet-4-5-20250929
messagesarray对话消息列表,每项含 role(如 user/assistant)、content(字符串)
max_tokensnumber回复最大 token 数,默认 4096(仅普通消息生效)
thinkingobject思考配置,默认 { "type": "enabled", "budget_tokens": 2048 }(仅普通消息生效)
streambooleantrue 时返回 SSE 流式 响应
toolsarray工具定义列表,有且 length > 0 时走 工具调用

thinking 结构:

字段类型说明
typestring"enabled"
budget_tokensnumber思考过程 token 预算

messages 单项结构:

字段类型说明
rolestringuser | assistant
contentstring消息内容

tools 单项结构(工具调用时):

字段类型说明
namestring工具名称,如 get_weather
descriptionstring工具描述
input_schemaobject入参 JSON Schema:type: "object"propertiesrequired

行为说明

  1. 流式:当 stream === true 时,响应为 SSEContent-Type: text/event-stream),不返回 JSON body。
  2. 工具调用:当 tools 存在且长度 > 0 时,走工具调用逻辑,响应为 JSON,格式见下方「工具调用响应」。
  3. 普通消息:其余情况为普通对话,支持 max_tokensthinking,响应为 JSON。

响应

普通消息(JSON)

json
{
  "id": "msg_xxx",
  "type": "message",
  "role": "assistant",
  "content": [{ "type": "text", "text": "..." }],
  "stop_reason": "end_turn",
  "usage": {
    "input_tokens": 10,
    "output_tokens": 20,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}
字段类型说明
idstring消息 ID
typestringmessage
rolestring角色
contentarray内容块,常见 { "type": "text", "text": "..." }
stop_reasonstring结束原因,如 end_turn
usageobjecttoken 用量:input_tokensoutput_tokens

工具调用(JSON)

响应体为 { "data": <工具调用结果> },结构由上游 Anthropic/代理实现决定,通常包含模型返回的工具调用信息及可选后续轮次。

流式(SSE)

  • Content-Typetext/event-stream
  • 事件类型包括但不限于:message_startcontent_block_deltamessage_deltamessage_stop 等,与 Anthropic Messages API 流式格式兼容。

模型列表

模型名称
claude-haiku-4-5-20251001
claude-haiku-4-5-20251001-thinking
claude-sonnet-4-5-20250929
claude-sonnet-4-6
claude-sonnet-4-5-20250929-thinking
claude-opus-4-5-20251101
claude-opus-4-6
claude-opus-4-5-20251101-thinking
claude-opus-4-6-thinking

请求示例

1. 普通消息

json
{
  "model": "claude-haiku-4-5-20251001",
  "max_tokens": 4096,
  "messages": [{ "role": "user", "content": "Hello, world" }],
  "thinking": { "type": "enabled", "budget_tokens": 2048 }
}

2. 流式

json
{
  "model": "claude-haiku-4-5-20251001",
  "messages": [{ "role": "user", "content": "Say hi in one word" }],
  "stream": true
}

3. 工具调用

json
{
  "model": "claude-sonnet-4-5-20250929",
  "messages": [{ "role": "user", "content": "今天北京的天气怎么样?" }],
  "tools": [{
    "name": "get_weather",
    "description": "获取指定位置的当前天气",
    "input_schema": {
      "type": "object",
      "properties": {
        "location": { "type": "string", "description": "城市名称,如:北京" }
      },
      "required": ["location"]
    }
  }]
}

测试脚本

packages/api/scripts 目录下:

bash
export SECRET_KEY="<your-api-key>"
# 或
export AUTH_HEADER="Bearer <token>"

./test-anthropic-curl.sh