メインコンテンツへスキップ
Hostlinku は、OpenAI Responses API - Codex CLI で使用されるフォーマット - と互換性のあるエンドポイントを提供します。 OpenAI Agents SDK、およびOpenAI SDKのclient.responses.create()メソッドで使用されるフォーマットです。 base URL を変更するだけで済みます。API キー、残高、Service Mode、レート制限、およびリクエストログは、/v1/chat/completions および /v1/messages と同じです。
すべての応答には、ヘッダー x-request-id(リクエスト ID Hostlinku、フォーマット resp_…)が含まれており、非ストリーミングの成功応答には x-model が含まれます。

クイック設定

各ツールの詳細なガイドは、Codex CLI および OpenAI Agents SDK に掲載されています。 Codex CLI (~/.codex/config.toml)
Python(OpenAI公式SDK)
Node.js
OpenAI Agents SDK (Python)

bodyパラメータ

認識されないその他のフィールドはゲートウェイに転送されます(モデルでサポートされていないパラメータは無視されます)。無効なボディは400 invalid_request_errorとして拒否され、フィールドごとの詳細はerror.details.issuesに記載されています。

非ストリーミングの応答

id および model は、常に Hostlinku のパブリック ID です。 ブロックhostlinkuは拡張情報(OpenAIのSDKはこれを無視する)であり、、Service Mode API keyの費用およびレイテンシが含まれている。 status: "incomplete" および incomplete_details.reason = "max_output_tokens" は、出力が max_output_tokens によって切り詰められていることを意味しますが、実際のトークンに基づいて課金されます。

ストリーミング (stream: true)

ゲートウェイは、Responses API(event: + data:)のフレーム形式でSSEイベントを転送します。これには、アップストリームからのsequence_numberも含まれます:
注:
  • 最終的な使用量は、response.completed(またはresponse.incomplete)のオブジェクトresponseに記録されます。費用は、そのイベント後の実際の使用量に基づいて計算されます。
  • ツールコールは、response.output_item.added(type: "function_call")、response.function_call_arguments.delta、およびresponse.function_call_arguments.doneを経由して送信されます。
  • ストリームが途中で失敗した場合、ゲートウェイはevent: errorと{"type":"error","code":…,"message":…}を送信し、偽のresponse.completedは送信しない。
  • 最初のバイトが送信される前のエラー(残高不足、モデルが存在しない、レート制限)は、正しいHTTPステータスを伴う通常のJSONレスポンスとして返されます。SDK OpenAIでは、これらを例外(AuthenticationError、NotFoundError、 RateLimitError、…)。

ツールの呼び出し(関数の呼び出し)

フォーマットエラー

エラーメッセージには、アップストリームプロバイダーの識別子が含まれていません。Chat Completions 形式のエラーコードの完全な一覧は、エラー に記載されています。