Messages
Markdownรูปแบบ Anthropic 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จำเป็น
ID ของโมเดลที่ใช้รูปแบบ Messages — 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.