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

# ルーティング

> リクエストの振り分け方法と、可用性・課金まわりの挙動を理解します。

## ルーティングの考え方

YouRouter には **自動** と **手動（固定）** の 2 モードがあり、挙動は `vendor` ヘッダーで制御します。

### デフォルト：自動ルーティング（`auto`）

可用性を最大化するなら自動ルーティングを推奨します。`vendor` を省略するか `auto` にします。

`auto` では、要求されたモデルに対して、可用性が高く費用効率のよいプロバイダーへインテリジェントにルーティングします。たとえば `gpt-4o` を要求したときに OpenAI API で遅延が発生している場合、Azure OpenAI など別プロバイダーへシームレスにフェイルオーバーし、リクエストが中断されないようにします。高可用性が重要な本番アプリケーションでは、この設定が推奨されます。

### 手動：プロバイダーを固定する

特定プロバイダーのモデルを使う必要がある場合や、プロバイダー固有機能へアクセスしたい場合は、手動でルーティングできます。その場合は、`vendor` ヘッダーに目的のプロバイダー ID を指定します。

例：Azure へ固定したい場合は `vendor: azure` を付けます。

<CodeGroup>
  ```python Python theme={null}
  import os
  from openai import OpenAI

  client = OpenAI(
      api_key=os.environ["YOUROUTER_API_KEY"],
      base_url="https://api.yourouter.ai/v1"
  )

  response = client.chat.completions.create(
      model="gpt-4o",
      messages=[{"role": "user", "content": "Hello from Azure OpenAI!"}],
      extra_headers={"vendor": "azure"}
  )

  print(response.choices[0].message.content)
  ```

  ```bash cURL theme={null}
  curl https://api.yourouter.ai/v1/chat/completions \
    -H "Authorization: Bearer $YOUROUTER_API_KEY" \
    -H "Content-Type: application/json" \
    -H "vendor: openai" \
    -d '{
      "model": "gpt-4o",
      "messages": [{"role": "user", "content": "Hello from OpenAI!"}]
    }'
  ```
</CodeGroup>

### 利用可能なプロバイダー（例）

| Provider     | `vendor` 値   |
| ------------ | ------------ |
| Anthropic    | `anthropic`  |
| AWS Bedrock  | `aws`        |
| Azure OpenAI | `azure`      |
| DeepSeek     | `deepseek`   |
| Google       | `google`     |
| Mistral AI   | `mistral`    |
| OpenAI       | `openai`     |
| Volcengine   | `volcengine` |
| xAI          | `x`          |

## Zero Completion Insurance（ゼロ完了保険）

成功かつ非空の応答に対してのみ課金されます。`500` などのエラーや completion token が 0 のケースでは課金されません。全リクエストでデフォルト有効です。

## ベストプラクティス

* **本番では `auto` を使う**：稼働率が重要なアプリケーションでは、デフォルトの `auto` モードを強く推奨します。自動フェイルオーバーと高可用性ルーティングの恩恵を受けられます。
* **固有要件がある場合だけ手動ルーティングする**：特定プロバイダーに固有のモデルや機能が必要な場合に限り、`vendor` ヘッダーでプロバイダーを指定します。
* **プロバイダー固有ドキュメントを確認する**：手動ルーティングで特殊機能を使う場合は、詳細なパラメータ情報を必ず元プロバイダーのドキュメントで確認してください。これらのパラメータは [リクエスト転送](/ja/features/request-forwarding) ガイドの通り、YouRouter 経由でそのまま渡せます。

詳細な API 例は [Chat Completions](/ja/guides/chat-completions) を参照してください。
