Felo API PlatformFelo API Platform

ガイド

チャネルとプロバイダールーティング

X-Felo-Channel でモデルを特定のプロバイダーに固定し、デフォルトルーティング、課金、フォールバックのルールを理解します。

1 つのモデルが複数の上流プロバイダーから提供されることがあります。デフォルトでは Felo がプロバイダーを選びます。特定のプロバイダーを指定したい場合は、公開チャネルコードを 1 つ以上指定した X-Felo-Channel リクエストヘッダーを送ります。

対応 endpoint

X-Felo-Channel はすべての Model API 生成 endpoint で受け付けられます。

Endpointプロトコル
POST /api/v1/chat/completionsOpenAI Chat Completions
POST /api/v1/responsesOpenAI Responses
POST /api/v1/messagesAnthropic Messages
POST /api/v1/images/generations画像生成
POST /api/v1/videos/generations動画生成
POST /api/v1/decisions意思決定

Data API(/v1/beta)と Felo APIs(/v2)には適用されません。

ヘッダーの値

値は 公開チャネルコード を順序どおりにカンマで区切ったリストです。

X-Felo-Channel: claude-cc
X-Felo-Channel: claude-cc,anthropic
X-Felo-Channel: default

公開 Model API 仕様のルール:

  • ヘッダーを省略するとデフォルトルートを使います。
  • default は単独で使う場合のみ有効です。チャネルコードと組み合わせないでください。
  • 公開チャネルコードは、カタログのモデルの channels[].code フィールドから取得します。プロバイダーの表示名ではなくコードを使ってください。
  • ルーティングできるのは、実行可能で公開されているチャネルだけです。

デフォルトルーティング

ヘッダーを省略した場合、または default だけを送った場合、プラットフォームがプロバイダーを選びます。wallet モードでは、モデルの有効な公開チャネル順を逆方向に走査し、未公開または利用不可のチャネルを飛ばして、最初に利用可能なチャネルのプロバイダーを選びます。同じ上流モデル ID と service tier を持つ、そのプロバイダーの利用可能な endpoint を含める場合があります。

X-Felo-Channel: default を送る必要はありません。ヘッダーを省略するのがデフォルトルートの通常の使い方です。

明示的なルーティング

チャネルコードを送ると、指定した順に検証されます。送信されるのは最初のチャネルのプロバイダーグループだけです。別のプロバイダーへの自動フォールバックはありません。

つまり、チャネルリストは選択であり、リトライポリシーではありません。フェイルオーバーが必要な場合はアプリケーション側で実装してください。最初のチャネルが失敗したら、別のチャネルで新しいリクエストを送ります。

レガシーのプロバイダーヘッダーは X-Felo-Channel を上書きできません。クライアントの別のヘッダーもプロバイダーを要求している場合、X-Felo-Channel が優先されます。

料金

各公開チャネルは独自の標準料金と割引乗数を公開しています。モデル詳細ページでプロバイダーに表示される価格は、そのチャネルの顧客価格です。固定したチャネルによって、適用されるプロバイダーの料金が決まります。

大量のワークロードのためにチャネルを固定する前に、モデルページでプロバイダーの行を比較し、モデルと料金をお読みください。

チャネルコードの調べ方

  1. モデル詳細ページを開き、プロバイダー表を探します。
  2. プロバイダーを公開チャネルコードに対応付けます。コードは API が使う安定した識別子です。
  3. カタログを直接読む場合は channels[].code を使い、runnable を確認します。

たとえば claude-haiku-5-5 は anthropic(デフォルト)、azure、google-vertex-global、claude-cc など複数のチャネルを公開しています。claude-cc の行は独自の割引を示すため、固定するとプロバイダーと料金の両方が変わります。

例

Chat Completions を 1 つのチャネルに固定:

curl https://openapi.felo.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Felo-Channel: claude-cc" \
  -d '{
    "model": "claude-haiku-5-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "Summarize this change in one sentence."}]
  }'

同じチャネルで Anthropic Messages:

curl https://openapi.felo.ai/api/v1/messages \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Felo-Channel: claude-cc" \
  -d '{
    "model": "claude-haiku-5-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "Summarize this change in one sentence."}]
  }'

ルーティングヘッダーなしのデフォルトルーティング:

curl https://openapi.felo.ai/api/v1/chat/completions \
  -H "Authorization: Bearer $FELO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-haiku-5-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "Summarize this change in one sentence."}]
  }'

関連