API 参考 › 对话模型

创建消息

文档最后更新于 2026年10月16日 02:29

Anthropic Messages API 兼容端点,是调用 Claude 全系列模型的推荐入口。

端点

POST /v1/messages

Claude 全系列的推荐入口,请求与响应格式和 Anthropic Messages API 一致,完整支持 prompt cache、thinking、工具调用与流式输出。以 OpenAI 兼容格式调用 Claude 会丢失这些能力,调用 Claude 请使用本端点。其它文本模型也可以用本端点调用,网关自动转换。

  • ·`tool_reference` 块自动剥除:Claude Code 开启按需工具(ToolSearch)后,历史消息里会出现 {"type":"tool_reference",…} 块;网关转发给上游前自动删除这些块(删空的 tool_result 补一行说明文字、删空的消息整条去掉),其余内容逐字节不变,客户端无需处理。自建代理也建议同样剥除。
  • ·不支持 `POST /v1/messages/count_tokens`(返回 404);Claude Code 等客户端会自动降级为本地估算。
  • ·非流式请求超过约 30 秒可能被网络边缘断开:推理、长输出、大上下文请用 stream: true,详见 快速开始;再把客户端读超时调到 ≥300 秒(Claude 系列)或 ≥150 秒(其它模型),见 创建对话补全 的「客户端读超时」。

请求

请求头

请求头取值说明
x-api-keysk-xxxxxx鉴权。也可以改用 Authorization: Bearer sk-xxxxxx
anthropic-version2023-06-01可省略,省略时自动补默认值
content-typeapplication/json

最小请求体:

json
{
  "model": "claude-sonnet-5",
  "max_tokens": 1024,
  "messages": [
    {"role": "user", "content": "用一句话介绍你自己"}
  ]
}

参数

字段类型必填说明
modelstring是模型 ID(推荐 Claude 系),完整列表见 GET /v1/models
max_tokensinteger是最大输出 token 数
messagesarray是对话消息。role 为 user 或 assistant,content 为文本字符串或内容块数组,与 Anthropic 官方格式一致
systemstring 或数组否系统提示词
streamboolean否设为 true 时以 SSE 流式返回,默认 false

其余字段(temperature、tools、thinking、内容块中的 cache_control 等)按 Anthropic Messages API 格式透传,用法以 Anthropic 官方文档为准。

响应

非流式返回 message 对象:

json
{
  "id": "chatcmpl-202610041358…",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-5",
  "content": [{"type": "text", "text": "我是 Claude……"}],
  "stop_reason": "end_turn",
  "usage": {"input_tokens": 159, "output_tokens": 34}
}
字段说明
id消息 ID(本站生成,形如 chatcmpl-…,不是 msg_…;只作唯一标识,不要按前缀判断协议)
type固定为 message
role固定为 assistant
model你请求时填的模型 ID(原样返回)
content内容块数组,文本回复在 type 为 text 的块的 text 字段里
stop_reason停止原因,如 end_turn
usage本次请求的 input_tokens 与 output_tokens;可能另带 billing_usage 等计费明细字段,属于本站内部字段,请勿依赖

stream 为 true 时响应为 text/event-stream,事件序列:message_start → content_block_start → 多个 content_block_delta → content_block_stop → message_delta → message_stop。

示例

本页示例为海外模型,地址用国外通道 https://acapi.top;换成国内通道 https://api.acapi.top 同样可用,两个地址均可用,见 调用地址。

基础请求

bash
curl https://acapi.top/v1/messages \
  -H "x-api-key: sk-xxxxxx" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "用一句话介绍你自己"}
    ]
  }'

流式请求

bash
curl https://acapi.top/v1/messages \
  -H "x-api-key: sk-xxxxxx" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 1024,
    "stream": true,
    "messages": [{"role": "user", "content": "写一首五言绝句"}]
  }'

Python SDK

python
from anthropic import Anthropic

client = Anthropic(
    api_key="sk-xxxxxx",
    base_url="https://acapi.top",
)

resp = client.messages.create(
    model="claude-sonnet-5",
    max_tokens=1024,
    messages=[{"role": "user", "content": "你好"}],
)
print(resp.content[0].text)

错误

鉴权失败统一返回 401,type 固定为 new_api_error、code 为空字符串,响应体末尾带本次请求 ID;详见 鉴权。

json
{
  "error": {
    "code": "",
    "message": "本次请求鉴权未通过;仅凭此错误无法确认是 本站令牌还是上游凭据问题,也不能据此判断 云上创造 API Key 已失效。请核对请求鉴权配置,具体以错误 code 与控制台令牌状态为准;持续失败请联系站方。 (request id: 202610040133111467987528268d9d6ACRm4IpF)",
    "type": "new_api_error"
  }
}

共 30 篇文档。文中出现的模型名与价格以模型广场的实时数据为准。