Messages(Anthropic 兼容)
POST /v1/messages — Anthropic Messages API
兼容 Anthropic Messages API。底层与 Chat Completions 是同一条路由管线,只是请求/响应格式适配为 Anthropic 风格。
鉴权差异(重要):平台 /messages 用 Authorization: Bearer $MODELSITE_API_KEY,不是官方 Anthropic 的 x-api-key。用官方 anthropic SDK 时传 auth_token(走 Bearer),不要传 api_key(会走 x-api-key → 401)。请求需带 anthropic-version 头。
调用示例
from anthropic import Anthropic
client = Anthropic(
base_url="https://api.modelsite.ai", # SDK 自动拼 /v1/messages
auth_token="ms_live_sk_xxxxxxxx", # 走 Authorization: Bearer(平台要求,勿用 api_key)
)
resp = client.messages.create(
model="claude-sonnet-4.6",
max_tokens=256,
messages=[{"role": "user", "content": "用一句话解释量子纠缠"}],
)
print(resp.content[0].text)下面的接口卡片由 OpenAPI 规范自动渲染(鉴权、Request body 参数表、Response schema)。
Authorization
BearerAuth Authorization: Bearer $MODELSITE_API_KEY(与 OpenAI 格式共享同一 Key)
In: header
Header Parameters
Anthropic API 版本。
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/messages" \ -H "anthropic-version: 2023-06-01" \ -H "Content-Type: application/json" \ -d '{ "model": "string", "messages": [ {} ], "max_tokens": 0 }'{ "id": "string", "type": "string", "role": "string", "model": "string", "content": [ { "type": "string", "text": "string" } ], "stop_reason": "end_turn", "stop_sequence": "string", "usage": { "input_tokens": 0, "output_tokens": 0, "cache_creation_input_tokens": 0, "cache_read_input_tokens": 0 }}流式
stream: true 返回事件序列:message_start → content_block_start → content_block_delta(多次)→ content_block_stop → message_delta → message_stop。
选哪种格式?
| 现有代码 | 推荐入口 |
|---|---|
| OpenAI / LangChain(OpenAI) / 大多数框架 | /chat/completions |
| Anthropic SDK | /messages(本页) |
两个入口调到的是同一批模型。