メインコンテンツへスキップ
モデルバリアントを使用すると、モデル ID にサフィックスを追加することでルーティング動作を変更できます。別途 provider オブジェクトを設定する代わりに、バリアントはモデル文字列に直接埋め込まれた簡潔な略記法です。
{"model": "openai/gpt-5.4:nitro"}

:nitro — 最大スループット

:nitro を追加すると、モデルの最高スループットインスタンスにルーティングされます。provider.sort = "throughput" の設定と同等です。 最適な用途:リアルタイムアプリケーション、インタラクティブチャット、ストリーミング UI
{"model": "openai/gpt-5.4:nitro"}
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "https://api.arouter.ai/v1",
  apiKey: "lr_live_xxxx",
});

const response = await client.chat.completions.create({
  model: "openai/gpt-5.4:nitro",
  messages: [{ role: "user", content: "Hello!" }],
});

:floor — 最低コスト

:floor を追加すると、モデルの最低コストインスタンスにルーティングされます。provider.sort = "price" の設定と同等です。 最適な用途:バッチ処理、オフラインワークロード、コスト重視のパイプライン
{"model": "openai/gpt-5.4:floor"}
const response = await client.chat.completions.create({
  model: "openai/gpt-5.4:floor",
  messages: [{ role: "user", content: "Summarize this document." }],
});

:free — 無料ティア

:free を追加すると、モデルの無料ティアインスタンスにルーティングされます。無料ティアインスタンスは多くの人気モデルで利用可能ですが、レート制限が適用されます。 最適な用途:プロトタイピング、開発、低ボリュームテスト
{"model": "meta-llama/llama-4-maverick:free"}
const response = await client.chat.completions.create({
  model: "meta-llama/llama-4-maverick:free",
  messages: [{ role: "user", content: "Hello!" }],
});
無料ティアモデルにはより厳しいレート制限があり、コンテキストウィンドウが縮小される場合があります。詳細はレート制限を参照してください。

:thinking — 拡張推論

:thinking を追加すると、対応するモデルで拡張チェーン・オブ・ソート推論が有効になります(DeepSeek R1、拡張思考付き Claude、Gemini Flash Thinking など)。 最適な用途:複雑な推論、数学、コーディング、多ステップの問題
{"model": "deepseek/deepseek-r1:thinking"}
const response = await client.chat.completions.create({
  model: "deepseek/deepseek-r1:thinking",
  messages: [
    { role: "user", content: "Prove that √2 is irrational." }
  ],
});

// 推論トークンは usage に返される
console.log(response.usage);
:thinking が有効な場合、推論トークンはレスポンスの usage.completion_tokens_details に表示されます:
{
  "usage": {
    "prompt_tokens": 20,
    "completion_tokens": 850,
    "total_tokens": 870,
    "completion_tokens_details": {
      "reasoning_tokens": 720
    }
  }
}
請求と使用の詳細は推論トークンを参照してください。

:extended — 拡張コンテキスト

:extended を追加すると、デフォルトより大きいコンテキストウィンドウを持つモデルバージョンにアクセスできます。 最適な用途:長文書処理、大規模コードベース、長い会話
{"model": "google/gemini-2.5-flash:extended"}
const response = await client.chat.completions.create({
  model: "google/gemini-2.5-flash:extended",
  messages: [{ role: "user", content: "Analyze this 500-page report..." }],
});

:exacto — ツール呼び出し品質

:exacto を追加すると、ツール呼び出しリクエストの品質ランキングルーティングを明示的に有効にします。ARouter は最安値ではなく、ツール呼び出し品質スコアが最も高いプロバイダーエンドポイントを選択します。 最適な用途:スキーマ準拠と引数の精度がコストより重要な本番ツール呼び出しパイプライン
{"model": "openai/gpt-5.4:exacto"}
const response = await client.chat.completions.create({
  model: "openai/gpt-5.4:exacto",
  messages: [{ role: "user", content: "Get the weather in Shanghai and Tokyo" }],
  tools: [weatherTool],
});
Auto Exacto との違いAuto Exactotools が存在する場合に自動的に有効になります。:exacto はツールなしのリクエストでも品質ランキングルーティングを強制します——モデルがツールを呼び出すかどうかに関わらず一貫したプロバイダー選択動作が必要な場合に便利です。

バリアントの組み合わせ

一部のバリアントは組み合わせることができます:
{"model": "meta-llama/llama-4-maverick:free:nitro"}
すべての組み合わせが有効というわけではありません。モデルでリクエストされた組み合わせが利用できない場合、ARouter はエラーを返します。

バリアントリファレンス

サフィックス効果同等の provider 設定最適な用途
:nitro最高スループットprovider.sort = "throughput"リアルタイム / インタラクティブ
:floor最低コストprovider.sort = "price"バッチ / オフライン
:free無料ティア(レート制限あり)開発 / プロトタイピング
:thinking拡張推論モード複雑な推論
:extended大きいコンテキストウィンドウ長文書
:onlineウェブ検索(非推奨)plugins: [{id: "web"}]代わりにサーバーツールを使用
:exactoツール呼び出し品質ルーティングprovider.sort = "quality"本番ツール呼び出し

バリアントがルーティングに与える影響

バリアントはサーバー側で解析され、ARouter が選択するエンドポイントに影響します:
  1. ベースモデル ID(例:openai/gpt-5.4)がモデルファミリーを識別
  2. サフィックスがエンドポイント選択基準を変更
  3. ARouter は response.model に実際に使用されたモデルを返す
提供されたモデルバリアントを正確に確認するには、常に response.model を確認してください:
{
  "model": "openai/gpt-5.4:nitro",
  "choices": [...],
  "usage": {...}
}
バリアントが提供するよりも細かい制御が必要な場合は、プロバイダールーティングで完全な provider オブジェクトオプションを参照してください。