エンドポイント
プロバイダールーティングとフォールバック
provider オブジェクトの order、only、allow_fallbacks、sort でプロバイダーの選択を制御する方法です。models 配列によるモデルのフォールバック、実際に使われたプロバイダーの確認、関連エラーも説明します。
プレイグラウンドで試す多くのモデルは複数の上流プロバイダーから提供され、それぞれ価格、速度、データポリシーが異なります。デフォルトでは、リクエストは価格と稼働率に基づいてプロバイダー間で負荷分散され、1 つが失敗すると別のプロバイダーにフォールバックします。これを変更するには provider オブジェクトを、異なるモデル間でフォールバックするには models を使います。
provider オブジェクト
| フィールド | 型 | 説明 |
|---|---|---|
order | string[] | 最初に試すプロバイダーを順番に指定します。例: ["Anthropic", "Amazon Bedrock"]。 |
allow_fallbacks | boolean | false にすると、order または only の外にあるプロバイダーへリクエストが送られなくなります(デフォルトは true)。 |
only | string[] | これらのプロバイダーのみを許可します。 |
ignore | string[] | これらのプロバイダーを使用しません。 |
sort | string | 負荷分散の代わりに "price"、"throughput"、"latency" で並べ替えます。 |
data_collection | string | "deny" は、プロンプトを保存または学習に使う可能性のあるプロバイダーを除外します。デフォルトは "allow" です。 |
require_parameters | boolean | リクエスト内のすべてのパラメーター(tools、response_format など)に対応するプロバイダーのみを使用します。 |
quantizations | string[] | 許可する精度。例: ["fp8", "bf16"]。 |
max_price | object | 100 万トークンあたりの USD 価格の上限。例: { "prompt": 1, "completion": 3 }。 |
{
"model": "meta-llama/llama-3.3-70b-instruct",
"messages": [{ "role": "user", "content": "Hello" }],
"provider": {
"order": ["Groq", "Fireworks"],
"allow_fallbacks": true,
"data_collection": "deny",
"sort": "throughput"
}
}
:nitro バリアントは sort: "throughput" のショートカットで、:floor は sort: "price" のショートカットです。モデル IDを参照してください。
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://api14.com/api/v1",
apiKey: process.env.API14_API_KEY,
});
const result = await client.chat.completions.create({
"model": "openai/gpt-5-mini",
"messages": [
{
"role": "user",
"content": "Explain vector databases in two sentences."
}
]
});
console.log(result.choices[0].message.content);
models によるモデルのフォールバック
モデルのリストを渡します。最初のモデルが失敗した場合(障害、レート制限、モデレーション、コンテキスト長のエラー)は、次のモデルが試されます。
{
"models": ["anthropic/claude-sonnet-4.5", "openai/gpt-5-mini", "google/gemini-2.5-flash"],
"messages": [{ "role": "user", "content": "Summarize this ticket." }]
}
modelsを設定した場合、modelは省略できます。両方を送ると、modelが最初に試されます。- リクエストの送信前に、リスト内のすべてのモデルがゲートウェイのチェックを通過する必要があります。モデルが存在して有効であること、キーのモデル許可リストに含まれていること、プランに含まれていることです。1 つでもチェックに失敗するモデルがあると、リクエスト全体が拒否されます(
403 model_not_allowed、403 plan_required、404 model_not_found)。 - 課金されるのは、応答したモデルのみで、そのモデル自身の価格が適用されます。レスポンスの
modelフィールドでどのモデルだったかが分かります。
レスポンス
{
"id": "gen-1760000000-route",
"model": "openai/gpt-5-mini",
"provider": "OpenAI",
"choices": [{ "index": 0, "finish_reason": "stop", "message": { "role": "assistant", "content": "..." } }],
"usage": { "prompt_tokens": 140, "completion_tokens": 60, "total_tokens": 200, "cost": 0.000155 }
}
provider は、リクエストを処理した上流プロバイダーを示します。生成情報の取得では、ルーティングの詳細をすべて確認できます。
エラー
フィルターに一致するプロバイダーがない場合(たとえば only と require_parameters を併用した場合)、上流は 404 "No endpoints found" を返します。そのほかのエラーは Chat Completions と同じです。エラーを参照してください。