Skip to content

协议三: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

字段类型必填说明
modelstring*模型 ID,如 claude-sonnet-4-6claude-opus-5
max_tokensinteger*最大输出 token 数
messagesarray*对话消息列表
systemstring or array可选系统提示词(Anthropic 格式中 system 是顶层字段)
streamboolean可选是否流式输出,默认 false
temperaturenumber可选采样温度
top_pnumber可选Nucleus sampling
stop_sequencesarray可选停止序列列表
toolsarray可选工具定义列表
tool_choiceobject可选工具选择策略
metadataobject可选元数据

消息格式:

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
  }
}

响应字段:

字段类型说明
idstring消息 ID
typestring固定为 message
rolestring固定为 assistant
contentarray输出内容块列表
modelstring使用的模型 ID
stop_reasonstring停止原因:end_turn / max_tokens / stop_sequence / tool_use
usageobjectToken 用量统计

content[i]:

字段类型说明
typestringtext(文本)或 tool_use(工具调用)
textstring文本内容(type=text)
idstring工具调用 ID(type=tool_use)
namestring工具名称(type=tool_use)
inputobject工具参数(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

LimAPI — 大模型聚合网关