メインコンテンツへスキップ
BYOK は現在開発中です。ベータへの参加は support@arouter.ai までご連絡ください。
Bring Your Own Key(BYOK)を使用すると、ARouter に自分のプロバイダー API キーを登録できます。登録済みキーのあるプロバイダーにリクエストがルーティングされると、ARouter は共有キープールではなくあなたのキーを使用します。 メリット:
  • ゼロ上乗せ — トークンコストの上乗せなし、プロバイダーの定価で直接支払い
  • 独自のクォータ — リクエストは ARouter の共有プールではなく、自分のプロバイダーレート制限に対してカウント
  • 独自のデータポリシー — 既存のプロバイダー契約とデータ条件が適用
  • 統合ゲートウェイ — 引き続き ARouter のルーティング、フォールバック、オブザーバビリティを上層で活用

BYOK の仕組み

あなたのリクエスト → ARouter ゲートウェイ → [ルート選択] → プロバイダー API(あなたのキーを使用)
  1. ARouter ダッシュボードでプロバイダー API キーを登録
  2. ARouter がそのプロバイダーにリクエストをルーティングする際、あなたのキーに置き換える
  3. アカウントにトークンコストは請求されない(ARouter サービス料金のみ、該当する場合)
  4. レスポンスに usage.is_byok: true が返される

キーの登録

ARouter ダッシュボード でプロバイダーキーを追加します。 サポートされるプロバイダーとキー形式:
プロバイダーキー形式ダッシュボードラベル
OpenAIsk-...OpenAI API Key
Anthropicsk-ant-...Anthropic API Key
Google (Gemini)AIza...Google AI Studio Key
Azure OpenAIエンドポイント + キーAzure OpenAI
AWS Bedrockアクセスキー + シークレット + リージョンAWS Bedrock
Google Vertex AIサービスアカウント JSONGoogle Vertex AI

BYOK とプロバイダー順序の組み合わせ

BYOK と provider.order を組み合わせて、キーがいつ使用されるかを制御します:
{
  "model": "openai/gpt-5.4",
  "messages": [{"role": "user", "content": "Hello"}],
  "provider": {
    "order": ["OpenAI"]
  }
}
OpenAI が順序リストにあり、OpenAI BYOK キーが登録されている場合、ARouter はそのプロバイダーに対して自動的にあなたのキーを使用します。

部分的 BYOK

一部のプロバイダーにキーを登録しながら、その他は ARouter の共有プールを使用できます:
{
  "model": "anthropic/claude-sonnet-4.6",
  "provider": {
    "order": ["Anthropic", "AWS Bedrock"]
  }
}
Anthropic の BYOK キーがある場合、Anthropic にあなたのキーで最初に試みます。AWS Bedrock キーがあれば次に試みます。それ以外は ARouter が共有プールにフォールバックします。

Azure OpenAI

Azure OpenAI エンドポイントとキーを登録します:
{
  "provider_name": "Azure",
  "azure_endpoint": "https://your-resource.openai.azure.com",
  "azure_api_key": "your-azure-key",
  "azure_deployment": "gpt-5-4"
}
そこへルーティングします:
{
  "model": "openai/gpt-5.4",
  "provider": {
    "order": ["Azure"]
  }
}

AWS Bedrock

2 つの認証オプション: オプション 1:Bedrock API キー(推奨)
{
  "provider_name": "Bedrock",
  "aws_access_key_id": "AKIA...",
  "aws_secret_access_key": "your-secret",
  "aws_region": "us-east-1"
}
オプション 2:AWS 認証情報
{
  "provider_name": "Bedrock",
  "aws_credentials": {
    "access_key_id": "AKIA...",
    "secret_access_key": "...",
    "session_token": "...",
    "region": "us-east-1"
  }
}

Google Vertex AI

{
  "provider_name": "VertexAI",
  "vertex_service_account": {
    "type": "service_account",
    "project_id": "your-project",
    "private_key_id": "...",
    "private_key": "-----BEGIN RSA PRIVATE KEY-----\n...",
    "client_email": "your-sa@your-project.iam.gserviceaccount.com"
  }
}

BYOK リクエストの識別

あなたのキーが使用された場合、レスポンスの usage オブジェクトに is_byok: true が含まれます:
{
  "usage": {
    "prompt_tokens": 120,
    "completion_tokens": 45,
    "total_tokens": 165,
    "cost": 0.00,
    "is_byok": true
  }
}
is_byok: true の場合、usage.cost はあなたの直接プロバイダーコスト(ARouter 上乗せなし)を反映します。

キーの優先度とフォールバック

シナリオ動作
プロバイダーの BYOK キーが登録済みあなたのキーを使用
BYOK キーが登録済みだがプロバイダー不可用ARouter 共有プールにフォールバック(allow_fallbacks: false でない場合)
プロバイダーの BYOK キーなしARouter 共有プールを使用
allow_fallbacks: false かつ BYOK キーなし404 でリクエスト失敗

BYOK の問題のデバッグ

ダッシュボードのアクティビティページで各リクエストに使用されたキーを確認できます。よくあるエラー:
エラー原因修正方法
401 Unauthorized無効または期限切れのプロバイダーキーダッシュボード設定でキーをローテート
403 Forbiddenキーに必要な権限がないプロバイダーの IAM 設定を確認
quota_exceededプロバイダーのクォータが枯渇プロバイダープランをアップグレードするか BYOK を削除して共有プールを使用