チャット補完を作成
OpenAI 互換の Chat Completions:GPT、Gemini、GLM、Qwen、DeepSeek、Grok などのチャットモデルが共通で使うエンドポイントです。
/v1/chat/completions会話メッセージの配列を受け取り、モデルの応答を返します。OpenAI SDK は Base URL を https://api.hop-base.com/v1 に変え、対応するグループのキーに差し替えるだけで使えます。
下表には、ゲートウェイが検査・書き換え・拒否するフィールドと、各モデルページに明記された値のみを載せています。記載のない OpenAI フィールドはそのまま転送され、値の範囲はモデルの公式仕様に従います。リクエストボディ全体の上限は 60 MB で、超えると 413 を返します。
ヘッダー
Bearer sk-…:コンソールの「API キー」で作成したキー。キーのグループにリクエストするモデルが含まれている必要があります
リクエストボディJSON
現在のキーのグループに含まれるモデル ID。GET /v1/models の返り値が基準です。グループにそのモデルがない場合は 404 model_not_found、gpt-image-* などの画像モデルでこのエンドポイントを呼ぶと 400 image models do not support Chat Completions, please use the Images API を返します
会話メッセージ。欠落時は 400 missing messages field、空配列の場合は 400 messages must not be an empty array を返します
個数≥ 1 個
system / user / assistant / tool(OpenAI 形式)
文字列、またはコンテンツパーツの配列。パーツは {"type": "text", "text": …}。画像読み取り対応モデルは {"type": "image_url", "image_url": {"url": …}} も受け付けます。画像の要件はモデルごとに異なり、上のモデル選択で確認できます
text または image_url
type が text のときのテキスト
type が image_url のときの画像
HTTP(S) リンクまたは data: URI。対応形式はモデルによって異なります
assistant のみ:前のターンでモデルが返したツール呼び出し。そのまま送り返します
tool のみ:前のターンの tool_calls[].id と一致させる必要があります
出力上限。ゲートウェイは切り詰めも書き換えもしません。上限はモデルの公式仕様に従い、超えた場合はモデルがエラーを返します
max_tokens と同じ。OpenAI の新しいフィールド名です
true で SSE を返します。イベント形式はストリーミングイベントを参照
デフォルトfalse
ストリーミングオプション
ストリーミング時に true を指定した場合のみ、usage だけを含む最後のイベント(choices は空)を受け取れます。指定しなければ送られませんが、課金には影響しません
デフォルトfalse
関数ツール。OpenAI の function tools 形式で、そのまま転送されます。
function 固定
関数名
関数の用途。モデルはこれをもとに呼び出すかどうかを判断します
パラメータの JSON Schema
auto / none / required または特定の関数。そのまま転送されます
サンプリング温度。そのまま転送され、範囲はモデルの公式仕様に従います
nucleus サンプリング。そのまま転送され、範囲はモデルの公式仕様に従います
推論レベル。値はモデルによって異なるため、上でモデルファミリーを選んで確認してください
priority / flex のみ保持します。その他の値は削除してから転送し、エラーにはなりません
取りうる値priorityflex
現在のキーのグループに含まれるモデル ID。GET /v1/models の返り値が基準です。グループにそのモデルがない場合は 404 model_not_found、gpt-image-* などの画像モデルでこのエンドポイントを呼ぶと 400 image models do not support Chat Completions, please use the Images API を返します
取りうる値codex-auto-reviewgpt-5.3-codex-sparkgpt-5.4gpt-5.4-minigpt-5.5gpt-5.6-solgpt-5.6-terragpt-6-astragpt-6-lunagpt-6-sol
会話メッセージ。欠落時は 400 missing messages field、空配列の場合は 400 messages must not be an empty array を返します
個数≥ 1 個
system / user / assistant / tool(OpenAI 形式)
文字列、またはコンテンツパーツの配列。パーツは {"type": "text", "text": …}。画像読み取り対応モデルは {"type": "image_url", "image_url": {"url": …}} も受け付けます。画像の要件はモデルごとに異なり、上のモデル選択で確認できます
text または image_url
type が text のときのテキスト
type が image_url のときの画像
HTTP(S) リンクまたは data: URI。対応形式はモデルによって異なります
assistant のみ:前のターンでモデルが返したツール呼び出し。そのまま送り返します
tool のみ:前のターンの tool_calls[].id と一致させる必要があります
出力上限。ゲートウェイは切り詰めも書き換えもしません。上限はモデルの公式仕様に従い、超えた場合はモデルがエラーを返します
max_tokens と同じ。OpenAI の新しいフィールド名です
true で SSE を返します。イベント形式はストリーミングイベントを参照
デフォルトfalse
ストリーミングオプション
ストリーミング時に true を指定した場合のみ、usage だけを含む最後のイベント(choices は空)を受け取れます。指定しなければ送られませんが、課金には影響しません
デフォルトfalse
関数ツール。OpenAI の function tools 形式で、そのまま転送されます。
function 固定
関数名
関数の用途。モデルはこれをもとに呼び出すかどうかを判断します
パラメータの JSON Schema
auto / none / required または特定の関数。そのまま転送されます
サンプリング温度。そのまま転送され、範囲はモデルの公式仕様に従います
nucleus サンプリング。そのまま転送され、範囲はモデルの公式仕様に従います
推論レベル。値はモデルによって異なるため、上でモデルファミリーを選んで確認してください
priority / flex のみ保持します。その他の値は削除してから転送し、エラーにはなりません
取りうる値priorityflex
現在のキーのグループに含まれるモデル ID。GET /v1/models の返り値が基準です。グループにそのモデルがない場合は 404 model_not_found、gpt-image-* などの画像モデルでこのエンドポイントを呼ぶと 400 image models do not support Chat Completions, please use the Images API を返します
取りうる値gemini-2.5-flashgemini-2.5-flash-litegemini-2.5-progemini-3-flash-previewgemini-3.1-flash-litegemini-3.1-flash-lite-previewgemini-3.1-pro-previewgemini-3.1-pro-preview-customtoolsgemini-3.5-flashgemini-3.5-flash-litegemini-3.6-flashgemini-3.7-flashgemini-3.8-flash
コンテンツパーツは text と image_url のみ読み取ります。image_url は base64 の data URL のみ受け付けます(公開 URL は 400 image_url only supports data URLs (base64-embedded images))。input_audio、file、video_url は黙って破棄され、role: "tool" はユーザーのテキストとして送られます。使える内容がない場合は 400 を返します
個数≥ 1 個
system / user / assistant / tool(OpenAI 形式)
文字列、またはコンテンツパーツの配列。パーツは {"type": "text", "text": …}。画像読み取り対応モデルは {"type": "image_url", "image_url": {"url": …}} も受け付けます。画像の要件はモデルごとに異なり、上のモデル選択で確認できます
text または image_url
type が text のときのテキスト
type が image_url のときの画像
HTTP(S) リンクまたは data: URI。対応形式はモデルによって異なります
assistant のみ:前のターンでモデルが返したツール呼び出し。そのまま送り返します
tool のみ:前のターンの tool_calls[].id と一致させる必要があります
max_completion_tokens も同時に指定した場合は max_tokens が優先されます。思考トークンもこの上限に含まれるため、4096 以上を推奨します
max_tokens と同じ。OpenAI の新しいフィールド名です
true で SSE を返します。イベント形式はストリーミングイベントを参照
デフォルトfalse
ストリーミングオプション
ストリーミング時に true を指定した場合のみ、usage だけを含む最後のイベント(choices は空)を受け取れます。指定しなければ送られませんが、課金には影響しません
デフォルトfalse
関数ツール。OpenAI の function tools 形式で、そのまま転送されます。
function 固定
関数名
関数の用途。モデルはこれをもとに呼び出すかどうかを判断します
パラメータの JSON Schema
auto / none / required または特定の関数。そのまま転送されます
サンプリング温度。そのまま転送され、範囲はモデルの公式仕様に従います
nucleus サンプリング。そのまま転送され、範囲はモデルの公式仕様に従います
none / minimal → 思考予算 0、medium → 8192、high → 24576。low やその他の値はモデルの既定値のままです
取りうる値noneminimallowmediumhigh
priority / flex のみ保持します。その他の値は削除してから転送し、エラーにはなりません
取りうる値priorityflex
現在のキーのグループに含まれるモデル ID。GET /v1/models の返り値が基準です。グループにそのモデルがない場合は 404 model_not_found、gpt-image-* などの画像モデルでこのエンドポイントを呼ぶと 400 image models do not support Chat Completions, please use the Images API を返します
取りうる値glm-5.3
空でない配列、テキストのみ。画像を含めると 400。コンテキスト 1M
個数≥ 1 個
system / user / assistant / tool(OpenAI 形式)
文字列、またはコンテンツパーツの配列。パーツは {"type": "text", "text": …}。画像読み取り対応モデルは {"type": "image_url", "image_url": {"url": …}} も受け付けます。画像の要件はモデルごとに異なり、上のモデル選択で確認できます
text または image_url
type が text のときのテキスト
type が image_url のときの画像
HTTP(S) リンクまたは data: URI。対応形式はモデルによって異なります
assistant のみ:前のターンでモデルが返したツール呼び出し。そのまま送り返します
tool のみ:前のターンの tool_calls[].id と一致させる必要があります
思考と本文で共用。超えると 400 max_tokens参数非法:限制数值范围[1,131072] を返します
範囲1–131072
max_tokens と同じ。OpenAI の新しいフィールド名です
true で SSE を返します。イベント形式はストリーミングイベントを参照
デフォルトfalse
ストリーミングオプション
ストリーミング時に true を指定した場合のみ、usage だけを含む最後のイベント(choices は空)を受け取れます。指定しなければ送られませんが、課金には影響しません
デフォルトfalse
関数ツール。OpenAI の function tools 形式で、そのまま転送されます。
function 固定
関数名
関数の用途。モデルはこれをもとに呼び出すかどうかを判断します
パラメータの JSON Schema
OpenAI と同じ。返す tool の結果は前のターンの呼び出し ID に対応させる必要があり、そうでなければ 400 No tool call found for function call output を返します
デフォルト"auto"
サンプリング温度。そのまま転送され、範囲はモデルの公式仕様に従います
nucleus サンプリング。そのまま転送され、範囲はモデルの公式仕様に従います
常に思考します。none など思考をオフにする値を指定すると 400 を返します
取りうる値lowhighmax
priority / flex のみ保持します。その他の値は削除してから転送し、エラーにはなりません
取りうる値priorityflex
現在のキーのグループに含まれるモデル ID。GET /v1/models の返り値が基準です。グループにそのモデルがない場合は 404 model_not_found、gpt-image-* などの画像モデルでこのエンドポイントを呼ぶと 400 image models do not support Chat Completions, please use the Images API を返します
取りうる値glm-5.3-flash
空でない配列。テキスト、画像、動画、ファイルを含められます。コンテキスト 1M
個数≥ 1 個
system / user / assistant / tool(OpenAI 形式)
文字列、またはコンテンツパーツの配列。パーツは {"type": "text", "text": …}。画像読み取り対応モデルは {"type": "image_url", "image_url": {"url": …}} も受け付けます。画像の要件はモデルごとに異なり、上のモデル選択で確認できます
text または image_url
type が text のときのテキスト
type が image_url のときの画像
HTTP(S) リンクまたは data: URI。対応形式はモデルによって異なります
assistant のみ:前のターンでモデルが返したツール呼び出し。そのまま送り返します
tool のみ:前のターンの tool_calls[].id と一致させる必要があります
最大 128K(公式上限)。思考と回答で共用
max_tokens と同じ。OpenAI の新しいフィールド名です
true で SSE を返します。イベント形式はストリーミングイベントを参照
デフォルトfalse
ストリーミングオプション
ストリーミング時に true を指定した場合のみ、usage だけを含む最後のイベント(choices は空)を受け取れます。指定しなければ送られませんが、課金には影響しません
デフォルトfalse
関数ツール。OpenAI の function tools 形式で、そのまま転送されます。
function 固定
関数名
関数の用途。モデルはこれをもとに呼び出すかどうかを判断します
パラメータの JSON Schema
auto / none / required または特定の関数。そのまま転送されます
ゲートウェイでは範囲を設けていません。推奨は 1
ゲートウェイでは範囲を設けていません。推奨は 0.95
推奨は max。思考は有効化のみで、無効にはできません
取りうる値lowhighmax
priority / flex のみ保持します。その他の値は削除してから転送し、エラーにはなりません
取りうる値priorityflex
tools を伴うストリーミングでは true を推奨。ツール引数が逐次ストリーミングされます
デフォルトfalse
現在のキーのグループに含まれるモデル ID。GET /v1/models の返り値が基準です。グループにそのモデルがない場合は 404 model_not_found、gpt-image-* などの画像モデルでこのエンドポイントを呼ぶと 400 image models do not support Chat Completions, please use the Images API を返します
取りうる値qwen3.7-flashqwen3.7-maxqwen3.7-plusqwen3.8-flashqwen3.8-max
空でない配列。qwen3.7-max はテキストのみ、その他のモデルは画像・動画に対応。画像の幅・高さは 10 ピクセルより大きい必要があります。qwen3.8-max の実測入力上限は 991,808 トークンで、超えると 400 Range of input length should be [1, 991808] を返します
個数≥ 1 個
system / user / assistant / tool(OpenAI 形式)
文字列、またはコンテンツパーツの配列。パーツは {"type": "text", "text": …}。画像読み取り対応モデルは {"type": "image_url", "image_url": {"url": …}} も受け付けます。画像の要件はモデルごとに異なり、上のモデル選択で確認できます
text または image_url
type が text のときのテキスト
type が image_url のときの画像
HTTP(S) リンクまたは data: URI。対応形式はモデルによって異なります
assistant のみ:前のターンでモデルが返したツール呼び出し。そのまま送り返します
tool のみ:前のターンの tool_calls[].id と一致させる必要があります
上限 131,072(公式上限)
範囲≤ 131072
max_tokens と同じ。OpenAI の新しいフィールド名です
true で SSE を返します。イベント形式はストリーミングイベントを参照
デフォルトfalse
ストリーミングオプション
ストリーミング時に true を指定した場合のみ、usage だけを含む最後のイベント(choices は空)を受け取れます。指定しなければ送られませんが、課金には影響しません
デフォルトfalse
関数ツール。OpenAI の function tools 形式で、そのまま転送されます。
function 固定
関数名
関数の用途。モデルはこれをもとに呼び出すかどうかを判断します
パラメータの JSON Schema
OpenAI と同じ。思考モードでは required や特定の関数を指定できず、400 を返します
デフォルト"auto"
サンプリング温度。そのまま転送され、範囲はモデルの公式仕様に従います
nucleus サンプリング。そのまま転送され、範囲はモデルの公式仕様に従います
実測で使える値
取りうる値lowhighmax
priority / flex のみ保持します。その他の値は削除してから転送し、エラーにはなりません
取りうる値priorityflex
Qwen 固有。そのまま転送されます
reasoning_effort と同時に指定すると 400 を返します
Qwen 固有。そのまま転送されます
JSON モード。挙動は公式 API と同じです
現在のキーのグループに含まれるモデル ID。GET /v1/models の返り値が基準です。グループにそのモデルがない場合は 404 model_not_found、gpt-image-* などの画像モデルでこのエンドポイントを呼ぶと 400 image models do not support Chat Completions, please use the Images API を返します
取りうる値deepseek-v4-flash-202605deepseek-v4-pro-202606deepseek-v4.1-flash
空でない配列。role は system / user / assistant / tool / developer。画像読み取りは deepseek-v4.1-flash のみで、image_url.url には data: URI または https:// リンクを指定できます
個数≥ 1 個
system / user / assistant / tool(OpenAI 形式)
文字列、またはコンテンツパーツの配列。パーツは {"type": "text", "text": …}。画像読み取り対応モデルは {"type": "image_url", "image_url": {"url": …}} も受け付けます。画像の要件はモデルごとに異なり、上のモデル選択で確認できます
text または image_url
type が text のときのテキスト
type が image_url のときの画像
HTTP(S) リンクまたは data: URI。対応形式はモデルによって異なります
assistant のみ:前のターンでモデルが返したツール呼び出し。そのまま送り返します
tool のみ:前のターンの tool_calls[].id と一致させる必要があります
非負整数。出力上限は V4.1 Flash・V4 Flash が 384,000、V4 Pro が 393,216。思考と本文で共用します。負数は 400、上限を超えてもエラーにはならず、出力が黙って切り詰められます
範囲≥ 0
max_tokens と同じ。OpenAI の新しいフィールド名です
true で SSE を返します。イベント形式はストリーミングイベントを参照
デフォルトfalse
ストリーミングオプション
ストリーミング時に true を指定した場合のみ、usage だけを含む最後のイベント(choices は空)を受け取れます。指定しなければ送られませんが、課金には影響しません
デフォルトfalse
関数ツール。OpenAI の function tools 形式で、そのまま転送されます。
function 固定
関数名
関数の用途。モデルはこれをもとに呼び出すかどうかを判断します
パラメータの JSON Schema
auto / none / required / 特定の関数
デフォルト"auto"
2 を超えると 400 expected a value <= 2
範囲0–2
nucleus サンプリング。そのまま転送され、範囲はモデルの公式仕様に従います
実測で使える値
取りうる値lowmediumhigh
priority / flex のみ保持します。その他の値は削除してから転送し、エラーにはなりません
取りうる値priorityflex
{"type": …}。その他の値(auto など)は 400 を返します。V4.1 Flash は既定で有効
取りうる値enableddisabledadaptive
プレフィックス続き書き:最後の assistant メッセージにのみ付けられます
デフォルトfalse
現在のキーのグループに含まれるモデル ID。GET /v1/models の返り値が基準です。グループにそのモデルがない場合は 404 model_not_found、gpt-image-* などの画像モデルでこのエンドポイントを呼ぶと 400 image models do not support Chat Completions, please use the Images API を返します
取りうる値grok-4.20-0309-reasoninggrok-4.20-multi-agent-0309grok-4.3grok-4.5grok-4.6
会話メッセージ。欠落時は 400 missing messages field、空配列の場合は 400 messages must not be an empty array を返します
個数≥ 1 個
system / user / assistant / tool(OpenAI 形式)
文字列、またはコンテンツパーツの配列。パーツは {"type": "text", "text": …}。画像読み取り対応モデルは {"type": "image_url", "image_url": {"url": …}} も受け付けます。画像の要件はモデルごとに異なり、上のモデル選択で確認できます
text または image_url
type が text のときのテキスト
type が image_url のときの画像
HTTP(S) リンクまたは data: URI。対応形式はモデルによって異なります
assistant のみ:前のターンでモデルが返したツール呼び出し。そのまま送り返します
tool のみ:前のターンの tool_calls[].id と一致させる必要があります
ゲートウェイでは上限を設けず、コンテキストウィンドウに依存します。公式の定義では推論トークンを含みます
max_tokens と同じ。OpenAI の新しいフィールド名です
true で SSE を返します。イベント形式はストリーミングイベントを参照
デフォルトfalse
ストリーミングオプション
ストリーミング時に true を指定した場合のみ、usage だけを含む最後のイベント(choices は空)を受け取れます。指定しなければ送られませんが、課金には影響しません
デフォルトfalse
関数ツールとサーバー側ツール。サーバー側ツールは呼び出し回数で課金されます
auto / none / required または特定の関数。そのまま転送されます
0–2(公式)
範囲0–2
0–1(公式)。公式は temperature とどちらか一方の使用を推奨しています
範囲0–1
grok-4.6:low / medium / high / xhigh、grok-4.5:low / medium / high(公式)。公式ではこの 2 モデルのみに開放されており、推論は無効にできません
取りうる値lowmediumhighxhigh
デフォルト"high"
priority / flex のみ保持します。その他の値は削除してから転送し、エラーにはなりません
取りうる値priorityflex
非対応(公式):推論モデルは受け付けず、指定するとエラーになります
非対応(公式)
非対応(公式)
レスポンス
200成功。非ストリーミングでは chat.completion JSON、stream: true のときは SSE(text/event-stream)
この補完の ID
chat.completion 固定
Unix 秒
実際に使われたモデル ID
候補の応答。ほとんどのモデルは 1 件のみ返します
インデックス
モデルの応答
assistant 固定
応答テキスト。ツール呼び出しのみの場合は null
思考過程(DeepSeek などのモデルが返します)
モデルが呼び出しを求めた関数。実行後、結果を role: "tool" メッセージで送り返します
呼び出し ID。結果を返すときに tool_call_id に入れます
関数名
JSON 文字列形式の引数
stop / length / tool_calls など。length は出力上限に達したことを示します
トークン使用量
入力トークン
出力トークン。推論トークンを含むかどうかはモデルにより異なります(各モデルページを参照)
合計
推論トークン(一部のモデルで個別に表示)
エラー
messages がないなどmissing_api_key / invalid_api_key / api_key_expired)insufficient_quota)model_not_found)、またはパスがそのグループに属さない(route_not_found)request_too_large)user_concurrency_limit / apikey_concurrency_limit)。Retry-After 付き