- Ox Alphaストリーミングは、OpenRouterを通じて生成された出力を段階的に送信します。
- APIアクセスでは、OpenAI互換のリクエスト形式でモデルスラッグ
stealth/ox-alphaを使用します。 - ストリーミング制御には、リクエスト本文で
"stream": trueを指定する必要があります。 - 最適なワークフローは、安全なAPIキー、小規模なテストプロンプト、わかりやすいエラーハンドリングから始めます。
- パフォーマンス確認では、レイテンシ、スループット、稼働時間、ツール呼び出しの信頼性を考慮する必要があります。
Ox Alphaストリーミング:できること
Ox Alphaストリーミングは、生成全体が完了するまで待つのではなく、レスポンスが生成されるそばから受け取るためのAPIワークフローです。OpenRouterでは、Ox Alphaをコーディング、継続的なエージェント作業、本番ワークロード、テキストと視覚的コンテキストを組み合わせるタスク向けの推論モデルとして掲載しています。モデルはスラッグ stealth/ox-alpha で識別されます。
プロバイダーは、プレビュー期間中の匿名の第三者運営者として説明されています。OpenRouterはそのプロバイダーにリクエストをルーティングしますが、自身をモデルの開発者、所有者、プロバイダーとは位置づけていません。この区別は、データ保持条件、運用上の責任、本番利用への適合性を確認する際に重要です。
OpenRouterのモデルページには、1Mコンテキストウィンドウ、テキスト・画像・動画入力への対応、テキスト出力が記載されています。また、掲載上のリリース日は 2026年8月20日 です。これはプレビュー形式のステルスモデルであるため、重要なアプリケーションで特定のモダリティ、制限、プロバイダーポリシーを前提とする前に、現在の動作を確認してください。
段階的な出力
最終的な1つのペイロードを待つのではなく、利用可能になったレスポンスのチャンクを受け取ります。
コーディングワークフロー
長期的なソフトウェアエンジニアリング、コードベースのタスク、エージェント型の開発ループに適しています。
大規模コンテキスト
モデルページでは、大量の入力を処理できる 1Mトークンのコンテキスト ウィンドウが掲載されています。
マルチモーダル入力
参照ページでは、テキスト、画像、動画の入力と、テキストによるレスポンスに対応すると説明されています。
| 項目 | 掲載情報 | 実際の意味 |
|---|---|---|
| モデルスラッグ | stealth/ox-alpha | リクエストではこの識別子を正確に使用する |
| コンテキスト | 1Mトークン | 大規模なプロンプトも収まる可能性があるが、アプリケーション側の制限は適用される |
| 出力モード | テキスト | レスポンスチャンクから生成テキストを読み取る |
| 掲載価格 | 入力・出力ともに100万トークンあたり$0 | 本番利用前に現在の条件を確認する |
| プロバイダーモデル | 1プロバイダー | OpenRouterは掲載されたプロバイダーにリクエストを直接転送する |
掲載仕様は、2026年8月22日時点のスナップショットとして扱ってください。リリース前に、自分の統合環境で正確なエンドポイント、モダリティ、レスポンス形式をテストしましょう。
APIのセットアップと認証
最も簡単なセットアップ方法は、OpenRouter APIキーを作成して環境変数に保存し、stealth/ox-alpha を使ってリクエストを送信することです。OpenRouterはAPIがOpenAI互換であると説明しているため、ベースURL、認証設定、モデルスラッグを変更することで、多くの既存SDKパターンを利用できます。
本番用APIキーをブラウザーコード、公開リポジトリ、スクリーンショット、クライアント側アプリケーションに直接配置してはいけません。サーバー側のルートでユーザーリクエストを受け取り、秘密キーを付加してプロバイダーを呼び出し、アプリケーションに必要なデータだけを返すようにしてください。
基本的な環境設定は次のとおりです。
export OPENROUTER_API_KEY=sk-or-v1-...
リクエストエンドポイントは POST 操作です。必須ヘッダーは、コンテンツタイプとBearer認証です。OpenRouterでは、ランキングや関連するプラットフォーム表示でアプリケーションを識別するための任意ヘッダーとして、HTTP-Referer と X-Title もドキュメント化されています。
| リクエスト要素 | 必須状況 | 例 |
|---|---|---|
| HTTPメソッド | 必須 | POST |
| Authorization | 必須 | Bearer $OPENROUTER_API_KEY |
| Content-Type | 必須 | application/json |
| Model | 必須 | stealth/ox-alpha |
| Streamフラグ | ストリーミングでは必須 | true |
| HTTP-Referer | 任意 | アプリケーションのURL |
| X-Title | 任意 | アプリケーション名 |
APIキーを作成する
OpenRouterダッシュボードを開いてAPIキーを作成します。実用上必要な最小限の権限を付与し、ソース管理の対象外に保管してください。
秘密情報を保存する
サーバー環境で OPENROUTER_API_KEY を設定します。デプロイ済みアプリケーションでは、通常の設定ファイルではなくシークレットマネージャーを使用してください。
モデルを選択する
modelフィールドに stealth/ox-alpha を設定します。ルーティングを決定するのはスラッグであるため、表示名だけに依存しないでください。
小規模なテストを送信する
短いプロンプトから始め、大規模なコンテキストウィンドウを送信する前に、認証、モデル選択、レスポンス解析が機能することを確認します。
ストリーミングを有効にする
JSON本文に "stream": true を追加し、完了するまで返されたサーバー送信イベントストリームを処理します。
フロントエンドJavaScriptで OPENROUTER_API_KEY を公開しないでください。保護されたサーバーエンドポイントを介してリクエストをプロキシし、公開トラフィックを許可する前にレート制限を追加してください。
ストリームを有効化して読み取る方法
OpenRouterでは、ストリーミングをサーバー送信イベントのワークフローとして説明しています。リクエスト本文で "stream": true を設定すると、モデルが出力を生成するにつれて、サーバーはイベントデータを段階的に返します。クライアントは空でない各テキストデルタをバッファに追加し、段階的に描画する必要があります。
最小限のcURLリクエストは次のようになります。
curl -N -H "Content-Type: application/json" -H "Authorization: Bearer $OPENROUTER_API_KEY" -d '{"model":"stealth/ox-alpha","stream":true,"messages":[{"role":"user","content":"Explain recursion in simple terms."}]}'
-N オプションを使うと、不要なバッファリングなしでcURLにストリームを表示させやすくなります。アプリケーションでは、同等の動作にSSE対応パーサー、または非同期イテレーターを公開するSDKが必要です。
OpenRouterのTypeScript SDK例では、openrouter.chat.send を使用し、モデルとメッセージを渡して、返されたチャンクを反復処理します。テキストは chunk.choices[0]?.delta?.content から読み取ります。最後のチャンクには、利用可能な場合、推論トークンの詳細を含む使用量情報が含まれることもあります。
| ストリーム段階 | 確認する内容 | 推奨アクション |
|---|---|---|
| 接続 | HTTPステータスとヘッダー | 認証エラーや形式不正のリクエストを早期に拒否する |
| 最初のチャンク | choiceとdeltaフィールド | 表示するレスポンスを安全に初期化する |
| 中間チャンク | 増分コンテンツ | 以前の出力を置き換えずにテキストを追加する |
| 空のチャンク | 欠落または空白のコンテンツ | 失敗とはみなさずにスキップする |
| 最終チャンク | 使用量と完了状態 | メトリクスを保存し、UIの状態を終了する |
| エイベント | プロバイダーまたはルーティングメッセージ | 再試行可能なメッセージを表示し、診断情報を記録する |
ユーザー向けアプリケーションでは、蓄積された回答とトランスポート状態を分離してください。これにより、すでに受信したテキストを壊さずに、「接続中」「生成中」「完了」「失敗」を表示できます。
堅牢なストリームハンドラーでは、次の点にも対応する必要があります。
- サーバーが完了を通知したら読み取りを停止する。
- 最終的な使用量オブジェクトが届く前に接続が終了するケースに対応する。
- プロバイダーの生のエラーをエンドユーザーに表示しない。
- 再試行が提示された場合、部分的に受信したテキストを保持する。
- ユーザーがページを離れたりStopを押したりしたときにリクエストをキャンセルする。
- プライベートなプロンプト内容を不必要に記録せず、リクエスト時間を記録する。
最も安全なパターンは追加専用の描画です。利用可能な各コンテンツデルタを読み取ってバッファに追加し、使用量データは必ず存在するとは限らない任意情報として扱います。
パフォーマンス、可用性、本番利用
OpenRouterが公開したスナップショットには、Ox Alphaに関する複数の運用指標が示されています。掲載されたプロバイダーの概要では、P50レイテンシが 5.30秒、スループットが 毎秒23トークン でした。より広いパフォーマンスパネルには、表示された測定ビュー全体の平均P50スループット36トークン/秒、平均P50レイテンシ3.38秒など、追加のパーセンタイル平均も表示されていました。
これらの数値を、すべての地域、プロンプト、SDK、期間に対する保証とみなしてはいけません。レイテンシは、プロンプトサイズ、出力長、トラフィック、プロバイダーの負荷、ツールの使用、タスクの複雑さによって変化します。ストリーミングは、完全な完了を待たずにユーザーが出力を見られるため、体感上の応答性を向上させますが、生成全体の時間を必ずしも短縮するわけではありません。
取得期間の3日間について、ページには 99.99%の稼働時間 と 99.51%の可用性 が表示されていました。また、掲載プロバイダーの平均ツール呼び出しエラー率は 2.27%、平均キャッシュヒット率は 81.72% でした。これらの指標は公開集計値と異なる可能性があるため、自分のワークロードを監視してください。
| 指標 | スナップショット値 | 活用方法 |
|---|---|---|
| プロバイダーP50レイテンシ | 5.30秒 | 初回レスポンスへの現実的な期待値を設定する |
| プロバイダーのスループット | 毎秒23トークン | 表示される出力速度を見積もる |
| 稼働時間、3日間 | 99.99% | 短期的な応答性を確認する |
| 可用性、3日間 | 99.51% | 断続的な失敗に備えて再試行を計画する |
| ツール呼び出しエラー率 | 平均2.27% | 検証と復旧経路を追加する |
| キャッシュヒット率 | 平均81.72% | すべてのリクエストが同じキャッシュ動作になると想定しない |
本番のエージェントワークフローでは、指数バックオフを伴う回数制限付き再試行を使用してください。再試行は、実行中の操作に対して安全でなければなりません。レスポンスストリームが切断されたという理由だけで、外部アクションを自動的に繰り返さないでください。部分的な回答とアクションの完了は異なる状態であるため、ツール呼び出しには追加の検証が必要です。
最初に表示可能なトークンまでの時間、完了までの総時間、中断されたストリーム、HTTPエラー、ツール呼び出しエラー、出力長を追跡してください。これらの指標は、スループットだけを追跡するより有用です。
推奨ワークフローとトラブルシューティング
Ox Alphaストリーミングは段階的に導入してください。まず、単純なテキストのみのリクエストを検証します。次に、より長いプロンプト、構造化出力、対応している場合は画像または動画入力、ツールを有効にしたエージェントタスクをテストします。この順序で進めることで、診断が難しくなる前に統合エラーを切り分けられます。
実用的なトラブルシューティング手順は次のとおりです。
- サーバー上に環境変数が存在することを確認する。
- Bearerトークンが正確に1回だけ付加されていることを確認する。
- モデルスラッグが
stealth/ox-alphaであることを確認する。 - リクエスト本文が有効なJSONであることを確認する。
"stream": trueが引用符付きの文字列ではなくBoolean値であることを確認する。- イベントの解析を試みる前に、最初のレスポンスステータスを確認する。
- プロンプト、キー、機密性の高い出力を伏せたうえで、トランスポートメタデータを記録する。
- 失敗を安全に繰り返せる場合にのみ再試行する。
| 症状 | 考えられる原因 | 修正方法 |
|---|---|---|
| 401または403レスポンス | キーがない、無効、または制限されている | サーバー側のキーを再作成または更新する |
| モデルが見つからない | モデル識別子が間違っている | stealth/ox-alpha を正確に使用する |
| インターフェースが空白 | デルタパーサーがネストされたコンテンツを無視している | choices[0].delta.content を確認する |
| 表示される出力が遅い | クライアントまたはプロキシによるバッファリング | SSE互換の処理を使用し、出力をフラッシュする |
| ストリームが早期に停止する | ネットワーク中断または上流障害 | 部分的なテキストを保持し、安全な再試行を提示する |
| ツール結果が信頼できない | 検証またはタイムアウト処理が不足している | ツール引数を検証し、復旧状態を定義する |
ストリーミング準備チェックリスト:
- OpenRouter APIキーを作成して保護する
- stealth/ox-alphaモデルスラッグを使用する
- streamをBoolean値のtrueとして送信する
- 増分デルタコンテンツを安全に解析する
- 中断後も部分的な出力を保持する
- タイムアウト、再試行、キャンセル処理を追加する
保守する統合環境では、実装をOpenRouterのOx Alphaモデルおよびプロバイダーページにリンクしてください。このページは、掲載モデルスラッグ、機能、プロバイダー情報、パフォーマンススナップショット、価格表示、クイックスタート例の主要な参照先です。
最初のバージョンはプレーンテキスト生成を中心に構築し、ストリーム解析と障害復旧が安定してからマルチモーダル入力とツールを追加してください。
Ox AlphaストリーミングFAQ
Q: Ox Alphaストリーミングとは何ですか?
OpenRouterを通じて、完全なレスポンスを待つのではなく、Ox Alphaの出力を段階的に返すAPI方式です。リクエスト本文に stream: true を追加し、受信したサーバー送信イベントデータを処理します。
Q: どのモデル識別子を使用すべきですか?
OpenRouterのモデルスラッグ stealth/ox-alpha を使用してください。表示名はOx Alphaですが、APIリクエストで必要なのはルーティングを決定するスラッグです。
Q: Ox Alphaのストリーミングは無料ですか?
2026年8月22日に取得されたOpenRouterのページでは、掲載プロバイダーの入力と出力の価格がともに0ドルと表示されています。価格やアクセス条件は変更される可能性があるため、本番導入前に現在のページを確認してください。
Q: 切断されたストリームにはどのように対処すべきですか?
すでに受信した部分的なテキストを保持し、レスポンスを中断状態としてマークします。リクエストの再実行が安全な場合にのみ、再試行を提示してください。APIキーや機密性の高いプロンプトデータを公開せず、トランスポートエラーを記録します。
Ox Alphaは、プレビュー中の第三者によるステルスモデルとして説明されています。機密性の高いワークロードやミッションクリティカルなワークロードに使用する前に、現在のプロバイダー条件とリアルタイムの可用性を確認してください。