プロバイダールーティング
1 つのモデルが複数のプロバイダーで提供されていることがあります。たとえば bytedance/seedance-2.0 は volcengine と byteplus の両方から提供されています。ofox は既定でプロバイダーを自動的に選択しますが、provider.type によってリクエストを特定のプロバイダーに固定できます。
既定のルーティング動作
provider フィールドを送信しない場合、ofox はそのモデルを現在提供しているチャネルに重み付けでリクエストを分配します。個々のリクエストをどのプロバイダーが処理するかは予測できません。
プロバイダーの指定
プロバイダー名を type フィールドに指定します。フィールドの位置はモデル種別によって異なります:
Gemini ネイティブプロトコルはボディの extra_body.provider を無視します —— リクエストは正常に返り、制約は適用されず、エラーも出ません。このプロトコルでは X-OfoxAI-Provider-Type ヘッダーを使ってください。 プロトコルごとのフィールド契約は API · プロバイダールーティング にあります。
チャットモデル
cURL
curl https://api.ofox.ai/v1/chat/completions \
-H "Authorization: Bearer $OFOX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-sonnet-5.5",
"messages": [{ "role": "user", "content": "..." }],
"extra_body": {
"provider": { "type": "bedrock" }
}
}'公式の OpenAI SDK を使用する場合、extra_body はリクエストボディのリテラルなキーとして存在する必要があります。TypeScript SDK はパラメータオブジェクトに記述したとおりに送信します。Python SDK の extra_body= 引数は内容をボディのトップレベルにマージするため、キーをもう 1 段階深くネストするか、リクエストヘッダーで渡してください。
利用可能なプロバイダー
ofox が現在対応しているプロバイダーは以下のとおりです。括弧内は短縮名で、正式名と等価です。どちらも使用できます:
すべてのプロバイダーがすべてのモデルを提供しているわけではありません。あるモデルをどのプロバイダーが提供しているか、また各プロバイダーがどのプロトコルに対応しているかは、モデルカタログ の当該モデルのページに表示されます。プログラムから取得する場合は GET /v2/models/catalog/{provider}/{slug}?include=provider_price が返す provider_cards[] が同じデータです。
チャットモデル
チャットモデルは上表の多くのプロバイダーに分散しています。具体的な対応関係とプロトコル対応状況は、各モデルのページを参照してください。
動画モデル
bytedance/seedance-* シリーズは以下の 2 つのプロバイダーで提供されており、両者のコンテンツポリシーは異なります:
byteplus は seedance がすべての利用者に適さない(NSFW)コンテンツを生成することを許可し、volcengine は標準的なモデレーションを適用します。そのようなコンテンツが必要な場合は provider.type: "byteplus" を明示的に指定してください。指定しない場合、重み付き分配によってリクエストが volcengine に振り分けられ、モデレーションで拒否される可能性があります。