本文へスキップ

チャット補完を作成

OpenAI 互換の Chat Completions:GPT、Gemini、GLM、Qwen、DeepSeek、Grok などのチャットモデルが共通で使うエンドポイントです。

POST/v1/chat/completions

会話メッセージの配列を受け取り、モデルの応答を返します。OpenAI SDK は Base URL を https://api.hop-base.com/v1 に変え、対応するグループのキーに差し替えるだけで使えます。

下表には、ゲートウェイが検査・書き換え・拒否するフィールドと、各モデルページに明記された値のみを載せています。記載のない OpenAI フィールドはそのまま転送され、値の範囲はモデルの公式仕様に従います。リクエストボディ全体の上限は 60 MB で、超えると 413 を返します。

ヘッダー

Authorization:必須string

Bearer sk-…:コンソールの「API キー」で作成したキー。キーのグループにリクエストするモデルが含まれている必要があります

リクエストボディJSON

モデル
記載のないフィールドはそのまま転送されます。モデルファミリーを選ぶと、そのドキュメントに記載された値と制限を表示します。
model:必須string

現在のキーのグループに含まれるモデル ID。GET /v1/models の返り値が基準です。グループにそのモデルがない場合は 404 model_not_found、gpt-image-* などの画像モデルでこのエンドポイントを呼ぶと 400 image models do not support Chat Completions, please use the Images API を返します

messages:必須array of object

会話メッセージ。欠落時は 400 missing messages field、空配列の場合は 400 messages must not be an empty array を返します

個数≥ 1 個

max_tokens:任意integer

出力上限。ゲートウェイは切り詰めも書き換えもしません。上限はモデルの公式仕様に従い、超えた場合はモデルがエラーを返します

max_completion_tokens:任意integer

max_tokens と同じ。OpenAI の新しいフィールド名です

stream:任意boolean

true で SSE を返します。イベント形式はストリーミングイベントを参照

デフォルトfalse

stream_options:任意object

ストリーミングオプション

tools:任意array of object

関数ツール。OpenAI の function tools 形式で、そのまま転送されます。

tool_choice:任意string または object

auto / none / required または特定の関数。そのまま転送されます

temperature:任意number

サンプリング温度。そのまま転送され、範囲はモデルの公式仕様に従います

top_p:任意number

nucleus サンプリング。そのまま転送され、範囲はモデルの公式仕様に従います

reasoning_effort:任意string

推論レベル。値はモデルによって異なるため、上でモデルファミリーを選んで確認してください

service_tier:任意string

priority / flex のみ保持します。その他の値は削除してから転送し、エラーにはなりません

取りうる値priorityflex

レスポンス

200成功。非ストリーミングでは chat.completion JSON、stream: true のときは SSE(text/event-stream)

id:任意string

この補完の ID

object:任意"chat.completion"

chat.completion 固定

created:任意integer

Unix 秒

model:任意string

実際に使われたモデル ID

choices:任意array of object

候補の応答。ほとんどのモデルは 1 件のみ返します

usage:任意object

トークン使用量

エラー

400リクエストボディが読み取れない、messages がないなど
401キー未指定、キーが無効または期限切れ(missing_api_key / invalid_api_key / api_key_expired)
402残高、またはキー・メンバー・部門のクォータを使い切った(insufficient_quota)
404モデルがこのキーのグループにない(model_not_found)、またはパスがそのグループに属さない(route_not_found)
413リクエストボディが 60 MB を超えた(request_too_large)
429アカウントまたはキーの同時実行数が上限に達した(user_concurrency_limit / apikey_concurrency_limit)。Retry-After 付き

関連ページ