- 文档
- API 参考
- Messages
Messages
POST
https://api.airoutly.com/v1/messagesAnthropic 原生接口,用于调用 Claude 模型,Anthropic SDK 与 Claude Code 使用。SDK 的 Base URL 设为 https://api.airoutly.com,不带 /v1。
认证
发送 x-api-key: <key>(Anthropic SDK 的默认方式)或 Authorization: Bearer <key> 均可,anthropic-version 请求头照常传递。
请求参数
| 参数 | 说明 |
|---|---|
modelstring必填 | 模型页上标有 Msg 的模型,例如 claude-sonnet-4-5。 |
max_tokensinteger必填 | 生成 token 数上限。 |
messagesarray必填 | user 与 assistant 交替的对话;content 可包含文本、图片和工具结果。 |
systemstring | array | 系统提示词。用数组形式才能加 cache_control。 |
streamboolean | 以 SSE 流式返回回复。 |
toolsarray | 模型可调用的工具列表。 |
thinkingobject | 支持的模型可开启扩展思考,例如 {"type": "enabled", "budget_tokens": 4096}。 |
请求示例
curl https://api.airoutly.com/v1/messages \
-H "x-api-key: $AIROUTLY_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "Hello"}]
}'import os
from anthropic import Anthropic
client = Anthropic(base_url="https://api.airoutly.com", api_key=os.environ["AIROUTLY_API_KEY"])
msg = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Hello"}],
)
print(msg.content[0].text)import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({ baseURL: "https://api.airoutly.com", apiKey: process.env.AIROUTLY_API_KEY });
const msg = await client.messages.create({
model: "claude-sonnet-4-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Hello" }],
});提示词缓存
用 cache_control 标记较长、会重复使用的内容。写入缓存按缓存写入价计费,之后命中按低得多的缓存读取价计费,两个价格都在各模型的详情页上。
Python
msg = client.messages.create(
model="claude-sonnet-4-5",
max_tokens=1024,
system=[{
"type": "text",
"text": LONG_SYSTEM_PROMPT,
"cache_control": {"type": "ephemeral"},
}],
messages=[{"role": "user", "content": "Summarise section 3."}],
)
print(msg.usage.cache_creation_input_tokens, msg.usage.cache_read_input_tokens)响应
200 OK
{
"id": "msg_123",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-4-5",
"content": [{ "type": "text", "text": "Hello! How can I help?" }],
"stop_reason": "end_turn",
"usage": { "input_tokens": 9, "output_tokens": 8, "cache_creation_input_tokens": 0, "cache_read_input_tokens": 0 }
}计算 token 数暂不支持
/v1/messages/count_tokens,请从响应的 usage 读取 token 数。