Skip to content

Claude Messages

通过 Anthropic Messages API 原生协议调用 Claude 模型,完全兼容 Claude SDK、Claude Code 和 Anthropic 原生请求格式。

快速开始

第 1 步: 获取您的 API Key(在 控制台 创建)。

第 2 步: 发送请求:

bash
curl -X POST "https://open.dieyuyun.com/v1/messages" \
  -H "Content-Type: application/json" \
  -H "x-api-key: sk-xxx" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "你好,请介绍一下自己"}
    ]
  }'
python
import anthropic

client = anthropic.Anthropic(
    base_url="https://open.dieyuyun.com",
    api_key="sk-xxx"
)

message = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "你好,请介绍一下自己"}
    ]
)

print(message.content[0].text)
javascript
import Anthropic from '@anthropic-ai/sdk'

const client = new Anthropic({
  baseURL: 'https://open.dieyuyun.com',
  apiKey: 'sk-xxx',
})

const message = await client.messages.create({
  model: 'claude-sonnet-4-20250514',
  max_tokens: 1024,
  messages: [{ role: 'user', content: '你好,请介绍一下自己' }],
})

console.log(message.content[0].text)

第 3 步: 从响应的 content[0].text 获取 Claude 的回复。

请求端点

项目
方法POST
路径/v1/messages
Base URLhttps://open.dieyuyun.com
兼容协议Anthropic Messages API

认证

Claude Messages API 使用以下认证方式:

请求头说明
x-api-keysk-xxxAPI Key 认证
anthropic-version2023-06-01Anthropic API 版本
Content-Typeapplication/json请求体格式

TIP

使用 Anthropic SDK 时,SDK 会自动添加 anthropic-version 请求头,您只需配置 base_urlapi_key

支持模型

模型上下文长度说明
claude-sonnet-4-20250514200KClaude 4 Sonnet,均衡型模型
claude-opus-4-20250514200KClaude 4 Opus,最强推理模型
claude-3-5-sonnet-20241022200KClaude 3.5 Sonnet
claude-3-5-haiku-20241022200KClaude 3.5 Haiku,快速模型
claude-3-opus-20240229200KClaude 3 Opus

TIP

完整模型列表请在 控制台 查看。

标准请求字段

字段类型必填默认值说明
modelstring模型标识符,如 claude-sonnet-4-20250514
messagesarray消息列表,支持 userassistant 角色
max_tokensinteger最大输出 Token 数(Anthropic 协议中为必填)
systemstring / array系统提示词,独立于 messages 参数
streambooleanfalse是否启用流式输出
temperaturenumber1.0控制输出随机性,范围 0~1
top_pnumber核采样参数
top_kintegerTop-K 采样
stop_sequencesarray停止生成的字符串序列
toolsarray工具定义列表(函数调用)
tool_choiceobject工具调用策略
thinkingobject扩展思考配置(Extended Thinking)
metadataobject请求元数据,如 user_id

消息格式

Claude Messages API 中的消息结构与 OpenAI 有所不同:

json
{
  "role": "user",
  "content": "你好"
}

也支持多模态内容:

json
{
  "role": "user",
  "content": [
    { "type": "text", "text": "这张图片里有什么?" },
    {
      "type": "image",
      "source": {
        "type": "base64",
        "media_type": "image/jpeg",
        "data": "/9j/4AAQ..."
      }
    }
  ]
}

请求示例

带系统提示词的对话

bash
curl -X POST "https://open.dieyuyun.com/v1/messages" \
  -H "Content-Type: application/json" \
  -H "x-api-key: sk-xxx" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-sonnet-4-20250514",
    "system": "你是一个专业的 Python 开发助手。回答要简洁明了。",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "Python 的装饰器是什么?请举例说明。"}
    ]
  }'
python
import anthropic

client = anthropic.Anthropic(
    base_url="https://open.dieyuyun.com",
    api_key="sk-xxx"
)

