curl --request POST \
--url https://api.mixroute.ai/v1/messages \
--header 'Authorization: Bearer sk-xxxxxxxxxx' \
--header 'Content-Type: application/json' \
--header 'anthropic-version: 2023-06-01' \
--data '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "请用中文简要介绍人工智能"}
]
}'
{
"id": "msg_xxx",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学..."
}
],
"model": "claude-sonnet-4-5-20250929",
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 25,
"output_tokens": 100
}
}
文本系列
创建消息请求(Claude)
Claude 原生的消息接口,适用于 Claude Code 等原生 Anthropic 客户端
POST
/
v1
/
messages
curl --request POST \
--url https://api.mixroute.ai/v1/messages \
--header 'Authorization: Bearer sk-xxxxxxxxxx' \
--header 'Content-Type: application/json' \
--header 'anthropic-version: 2023-06-01' \
--data '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "请用中文简要介绍人工智能"}
]
}'
{
"id": "msg_xxx",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学..."
}
],
"model": "claude-sonnet-4-5-20250929",
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 25,
"output_tokens": 100
}
}
简介
Claude 原生的消息接口,适用于 Claude Code 等原生 Anthropic 客户端。该接口遵循 Anthropic 的 API 规范,提供完整的 Claude 模型功能支持,包括扩展思考(Extended Thinking)、工具调用等高级特性。 如果您使用 OpenAI 兼容的客户端(如 OpenAI SDK),建议使用/v1/chat/completions 接口。
认证
Bearer Token,如Bearer sk-xxxxxxxxxx
请求参数
Claude 模型标识,如
claude-sonnet-4-5-20250929、claude-opus-4-5-20251101对话消息列表,每个元素包含
role(user/assistant)和 content最大生成 token 数,必须大于 0
系统提示词,支持字符串格式或数组格式(用于 Prompt Caching)
是否启用流式输出
采样温度,范围 0-1
核采样参数,范围 0-1
Top-k 采样参数
自定义停止序列
扩展思考配置,包含
type 和 budget_tokens工具定义列表
基础示例
- 非流式请求
- 流式请求(SSE)
- Python 示例
curl -X POST "https://api.mixroute.ai/v1/messages" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "请用中文简要介绍人工智能"}
]
}'
curl -X POST "https://api.mixroute.ai/v1/messages" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 1024,
"stream": true,
"messages": [
{"role": "user", "content": "请用中文简要介绍人工智能"}
]
}'
from anthropic import Anthropic
client = Anthropic(
api_key="sk-xxxxxxxxxx",
base_url="https://api.mixroute.ai"
)
# 非流式
message = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
messages=[
{"role": "user", "content": "请用中文简要介绍人工智能"}
]
)
print(message.content[0].text)
# 流式
with client.messages.stream(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
messages=[
{"role": "user", "content": "请用中文简要介绍人工智能"}
]
) as stream:
for text_block in stream.text_stream:
print(text_block, end="")
高级功能
系统提示词
- 字符串格式
- 数组格式
curl -X POST "https://api.mixroute.ai/v1/messages" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 1024,
"system": "你是一个专业的编程助手,擅长解释复杂的技术概念。",
"messages": [
{"role": "user", "content": "什么是递归?"}
]
}'
curl -X POST "https://api.mixroute.ai/v1/messages" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 1024,
"system": [
{
"type": "text",
"text": "你是一个专业的编程助手,擅长解释复杂的技术概念。"
}
],
"messages": [
{"role": "user", "content": "什么是递归?"}
]
}'
扩展思考(Extended Thinking)
- 基础用法
- Python 示例
curl -X POST "https://api.mixroute.ai/v1/messages" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 16000,
"thinking": {
"type": "enabled",
"budget_tokens": 10000
},
"messages": [
{"role": "user", "content": "给出一道中等难度的几何题并分步解析"}
]
}'
from anthropic import Anthropic
client = Anthropic(
api_key="sk-xxxxxxxxxx",
base_url="https://api.mixroute.ai"
)
with client.messages.stream(
model="claude-sonnet-4-5-20250929",
max_tokens=16000,
thinking={
"type": "enabled",
"budget_tokens": 10000
},
messages=[
{"role": "user", "content": "给出一道中等难度的几何题并分步解析"}
]
) as stream:
for event in stream:
if event.type == "content_block_delta":
if hasattr(event.delta, "thinking"):
print(f"[思考] {event.delta.thinking}", end="")
elif hasattr(event.delta, "text"):
print(event.delta.text, end="")
工具调用(Tools)
- 函数工具
- Claude 官方网页搜索工具
curl -X POST "https://api.mixroute.ai/v1/messages" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 1024,
"tools": [
{
"name": "get_weather",
"description": "根据城市获取天气信息",
"input_schema": {
"type": "object",
"properties": {
"city": {
"type": "string",
"description": "城市名称"
}
},
"required": ["city"]
}
}
],
"messages": [
{"role": "user", "content": "上海的天气怎么样?"}
]
}'
curl -X POST "https://api.mixroute.ai/v1/messages" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 4096,
"tools": [
{
"type": "web_search_20250305",
"name": "web_search",
"max_uses": 5
}
],
"messages": [
{"role": "user", "content": "最近关于人工智能的新闻有哪些?"}
]
}'
多模态输入(图像)
curl -X POST "https://api.mixroute.ai/v1/messages" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": "base64_encoded_image_data"
}
},
{
"type": "text",
"text": "请描述这张图片"
}
]
}
]
}'
Prompt Caching(提示词缓存)
通过缓存常用的上下文内容,可以显著降低成本和提升响应速度。缓存内容最小需要 1024 tokens。- System 缓存
- Messages 缓存
- Python SDK 示例
curl -X POST "https://api.mixroute.ai/v1/messages" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 1024,
"system": [
{
"type": "text",
"text": "你是专业的文档分析助手。以下是需要分析的文档内容:[长文本内容,至少1024 tokens]",
"cache_control": {"type": "ephemeral"}
}
],
"messages": [
{"role": "user", "content": "请总结文档的主要观点"}
]
}'
curl -X POST "https://api.mixroute.ai/v1/messages" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxxxxxx" \
-H "anthropic-version: 2023-06-01" \
-d '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "以下是需要分析的代码库:[大量代码内容,至少1024 tokens]",
"cache_control": {"type": "ephemeral"}
},
{
"type": "text",
"text": "请找出代码中的潜在问题"
}
]
}
]
}'
from anthropic import Anthropic
client = Anthropic(
api_key="sk-xxxxxxxxxx",
base_url="https://api.mixroute.ai"
)
# System 缓存
message = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
system=[
{
"type": "text",
"text": "你是专业的文档分析助手。以下是需要分析的文档内容:[长文本内容]",
"cache_control": {"type": "ephemeral"}
}
],
messages=[
{"role": "user", "content": "请总结文档的主要观点"}
]
)
# 查看缓存使用情况
print(f"缓存创建 tokens: {message.usage.cache_creation_input_tokens}")
print(f"缓存读取 tokens: {message.usage.cache_read_input_tokens}")
响应格式
- 非流式响应
- 流式响应
{
"id": "msg_xxx",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "回复内容..."
}
],
"model": "claude-sonnet-4-5-20250929",
"stop_reason": "end_turn",
"usage": {
"input_tokens": 25,
"output_tokens": 100,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 0
}
}
event: message_start
data: {"type":"message_start","message":{"id":"msg_xxx","type":"message","role":"assistant","content":[],"model":"claude-sonnet-4-5-20250929"}}
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":100}}
event: message_stop
data: {"type":"message_stop"}
curl --request POST \
--url https://api.mixroute.ai/v1/messages \
--header 'Authorization: Bearer sk-xxxxxxxxxx' \
--header 'Content-Type: application/json' \
--header 'anthropic-version: 2023-06-01' \
--data '{
"model": "claude-sonnet-4-5-20250929",
"max_tokens": 1024,
"messages": [
{"role": "user", "content": "请用中文简要介绍人工智能"}
]
}'
{
"id": "msg_xxx",
"type": "message",
"role": "assistant",
"content": [
{
"type": "text",
"text": "人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学..."
}
],
"model": "claude-sonnet-4-5-20250929",
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": {
"input_tokens": 25,
"output_tokens": 100
}
}
⌘I