API 参考
兼容 Anthropic
当你的应用已经使用 Anthropic 的 Messages API,或者你需要不同于 OpenAI chat completions 的消息块语义时,使用这一系列。
当你的应用已经使用 Anthropic 的 Messages API,或者你需要不同于 OpenAI chat completions 的消息块语义时,使用这一系列。
已发布的路由
| 路由 | 用途 |
|---|---|
POST https://api.anyint.ai/anthropic/v1/messages | 创建 Claude 风格的消息响应 |
POST https://api.anyint.ai/anthropic/v1/messages/count_tokens | 在发送前统计消息负载的 token 数 |
必需的请求头
x-api-key: <ANYINT_API_KEY>
anthropic-version: 2023-06-01
content-type: application/json何时使用这一系列
- 你想要 Anthropic 风格的
messages和content块 - 你希望在同一种消息格式中同时包含文本和图像输入
- 你需要在发送昂贵提示词之前进行 token 估算
Messages 路由
使用 /messages 当你希望使用 Anthropic 风格的请求体和响应对象时。
核心请求字段
| 字段 | 类型 | 必填 | 含义 | 示例 |
|---|---|---|---|---|
model | 字符串 | 是 | 当前账号可用的 Claude 兼容模型 ID。请从 Models API 获取有效 ID。 | claude-sonnet-4-6 |
max_tokens | 整数 | 是 | 最多生成的 token 数。 | 512 |
messages | 数组 | 是 | Anthropic 消息格式的有序对话轮次。 | [{"role":"user","content":"Hello"}] |
system | 字符串或数组 | 否 | 会话的系统指令。如果客户端遵循 Anthropic 格式,请用它代替 OpenAI 风格 system 角色。 | You are concise. |
temperature | 数字 | 否 | 采样温度。值越低越确定。 | 0.7 |
top_p | 数字 | 否 | nucleus sampling 控制项。 | 1 |
top_k | 整数 | 否 | 所选模型支持时,将采样限制在 top K token 内。 | 40 |
stop_sequences | 数组 | 否 | 遇到后停止生成的字符串。 | ["\nHuman:"] |
stream | 布尔值 | 否 | 所选路由和模型支持时,设置 true 启用流式输出。 | true |
tools | 数组 | 否 | 所选模型支持时的 Anthropic 风格工具定义。 | [{"name":"lookup",...}] |
tool_choice | 对象 | 否 | Anthropic 风格的工具选择控制。 | {"type":"auto"} |
每个 messages[].content 值可以是以下任一形式:
- 纯字符串
- 内容块数组,例如文本块和图像块
消息字段
| 字段 | 类型 | 必填 | 含义 | 示例 |
|---|---|---|---|---|
role | 字符串 | 是 | 消息作者。使用 user 或 assistant。 | user |
content | 字符串或数组 | 是 | 纯文本或 Anthropic 内容块数组。 | 总结这张图片。 |
内容块字段
| 字段 | 类型 | 必填 | 含义 | 示例 |
|---|---|---|---|---|
type | 字符串 | 是 | 内容块类型。常见值是 text 和 image。 | text |
text | 字符串 | 文本块必填 | 文本内容。 | 描述这张图。 |
source.type | 字符串 | 图像块必填 | 图像来源类型。 | base64 |
source.media_type | 字符串 | 图像块必填 | 图像 MIME 类型。 | image/png |
source.data | 字符串 | base64 图像块必填 | 不带 data URL 前缀的 Base64 图像字节。 | <BASE64_IMAGE_DATA> |
仅文本示例
curl https://api.anyint.ai/anthropic/v1/messages \
-H "x-api-key: $ANYINT_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 512,
"messages": [
{"role": "user", "content": "总结一下为什么 API 网关很重要。"}
]
}'图像输入示例
curl https://api.anyint.ai/anthropic/v1/messages \
-H "x-api-key: $ANYINT_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"max_tokens": 512,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": "<BASE64_IMAGE_DATA>"
}
},
{
"type": "text",
"text": "描述这张图里有什么。"
}
]
}
]
}'响应结构
| 字段 | 含义 |
|---|---|
id | 兼容 API 路径返回的消息标识符 |
type | 对象类型,通常是 message |
role | 生成响应中的 assistant 角色 |
content[] | 生成的内容块,通常是文本块 |
model | 处理请求的模型 |
stop_reason | 生成停止原因,例如回合结束、达到最大 token 或停止序列 |
usage.input_tokens | 提供方返回时的输入 token 数 |
usage.output_tokens | 提供方返回时的输出 token 数 |
Token 计数路由
使用 /messages/count_tokens 当你在发送真实请求前需要进行 token 估算时。
Token 计数请求字段
| 字段 | 类型 | 必填 | 含义 |
|---|---|---|---|
model | 字符串 | 是 | 用于估算的模型 ID |
messages | 数组 | 是 | 你计划发送给 /messages 的同一消息结构 |
system | 字符串或数组 | 否 | 纳入 token 估算的可选系统指令 |
tools | 数组 | 否 | 相关时纳入 token 估算的工具定义 |
curl https://api.anyint.ai/anthropic/v1/messages/count_tokens \
-H "x-api-key: $ANYINT_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"messages": [
{"role": "user", "content": "统计这条消息的 token 数。"}
]
}'典型用例:
- 高上下文请求前的预算检查
- 在界面预览中警告大型提示词
- 需要准入控制的批处理或排队系统
常见错误
- 省略必需的
anthropic-version请求头 - 发送
Authorization: Bearer而不是x-api-key - 误以为
content在支持图像块时也必须始终是字符串 - 将
/messages/count_tokens当作生成路由