message = client.messages.create(
    model="claude-sonnet-4-20250514",
    system="你是一个专业的 Python 开发助手。回答要简洁明了。",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Python 的装饰器是什么?请举例说明。"}
    ]
)

print(message.content[0].text)
javascript
import Anthropic from '@anthropic-ai/sdk'

const client = new Anthropic({
  baseURL: 'https://open.dieyuyun.com',
  apiKey: 'sk-xxx',
})

const message = await client.messages.create({
  model: 'claude-sonnet-4-20250514',
  system: '你是一个专业的 Python 开发助手。回答要简洁明了。',
  max_tokens: 1024,
  messages: [{ role: 'user', content: 'Python 的装饰器是什么?请举例说明。' }],
})

console.log(message.content[0].text)

流式输出

python
import anthropic

client = anthropic.Anthropic(
    base_url="https://open.dieyuyun.com",
    api_key="sk-xxx"
)

with client.messages.stream(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "写一个快速排序算法"}
    ]
) as stream:
    for text in stream.text_stream:
        print(text, end="", flush=True)

工具调用(Function Calling)

json
{
  "model": "claude-sonnet-4-20250514",
  "max_tokens": 1024,
  "messages": [{ "role": "user", "content": "北京今天天气怎么样?" }],
  "tools": [
    {
      "name": "get_weather",
      "description": "获取指定城市的天气信息",
      "input_schema": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string",
            "description": "城市名称"
          }
        },
        "required": ["city"]
      }
    }
  ]
}

响应格式

成功响应

json
{
  "id": "msg_013Zva2CMHLNnXjNJJKqJ2EF",
  "type": "message",
  "role": "assistant",
  "content": [
    {
      "type": "text",
      "text": "你好!我是 Claude,由 Anthropic 开发的 AI 助手。很高兴为您服务。"
    }
  ],
  "model": "claude-sonnet-4-20250514",
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 12,
    "output_tokens": 32
  }
}

响应字段说明

字段说明
id消息唯一标识
type固定为 message
role固定为 assistant
content回复内容数组,可能包含 texttool_use 类型
model实际使用的模型 ID
stop_reason结束原因:end_turnmax_tokenstool_usestop_sequence
usage.input_tokens输入 Token 数
usage.output_tokens输出 Token 数

流式 SSE 事件

流式输出返回 Claude 原生 SSE 事件流:

event: message_start
data: {"type":"message_start","message":{"id":"msg_01...","type":"message",...}}

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":"你好"}}

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"},"usage":{"output_tokens":32}}

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

错误响应

json
{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "max_tokens: field required"
  }
}

详见 错误码

兼容性说明

特性本平台Anthropic 原生 API
Messages 协议格式完全兼容原生协议
系统提示词独立 system 参数独立 system 参数
多模态(图片)支持 base64支持 base64 / URL
工具调用支持透传原生支持
流式 SSEClaude 原始事件流原生协议
Extended Thinking支持透传原生支持
认证方式x-api-keyx-api-key
anthropic-version需要需要

TIP

平台保持与 Anthropic Messages API 的完全兼容,成功响应直接返回 Claude 原始格式,不会额外包裹 code / data 字段。您可以直接使用 Anthropic SDK 接入,只需修改 base_url

最佳实践

  • 必须设置 max_tokens:与 OpenAI 协议不同,Anthropic Messages API 要求必须提供 max_tokens 参数。
  • 使用 system 参数:Claude 的系统提示词是独立参数,不要放在 messages 中。
  • 利用 Claude Code:本平台支持 Claude Code 直连,只需配置 base_url 即可使用。
  • 注意 Token 计算差异:Anthropic 的 Token 计算方式与 OpenAI 略有不同,同样的文本可能产生不同的 Token 数。
  • 合理使用工具调用:Claude 的工具调用使用 input_schema(而非 OpenAI 的 parameters),注意字段名称差异。

速率限制

详见 速率限制

相关文档