Messages
MarkdownAnthropic Messages 格式,Claude Code、Anthropic SDK與許多代理皆採用此格式。
完整指南
https://api.ailoot.ai/v1/messagescurl https://api.ailoot.ai/v1/messages \
-H "x-api-key: $AILOOT_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "你好!你能做些什麼?"}]
}' import anthropic
import os
client = anthropic.Anthropic(max_retries=0,
base_url="https://api.ailoot.ai", # 不加 /v1:SDK 會自行加上 /v1/messages
api_key=os.environ["AILOOT_API_KEY"],
)
msg = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "用兩句話解釋 API 是什麼。"}],
)
print(msg.content[0].text)import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({ maxRetries: 0,
baseURL: "https://api.ailoot.ai", // 不加 /v1
apiKey: process.env.AILOOT_API_KEY,
});
const msg = await client.messages.create({
model: "claude-sonnet-5-5",
max_tokens: 1024,
messages: [{ role: "user", content: "用兩句話解釋 API 是什麼。" }],
});
console.log(msg.content[0].type === "text" ? msg.content[0].text : msg.content);{
"id": "msg_01H…",
"type": "message",
"role": "assistant",
"model": "claude-sonnet-5-5",
"content": [
{ "type": "text", "text": "你好!我能撰寫與解釋程式碼、回答問題…" }
],
"stop_reason": "end_turn",
"usage": { "input_tokens": 14, "output_tokens": 52 }
}身分驗證
- x-api-keyheader必填
金鑰
sk-…。也可使用Authorization: Bearer sk-…—Claude Code 搭配此變數時即採用此方式:ANTHROPIC_AUTH_TOKEN。 - anthropic-versionheader選填
API 版本,例如
2023-06-01。SDK 會自動傳送此版本。
請求本文
- modelstring必填
支援 Messages 格式的模型 ID,共 776 個識別碼:Claude,以及 GPT、Gemini、DeepSeek、Qwen 等。
- messagesarray必填
訊息
user與assistant;content—字串或區塊 (text,image,tool_use,tool_result). - max_tokensinteger必填
回應 token 的上限,會計入保留額度;如果餘額不足以涵蓋完整上限,Ailoot 會降低此上限,但不會低於 256 (啟用思考時為 1025),並透過此標頭告知新的上限:
X-Ailoot-Max-Tokens-Capped。 - systemstring | array選填
系統指令。
- streamboolean選填
SSE 事件串流 (
message_start,content_block_delta,…,message_stop). 付費文字會在費用計算完成後,以單一區塊傳回。 - temperaturenumber選填
回應的隨機程度,範圍為 0 到 1。
- toolsarray選填
工具:
name,description,input_schema。 - tool_choiceobject選填
auto,any,tool或none。 - thinkingobject選填
{"type": "enabled", "budget_tokens": N}—支援此功能的模型可進行思考。 - stop_sequencesarray選填
觸發生成停止的字串。
回應
- contentarray
回應區塊:
text,thinking,tool_use。 - stop_reasonstring
end_turn,max_tokens,stop_sequence或tool_use。 - usageobject
input_tokens,output_tokens,快取則為cache_read_input_tokens與cache_creation_input_tokens。