Appearance
Anthropic 模型接口文档
统一消息接口,兼容普通消息、流式输出与工具调用。
Base URL:https://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-Type:
application/json - Body:统一请求体,根据是否传
stream、tools自动走不同逻辑:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 模型标识,如 claude-3-5-sonnet-20241022、claude-haiku-4-5-20251001、claude-sonnet-4-5-20250929 |
messages | array | 是 | 对话消息列表,每项含 role(如 user/assistant)、content(字符串) |
max_tokens | number | 否 | 回复最大 token 数,默认 4096(仅普通消息生效) |
thinking | object | 否 | 思考配置,默认 { "type": "enabled", "budget_tokens": 2048 }(仅普通消息生效) |
stream | boolean | 否 | 为 true 时返回 SSE 流式 响应 |
tools | array | 否 | 工具定义列表,有且 length > 0 时走 工具调用 |
thinking 结构:
| 字段 | 类型 | 说明 |
|---|---|---|
type | string | 如 "enabled" |
budget_tokens | number | 思考过程 token 预算 |
messages 单项结构:
| 字段 | 类型 | 说明 |
|---|---|---|
role | string | user | assistant |
content | string | 消息内容 |
tools 单项结构(工具调用时):
| 字段 | 类型 | 说明 |
|---|---|---|
name | string | 工具名称,如 get_weather |
description | string | 工具描述 |
input_schema | object | 入参 JSON Schema:type: "object",properties,required |
行为说明
- 流式:当
stream === true时,响应为 SSE(Content-Type: text/event-stream),不返回 JSON body。 - 工具调用:当
tools存在且长度 > 0 时,走工具调用逻辑,响应为 JSON,格式见下方「工具调用响应」。 - 普通消息:其余情况为普通对话,支持
max_tokens、thinking,响应为 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
}
}| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 消息 ID |
type | string | 如 message |
role | string | 角色 |
content | array | 内容块,常见 { "type": "text", "text": "..." } |
stop_reason | string | 结束原因,如 end_turn |
usage | object | token 用量:input_tokens、output_tokens 等 |
工具调用(JSON)
响应体为 { "data": <工具调用结果> },结构由上游 Anthropic/代理实现决定,通常包含模型返回的工具调用信息及可选后续轮次。
流式(SSE)
- Content-Type:
text/event-stream - 事件类型包括但不限于:
message_start、content_block_delta、message_delta、message_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