Source: https://ailoot.ai/docs/zh-hant-tw/api/messages/
Canonical: https://ailoot.ai/docs/zh-hant-tw/api/messages/
Language: zh-hant-tw

[API](https://ailoot.ai/docs/zh-hant-tw/) 

# Messages

[Markdown](https://ailoot.ai/docs/zh-hant-tw/api/messages/index.md)

Anthropic Messages 格式，Claude Code、Anthropic SDK與許多代理皆採用此格式。

POST`https://api.ailoot.ai/v1/messages`

Messages

```bash
curl 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": "你好！你能做些什麼？"}]
  }' 
```

```python
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)
```

```js
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);
```

200 OK

```json
{
  "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-key` | header | 必填 | 金鑰`sk-…`。也可使用`Authorization: Bearer sk-…` —Claude Code 搭配此變數時即採用此方式：`ANTHROPIC_AUTH_TOKEN`。 |
| `anthropic-version` | header | 選填 | API 版本，例如`2023-06-01`。SDK 會自動傳送此版本。 |

## 請求本文

| 參數 | 類型 | 必填 | 說明 |
| --- | --- | --- | --- |
| `model` | string | 必填 | 支援 Messages 格式的模型 ID，共 776 個識別碼：Claude，以及 GPT、Gemini、DeepSeek、Qwen 等。 |
| `messages` | array | 必填 | 訊息`user`與`assistant`; `content` —字串或區塊 (`text`，`image`，`tool_use`，`tool_result`). |
| `max_tokens` | integer | 必填 | 回應 token 的上限，會計入保留額度；如果餘額不足以涵蓋完整上限，Ailoot 會降低此上限，但不會低於 256 (啟用思考時為 1025)，並透過此標頭告知新的上限：`X-Ailoot-Max-Tokens-Capped`。 |
| `system` | string \| array | 選填 | 系統指令。 |
| `stream` | boolean | 選填 | SSE 事件串流 (`message_start`，`content_block_delta`，…, `message_stop`). 付費文字會在費用計算完成後，以單一區塊傳回。 |
| `temperature` | number | 選填 | 回應的隨機程度，範圍為 0 到 1。 |
| `tools` | array | 選填 | 工具：`name`，`description`，`input_schema`。 |
| `tool_choice` | object | 選填 | `auto`，`any`，`tool`或`none`。 |
| `thinking` | object | 選填 | `{"type": "enabled", "budget_tokens": N}` —支援此功能的模型可進行思考。 |
| `stop_sequences` | array | 選填 | 觸發生成停止的字串。 |

## 回應

| 參數 | 類型 | 必填 | 說明 |
| --- | --- | --- | --- |
| `content` | array |  | 回應區塊：`text`，`thinking`，`tool_use`。 |
| `stop_reason` | string |  | `end_turn`，`max_tokens`，`stop_sequence`或`tool_use`。 |
| `usage` | object |  | `input_tokens`，`output_tokens`，快取則為`cache_read_input_tokens`與`cache_creation_input_tokens`。 |

token 計數 (`POST /v1/messages/count_tokens`) 目前不適用於目錄中的模型。

還有疑問嗎？請提供 Request ID與問題描述，我們會協助釐清。[聯絡支援](mailto:support@ailoot.ai)

## Ailoot · 公司及其專案組合





Ailoot以累積的營運經驗、廣大的客戶群、穩定的服務及持續的KPI管理為基礎。





公司及其專案組合：數百萬客戶，每月銷售額達數十億。





Ailoot將這些營運經驗用於API存取，讓客戶的產品、代理、應用程式及自動化流程使用AI功能。
