> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arouter.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# モデルバリアント

> 任意のモデル ID にサフィックスを追加してルーティング動作を制御できます——速度、コスト、推論の深さ、またはコンテキストの長さを最適化します。

モデルバリアントを使用すると、モデル ID にサフィックスを追加することでルーティング動作を変更できます。別途 `provider` オブジェクトを設定する代わりに、バリアントはモデル文字列に直接埋め込まれた簡潔な略記法です。

```json theme={null}
{"model": "openai/gpt-5.4:nitro"}
```

***

## `:nitro` — 最大スループット

`:nitro` を追加すると、モデルの最高スループットインスタンスにルーティングされます。`provider.sort = "throughput"` の設定と同等です。

**最適な用途**：リアルタイムアプリケーション、インタラクティブチャット、ストリーミング UI

```json theme={null}
{"model": "openai/gpt-5.4:nitro"}
```

<Tabs>
  <Tab title="TypeScript">
    ```typescript theme={null}
    import OpenAI from "openai";

    const client = new OpenAI({
      baseURL: "https://api.arouter.ai/v1",
      apiKey: "lr_live_xxxx",
    });

    const response = await client.chat.completions.create({
      model: "openai/gpt-5.4:nitro",
      messages: [{ role: "user", content: "Hello!" }],
    });
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={null}
    from openai import OpenAI

    client = OpenAI(
        base_url="https://api.arouter.ai/v1",
        api_key="lr_live_xxxx",
    )

    response = client.chat.completions.create(
        model="openai/gpt-5.4:nitro",
        messages=[{"role": "user", "content": "Hello!"}],
    )
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl https://api.arouter.ai/v1/chat/completions \
      -H "Authorization: Bearer lr_live_xxxx" \
      -H "Content-Type: application/json" \
      -d '{"model": "openai/gpt-5.4:nitro", "messages": [{"role": "user", "content": "Hello!"}]}'
    ```
  </Tab>
</Tabs>

***

## `:floor` — 最低コスト

`:floor` を追加すると、モデルの最低コストインスタンスにルーティングされます。`provider.sort = "price"` の設定と同等です。

**最適な用途**：バッチ処理、オフラインワークロード、コスト重視のパイプライン

```json theme={null}
{"model": "openai/gpt-5.4:floor"}
```

<Tabs>
  <Tab title="TypeScript">
    ```typescript theme={null}
    const response = await client.chat.completions.create({
      model: "openai/gpt-5.4:floor",
      messages: [{ role: "user", content: "Summarize this document." }],
    });
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={null}
    response = client.chat.completions.create(
        model="openai/gpt-5.4:floor",
        messages=[{"role": "user", "content": "Summarize this document."}],
    )
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl https://api.arouter.ai/v1/chat/completions \
      -H "Authorization: Bearer lr_live_xxxx" \
      -H "Content-Type: application/json" \
      -d '{"model": "openai/gpt-5.4:floor", "messages": [{"role": "user", "content": "Summarize this document."}]}'
    ```
  </Tab>
</Tabs>

***

## `:free` — 無料ティア

`:free` を追加すると、モデルの無料ティアインスタンスにルーティングされます。無料ティアインスタンスは多くの人気モデルで利用可能ですが、レート制限が適用されます。

**最適な用途**：プロトタイピング、開発、低ボリュームテスト

```json theme={null}
{"model": "meta-llama/llama-4-maverick:free"}
```

<Tabs>
  <Tab title="TypeScript">
    ```typescript theme={null}
    const response = await client.chat.completions.create({
      model: "meta-llama/llama-4-maverick:free",
      messages: [{ role: "user", content: "Hello!" }],
    });
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={null}
    response = client.chat.completions.create(
        model="meta-llama/llama-4-maverick:free",
        messages=[{"role": "user", "content": "Hello!"}],
    )
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl https://api.arouter.ai/v1/chat/completions \
      -H "Authorization: Bearer lr_live_xxxx" \
      -H "Content-Type: application/json" \
      -d '{"model": "meta-llama/llama-4-maverick:free", "messages": [{"role": "user", "content": "Hello!"}]}'
    ```
  </Tab>
</Tabs>

<Note>
  無料ティアモデルにはより厳しいレート制限があり、コンテキストウィンドウが縮小される場合があります。詳細は[レート制限](/jp/guides/limits)を参照してください。
</Note>

***

## `:thinking` — 拡張推論

`:thinking` を追加すると、対応するモデルで拡張チェーン・オブ・ソート推論が有効になります（DeepSeek R1、拡張思考付き Claude、Gemini Flash Thinking など）。

**最適な用途**：複雑な推論、数学、コーディング、多ステップの問題

```json theme={null}
{"model": "deepseek/deepseek-r1:thinking"}
```

<Tabs>
  <Tab title="TypeScript">
    ```typescript theme={null}
    const response = await client.chat.completions.create({
      model: "deepseek/deepseek-r1:thinking",
      messages: [
        { role: "user", content: "Prove that √2 is irrational." }
      ],
    });

    // 推論トークンは usage に返される
    console.log(response.usage);
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={null}
    response = client.chat.completions.create(
        model="deepseek/deepseek-r1:thinking",
        messages=[{"role": "user", "content": "Prove that √2 is irrational."}],
    )

    # 推論トークンは usage に返される
    print(response.usage)
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl https://api.arouter.ai/v1/chat/completions \
      -H "Authorization: Bearer lr_live_xxxx" \
      -H "Content-Type: application/json" \
      -d '{
        "model": "deepseek/deepseek-r1:thinking",
        "messages": [{"role": "user", "content": "Prove that √2 is irrational."}]
      }'
    ```
  </Tab>
