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必須
レスポンスの最大トークン数。仮確保額に含まれます。上限全体を仮確保する残高が不足している場合、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。