Appearance
协议三:Anthropic Messages
POST /api/anthropic/v1/messages
Authorization: Bearer sk-xxx
Content-Type: application/json兼容 Anthropic Messages 接口,可直接使用 Anthropic SDK 或 Claude Code 接入 Claude 系列模型。
SDK base_url
使用 Anthropic SDK 时,base_url 设为 https://limapi.com/api/anthropic(SDK 会自动拼接 /v1/messages)。
Request
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | * | 模型 ID,如 claude-sonnet-4-6、claude-opus-5 |
| max_tokens | integer | * | 最大输出 token 数 |
| messages | array | * | 对话消息列表 |
| system | string or array | 可选 | 系统提示词(Anthropic 格式中 system 是顶层字段) |
| stream | boolean | 可选 | 是否流式输出,默认 false |
| temperature | number | 可选 | 采样温度 |
| top_p | number | 可选 | Nucleus sampling |
| stop_sequences | array | 可选 | 停止序列列表 |
| tools | array | 可选 | 工具定义列表 |
| tool_choice | object | 可选 | 工具选择策略 |
| metadata | object | 可选 | 元数据 |
消息格式:
json
{
"role": "user",
"content": "你好"
}多模态消息:
json
{
"role": "user",
"content": [
{ "type": "text", "text": "描述这张图片" },
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": "..."
}
}
]
}工具定义:
json
{
"tools": [
{
"name": "get_weather",
"description": "获取城市天气",
"input_schema": {
"type": "object",
"properties": {
"city": { "type": "string" }
},
"required": ["city"]
}
}
]
}请求示例:
json
{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"messages": [
{ "role": "user", "content": "你好,介绍一下自己" }
]
}Response(非流式)
json
{
"id": "msg_xxx",
"type": "message",
"role": "assistant",
"content": [
{ "type": "text", "text": "你好!我是 Claude,一个 AI 助手。" }
],
"model": "claude-sonnet-4-6",
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 12,
"output_tokens": 30,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0
}
}响应字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| id | string | 消息 ID |
| type | string | 固定为 message |
| role | string | 固定为 assistant |
| content | array | 输出内容块列表 |
| model | string | 使用的模型 ID |
| stop_reason | string | 停止原因:end_turn / max_tokens / stop_sequence / tool_use |
| usage | object | Token 用量统计 |
content[i]:
| 字段 | 类型 | 说明 |
|---|---|---|
| type | string | text(文本)或 tool_use(工具调用) |
| text | string | 文本内容(type=text) |
| id | string | 工具调用 ID(type=tool_use) |
| name | string | 工具名称(type=tool_use) |
| input | object | 工具参数(type=tool_use) |
Response(流式)
当 stream: true 时,以 SSE 形式返回事件流:
event: message_start
data: {"type":"message_start","message":{"id":"msg_xxx","type":"message","role":"assistant","content":[],"model":"claude-sonnet-4-6","stop_reason":null,"usage":{"input_tokens":12,"output_tokens":0}}}
event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}
event: ping
data: {"type":"ping"}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"你好"}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"!"}}
event: content_block_stop
data: {"type":"content_block_stop","index":0}
event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn","stop_sequence":null},"usage":{"output_tokens":30}}
event: message_stop
data: {"type":"message_stop"}流式事件类型:
| 事件 | 说明 |
|---|---|
message_start | 消息开始,包含完整的 message 对象(content 为空) |
content_block_start | 内容块开始 |
content_block_delta | 内容块增量(text_delta 或 input_json_delta) |
content_block_stop | 内容块结束 |
message_delta | 消息级增量(stop_reason 和 output usage) |
message_stop | 消息结束 |
ping | 心跳事件 |
代码示例
Python(Anthropic SDK)
python
import anthropic
client = anthropic.Anthropic(
base_url="https://limapi.com/api/anthropic",
api_key="sk-xxx",
)
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
messages=[{"role": "user", "content": "你好,介绍一下自己"}],
)
print(message.content[0].text)JavaScript(Anthropic SDK)
javascript
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
baseURL: "https://limapi.com/api/anthropic",
apiKey: "sk-xxx",
});
const message = await client.messages.create({
model: "claude-sonnet-4-6",
max_tokens: 1024,
messages: [{ role: "user", content: "你好,介绍一下自己" }],
});
console.log(message.content[0].text);cURL
bash
curl https://limapi.com/api/anthropic/v1/messages \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxx" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "你好,介绍一下自己"}
]
}'在 Claude Code 中使用
本端点完整支持 Claude Code(含长思考流式、工具调用、图片粘贴)。接入教程见 AI Agent 生态 → Claude Code。