</Tabs>

`:thinking` が有効な場合、推論トークンはレスポンスの `usage.completion_tokens_details` に表示されます：

```json theme={null}
{
  "usage": {
    "prompt_tokens": 20,
    "completion_tokens": 850,
    "total_tokens": 870,
    "completion_tokens_details": {
      "reasoning_tokens": 720
    }
  }
}
```

請求と使用の詳細は[推論トークン](/jp/guides/best-practices/reasoning-tokens)を参照してください。

***

## `:extended` — 拡張コンテキスト

`:extended` を追加すると、デフォルトより大きいコンテキストウィンドウを持つモデルバージョンにアクセスできます。

**最適な用途**：長文書処理、大規模コードベース、長い会話

```json theme={null}
{"model": "google/gemini-2.5-flash:extended"}
```

<Tabs>
  <Tab title="TypeScript">
    ```typescript theme={null}
    const response = await client.chat.completions.create({
      model: "google/gemini-2.5-flash:extended",
      messages: [{ role: "user", content: "Analyze this 500-page report..." }],
    });
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={null}
    response = client.chat.completions.create(
        model="google/gemini-2.5-flash:extended",
        messages=[{"role": "user", "content": "Analyze this 500-page report..."}],
    )
    ```
  </Tab>
</Tabs>

***

## `:exacto` — ツール呼び出し品質

`:exacto` を追加すると、ツール呼び出しリクエストの品質ランキングルーティングを明示的に有効にします。ARouter は最安値ではなく、ツール呼び出し品質スコアが最も高いプロバイダーエンドポイントを選択します。

**最適な用途**：スキーマ準拠と引数の精度がコストより重要な本番ツール呼び出しパイプライン

```json theme={null}
{"model": "openai/gpt-5.4:exacto"}
```

<Tabs>
  <Tab title="TypeScript">
    ```typescript theme={null}
    const response = await client.chat.completions.create({
      model: "openai/gpt-5.4:exacto",
      messages: [{ role: "user", content: "Get the weather in Shanghai and Tokyo" }],
      tools: [weatherTool],
    });
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={null}
    response = client.chat.completions.create(
        model="openai/gpt-5.4:exacto",
        messages=[{"role": "user", "content": "Get the weather in Shanghai and Tokyo"}],
        tools=[weather_tool],
    )
    ```
  </Tab>
</Tabs>

**Auto Exacto との違い**：[Auto Exacto](/jp/guides/routing/auto-exacto) は `tools` が存在する場合に自動的に有効になります。`:exacto` はツールなしのリクエストでも品質ランキングルーティングを強制します——モデルがツールを呼び出すかどうかに関わらず一貫したプロバイダー選択動作が必要な場合に便利です。

***

## バリアントの組み合わせ

一部のバリアントは組み合わせることができます：

```json theme={null}
{"model": "meta-llama/llama-4-maverick:free:nitro"}
```

<Note>
  すべての組み合わせが有効というわけではありません。モデルでリクエストされた組み合わせが利用できない場合、ARouter はエラーを返します。
</Note>

***

## バリアントリファレンス

| サフィックス      | 効果              | 同等の `provider` 設定              | 最適な用途                                                       |
| ----------- | --------------- | ------------------------------ | ----------------------------------------------------------- |
| `:nitro`    | 最高スループット        | `provider.sort = "throughput"` | リアルタイム / インタラクティブ                                           |
| `:floor`    | 最低コスト           | `provider.sort = "price"`      | バッチ / オフライン                                                 |
| `:free`     | 無料ティア（レート制限あり）  | —                              | 開発 / プロトタイピング                                               |
| `:thinking` | 拡張推論モード         | —                              | 複雑な推論                                                       |
| `:extended` | 大きいコンテキストウィンドウ  | —                              | 長文書                                                         |
| `:online`   | ウェブ検索（非推奨）      | `plugins: [{id: "web"}]`       | 代わりに[サーバーツール](/jp/guides/features/server-tools/overview)を使用 |
| `:exacto`   | ツール呼び出し品質ルーティング | `provider.sort = "quality"`    | 本番ツール呼び出し                                                   |

***

## バリアントがルーティングに与える影響

バリアントはサーバー側で解析され、ARouter が選択するエンドポイントに影響します：

1. ベースモデル ID（例：`openai/gpt-5.4`）がモデルファミリーを識別
2. サフィックスがエンドポイント選択基準を変更
3. ARouter は `response.model` に実際に使用されたモデルを返す

提供されたモデルバリアントを正確に確認するには、常に `response.model` を確認してください：

```json theme={null}
{
  "model": "openai/gpt-5.4:nitro",
  "choices": [...],
  "usage": {...}
}
```

バリアントが提供するよりも細かい制御が必要な場合は、[プロバイダールーティング](/jp/provider-routing)で完全な `provider` オブジェクトオプションを参照してください。
