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

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

# Chat Completions

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

模型以 OpenAI 格式回應對話。這是最常見的格式，幾乎所有用戶端都支援。

POST`https://api.ailoot.ai/v1/chat/completions`

Chat Completions

```bash
curl https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5-5",
    "messages": [
      {"role": "user", "content": "用兩句話解釋 API 是什麼。"}
    ]
  }' 
```

```python
from openai import OpenAI
import os

client = OpenAI(max_retries=0, 
    base_url="https://api.ailoot.ai/v1",
    api_key=os.environ["AILOOT_API_KEY"],
)

resp = client.chat.completions.create(
    model="claude-sonnet-5-5",
    messages=[{"role": "user", "content": "用兩句話解釋 API 是什麼。"}],
)
print(resp.choices[0].message.content)
```

```js
import OpenAI from "openai";

const client = new OpenAI({ maxRetries: 0,
  baseURL: "https://api.ailoot.ai/v1",
  apiKey: process.env.AILOOT_API_KEY,
});

const resp = await client.chat.completions.create({
  model: "claude-sonnet-5-5",
  messages: [{ role: "user", content: "用兩句話解釋 API 是什麼。" }],
});
console.log(resp.choices[0].message.content);
```

200 OK

```json
{
  "id": "chatcmpl-8f2c…",
  "object": "chat.completion",
  "created": 1790812800,
  "model": "claude-sonnet-5-5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "API 是一套約定，讓一個程式能請另一個程式執行工作…"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 21,
    "completion_tokens": 48,
    "total_tokens": 69
  }
}
```

## 身分驗證

| 參數 | 類型 | 必填 | 說明 |
| --- | --- | --- | --- |
| `Authorization` | header | 必填 | 金鑰格式為`Bearer sk-…`。也可使用標頭`x-api-key`或`x-goog-api-key`。 |

## 請求本文

| 參數 | 類型 | 必填 | 說明 |
| --- | --- | --- | --- |
| `model` | string | 必填 | 模型 ID，取自[目錄](https://ailoot.ai/models/zh-hant-tw/)，例如`claude-sonnet-5-5`。模型必須支援 OpenAI Chat 格式。 |
| `messages` | array | 必填 | 對話紀錄：物件包含`role` (`system`，`developer`，`user`，`assistant`，`tool`)與`content` —字串或內容片段陣列 (文字、 `image_url`). |
| `stream` | boolean | 選填 | 回應採用 Server-Sent Events 格式，預設為`false`。付費文字回應會在費用計算完成後以單一區塊送達，不會逐字送出。 |
| `stream_options` | object | 選填 | `{"include_usage": true}` —將最終`usage`作為串流的最後事件送回。 |
| `max_tokens` | integer | 選填 | 最大回應 token 數。新名稱為— `max_completion_tokens`。若未指定上限，Ailoot 會填入 4096 (若模型的回應上限更低，則採用較低值；Grok 另有自己的上限)。需要較長回應時，請明確設定上限，否則回應會在 4096 個 token 時停止，並帶有`finish_reason: "length"`。上限會納入預留金額：上限越高，所需的可用餘額越多。 |
| `temperature` | number | 選填 | 回應的隨機程度，通常介於 0 到 2。推理模型可能會忽略此設定。 |
| `top_p` | number | 選填 | temperature 的替代設定：選取 token 時使用的機率質量比例。 |
| `stop` | string \| array | 選填 | 觸發生成停止的字串。 |
| `tools` | array | 選填 | 模型可呼叫的函式描述。格式與OpenAI 相同：`{"type": "function", "function": {...}}`。 |
| `tool_choice` | string \| object | 選填 | `auto`，`none`，`required`或指定的函式。 |
| `response_format` | object | 選填 | `{"type": "json_object"}`或`{"type": "json_schema", ...}`用於結構化回應—僅限模型支援時。 |
| `reasoning_effort` | string | 選填 | 推理模型的推理深度：`low`，`medium`，`high`。 |

其餘 OpenAI 參數會原樣傳送；特定模型是否支援，由模型開發者決定。

## 回應

| 參數 | 類型 | 必填 | 說明 |
| --- | --- | --- | --- |
| `choices[].message` | object |  | 模型回應：`content`，呼叫工具時為— `tool_calls`。 |
| `choices[].finish_reason` | string |  | `stop` —回應已結束; `length` —已達到`max_tokens` (這類回應仍為完整回應，並依實際用量計費); `tool_calls` —模型正在呼叫工具。 |
| `usage` | object |  | `prompt_tokens`，`completion_tokens`，`total_tokens` —依這些數值計算扣款。 |

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

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





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





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





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