Anthropic 兼容 API
兼容 Anthropic Messages API,可直接用 Anthropic SDK 或 Claude 官方客户端接入胜算云,调用 Claude 全系列模型。支持流式、工具调用、多模态。
https://router.shengsuanyun.com/apiAuthorization: Bearer YOUR_API_KEY端点列表
POST/v1/messages创建消息
以Anthropic格式发送消息到胜算云模型并获取响应。支持流式和非流式响应,可以处理纯文本、多模态内容(文本+图片)、工具调用等多种场景。与官方接口完全一致,更新不及时可直接参考 Anthropic 官方文档
请求体 · 必填
application/json
| 字段 | 类型 | 说明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
model必填 | string | 要使用的模型名称。支持胜算云平台所有大语言模型 可选值:"anthropic/claude-sonnet-4.5" · "anthropic/claude-sonnet-4" | |||||||||
messages必填 | array | 对话消息列表,按时间顺序排列。必须以 user 角色开始,角色必须交替出现(user/assistant/user/assistant...)展开结构对话消息列表,按时间顺序排列。必须以 user 角色开始,角色必须交替出现(user/assistant/user/assistant...)
数组元素
| |||||||||
max_tokens必填 | integer | 模型生成响应的最大 token 数量。Claude 必须指定此参数。不同模型有不同的上限: - claude-3-5-sonnet: 8192 - claude-3-opus: 4096 - claude-3-7-sonnet: 65536(支持扩展思考时) | |||||||||
system | union | 系统提示,在对话开始前设置模型的行为。可以是简单的文本字符串,也可以是包含多个内容块的数组(用于提示词缓存)展开结构系统提示,在对话开始前设置模型的行为。可以是简单的文本字符串,也可以是包含多个内容块的数组(用于提示词缓存)
oneOf · 1系统提示(纯文本格式)- 用于设置模型的角色、行为准则、背景知识等
oneOf · 2系统提示(多模态格式)- 可以包含文本和缓存控制标记
数组元素
| |||||||||
temperature | number | 采样温度,控制输出的随机性。值越高,输出越随机;值越低,输出越确定。 - 0.0: 几乎确定性输出,适合需要一致性的任务 - 1.0: 默认值,平衡创造性和一致性 - 使用场景:创意写作用高温度,代码生成用低温度 | |||||||||
top_p | number | Nucleus sampling 参数。模型会从累积概率达到 top_p 的最小 token 集合中采样。 - 0.1: 只考虑最可能的 10% token - 1.0: 考虑所有 token - 推荐在 temperature 和 top_p 之间只调整一个 | |||||||||
top_k | integer | Top-K sampling 参数。模型只从概率最高的 K 个 token 中采样。 - 值越小,输出越保守 - 值越大,输出越多样 - 设为 0 或不设置则不限制 | |||||||||
stop_sequences | array | 自定义停止序列。当模型生成这些字符串之一时,会立即停止生成。最多可以指定 4 个停止序列。
使用场景:限制输出格式、控制生成长度等展开结构自定义停止序列。当模型生成这些字符串之一时,会立即停止生成。最多可以指定 4 个停止序列。 使用场景:限制输出格式、控制生成长度等
数组元素
| |||||||||
stream | boolean | 是否使用流式响应(Server-Sent Events)。 - true: 实时接收模型输出,适合长文本生成 - false: 等待完整响应后一次性返回 | |||||||||
tools | array | 可供模型调用的工具列表。模型会根据用户请求自动决定是否调用这些工具。
每个工具需要定义:名称、描述、输入参数的 JSON Schema展开结构可供模型调用的工具列表。模型会根据用户请求自动决定是否调用这些工具。 每个工具需要定义:名称、描述、输入参数的 JSON Schema
数组元素
| |||||||||
tool_choice | union | 控制模型如何使用工具。默认为 auto(模型自主决定)展开结构控制模型如何使用工具。默认为 auto(模型自主决定)
oneOf · 1
| |||||||||
thinking | object | 展开结构
|
{
"model": "anthropic/claude-sonnet-4.5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "你好,Claude!请介绍一下你自己。"
}
]
}请求示例
参考地址:https://router.shengsuanyun.com。路径参数与凭据需替换;非 JSON 请求体需按对应格式准备。
curl -X POST 'https://router.shengsuanyun.com/v1/messages' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
--data '{
"model": "anthropic/claude-sonnet-4.5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": "你好,Claude!请介绍一下你自己。"
}
]
}'响应
200 成功响应 - 返回模型生成的消息内容
application/json
Claude%20%E5%93%8D%E5%BA%94
{
"id": "msg_01XFDUDYJgAACzvnptvVoYEL",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "你好!我是 Claude,一个由 Anthropic 开发的 AI 助手。我可以帮助你进行对话、回答问题、分析内容、编写代码等多种任务。有什么我可以帮助你的吗?"
}
],
"model": "anthropic/claude-sonnet-4.5",
"stop_reason": "end_turn",
"usage": {
"input_tokens": 12,
"output_tokens": 45,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0
}
}text/event-stream
Server-Sent Events 流式响应,当 stream: true 时返回
string
"event: message_start\ndata: {\"type\":\"message_start\",\"message\":{\"id\":\"msg_01XFDUDYJgAACzvnptvVoYEL\",\"type\":\"message\",\"role\":\"assistant\",\"content\":[],\"model\":\"anthropic/claude-sonnet-4.5\",\"usage\":{\"input_tokens\":12,\"output_tokens\":0}}}\n\nevent: content_block_start\ndata: {\"type\":\"content_block_start\",\"index\":0,\"content_block\":{\"type\":\"text\",\"text\":\"\"}}\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"你好\"}}\n\nevent: content_block_delta\ndata: {\"type\":\"content_block_delta\",\"index\":0,\"delta\":{\"type\":\"text_delta\",\"text\":\"!\"}}\n\nevent: content_block_stop\ndata: {\"type\":\"content_block_stop\",\"index\":0}\n\nevent: message_delta\ndata: {\"type\":\"message_delta\",\"delta\":{\"stop_reason\":\"end_turn\"},\"usage\":{\"output_tokens\":25}}\n\nevent: message_stop\ndata: {\"type\":\"message_stop\"}\n\n"400 请求错误 - 请求参数格式错误或缺少必需字段
application/json
| 字段 | 类型 | 说明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
type | string | 错误响应类型,固定为 error 可选值:"error" | |||||||||
error | object | 展开结构
|
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "messages: field required"
}
}401 认证失败 - API Key 无效或缺失
application/json
| 字段 | 类型 | 说明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
type | string | 错误响应类型,固定为 error 可选值:"error" | |||||||||
error | object | 展开结构
|
{
"type": "error",
"error": {
"type": "authentication_error",
"message": "invalid x-api-key"
}
}429 请求频率超限 - 超过了 API 调用速率限制
application/json
| 字段 | 类型 | 说明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
type | string | 错误响应类型,固定为 error 可选值:"error" | |||||||||
error | object | 展开结构
|
{
"type": "error",
"error": {
"type": "rate_limit_error",
"message": "Rate limit exceeded"
}
}500 服务器内部错误
application/json
| 字段 | 类型 | 说明 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
type | string | 错误响应类型,固定为 error 可选值:"error" | |||||||||
error | object | 展开结构
|
{
"type": "error",
"error": {
"type": "invalid_request_error",
"message": "string"
}
}