Source: https://ailoot.ai/docs/ja/api/messages/
Canonical: https://ailoot.ai/docs/ja/api/messages/
Language: ja

[API](https://ailoot.ai/docs/ja/) 

# Messages

[Markdown](https://ailoot.ai/docs/ja/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 | 必須 | レスポンスの最大トークン数。仮確保額に含まれます。上限全体を仮確保する残高が不足している場合、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`。 |

トークン数の計算（`POST /v1/messages/count_tokens`）は、現在、カタログのモデルでは利用できません。

ご不明な点はありますか？Request IDと状況の説明をお送りください。調査をお手伝いします。[サポートに問い合わせる](mailto:support@ailoot.ai)

## Ailoot · 企業とそのプロジェクト群





Ailootは、蓄積した運営経験、幅広い顧客基盤、安定したサービス、継続的なKPI管理を基盤としています。





企業とそのプロジェクト群：数百万の顧客、毎月数十億規模の売上。





Ailootはこの運営経験を、お客様の製品、エージェント、アプリケーション、自動化でAI機能を利用するためのAPIアクセスに活かしています。
