openai/gpt-5 の API リファレンスです。Comfy Router が OpenAI から提供しています。
クイックスタート
Comfy ワークスペースでキーを作成し、COMFY_API_KEY としてエクスポートします。Python と TypeScript のスニペットは Comfy SDK(pip install comfy-sdk、npm install @comfyorg/sdk)を使用しています。cURL のスニペットは、同じ呼び出しを生の HTTP で行うものです。
モデル ID: openai/gpt-5
エンドポイント: POST https://api.comfy.org/v2/models/openai/gpt-5
- Wait for the result
- Queue and collect later
スキーマ
入力
string[]
モデル応答に含める追加の出力データ。
string | object[]
必須
モデルへのテキスト、画像、またはファイルの入力。応答の生成に使用されます。このコントラクトのうち Router が補完できない唯一のフィールドであり、以下の
required にある唯一の項目です。string
システム(または開発者)メッセージを、モデルのコンテキストの先頭項目として挿入します。
integer
応答のために生成されるトークン数の上限。可視の出力トークンと reasoning トークンを含みます。reasoning の id では、この上限は隠れた reasoning トークンと共有されるため、小さな値だと可視テキストが現れる前に予算全体を使い切ってしまいます。これが、reasoning のスモークケースが 1024 を送信し、chat のケースが 16 を送信する理由です。範囲:
1 ~ …string
OpenAI のモデル識別子。Comfy Router ではこのフィールドは任意(OPTIONAL)で、Router が
{model} パスセグメントから補完します。明示的な null も同じように置き換えられます。パスと一致しない値を送信すると拒否されます。boolean
モデルがツール呼び出しを並列で実行することを許可するかどうか。
string
マルチターン会話のための、前の応答の ID。
object
REASONING ティア専用。reasoning モデルの設定。例:
{"effort": "medium"}。そのまま転送されます。受け付けられるキーについては OpenAI の reasoning ガイドを参照してください。chat ティアの id では無視されます。boolean
OpenAI が生成された応答を後で取得できるように保存するかどうか。
boolean
送信した呼び出し元が拒否されないように宣言されていますが、このサーフェスでは無効(INERT)です。Router はディスパッチ前にこれを
false に確定します。text/event-stream を中継するのではなくプロバイダー応答をキャプチャするためであり、openAiResponsesProxy の ModifyResponse はそれをデコードできません。その結果、ストリーミング生成は OpenAI から課金されても誰も計量しません。ストリームが必要な場合は POST /proxy/openai/v1/responses を使用してください。number
サンプリング温度。CHAT ティア専用です。o シリーズの reasoning id(
o1、o1-pro、o3、o4-mini)は OpenAI 側でこのパラメータを拒否します。Router はそれらに対してこのパラメータを拒否しません(2 つのティアが 1 つのスキーマを共有する理由についてはこのコンポーネントの注記を参照してください)。そのため、これを送信する reasoning 呼び出しには OpenAI 自身のエラーが返されます。範囲: 0 ~ 2object
出力フォーマットの設定。例: Structured Outputs のための
{"format": {"type": "json_schema", ...}}。そのまま転送されます。string | object
モデルが使用するツールをどのように選択すべきか。文字列のモードか、ツールを指定するオブジェクトのいずれかです。
object[]
モデルが呼び出せるツール定義。Router はツールの分類を絞り込みません。受け付けられる形については OpenAI の Responses API リファレンスを参照してください。
number
Nucleus サンプリングのカットオフ。CHAT ティア専用で、
temperature と同じ条件です。範囲: 0 ~ 1string
コンテキストがモデルのウィンドウを超えたときの切り詰め戦略。上記の 3 つの語彙とは異なり、ここでは enum が実際に強制されます。この 2 つの値が OpenAI の文書化する完全な集合であり、増えていないためです。明示的な
null は、上の各フィールドと同じ条件で引き続き受け付けられます。取り得る値: auto、disabledobject
トークン使用量のエンベロープ。v1 オペレーションがリクエストボディでこれを宣言しているため、このコントラクトに存在します。OpenAI はこれをレスポンスで設定するため、呼び出し元が送信する理由はありません。
GET /v2/models/openai/gpt-5/openapi.json で Router が提供するスキーマから生成されています。これは、リクエストがプロバイダーに到達する前に呼び出しを検証するのと同じドキュメントです。
出力
string
モデルのコンテキストの最初の項目として、システム(または開発者)メッセージを挿入します。
previous_response_id と併用する場合、前のレスポンスの instructions は次のレスポンスに引き継がれません。これにより、新しいレスポンスでシステム(または開発者)メッセージを簡単に差し替えられます。string
レスポンスの生成に使用するモデル
number
デフォルト:"1"
レスポンスのランダム性を制御します範囲:
0 から 2number
デフォルト:"1"
ニュークリアスサンプリングによるレスポンスの多様性を制御します範囲:
0 から 1string
デフォルト:"\"disabled\""
モデルレスポンスに使用する切り捨て戦略。
-
auto: このレスポンスと以前のレスポンスのコンテキストがモデルのコンテキストウィンドウサイズを超える場合、モデルは会話の途中の入力項目を削除してコンテキストウィンドウに収まるようにレスポンスを切り捨てます。 -
disabled(デフォルト): モデルレスポンスがモデルのコンテキストウィンドウサイズを超える場合、リクエストは 400 エラーで失敗します。 指定可能な値:auto、disabled
string
以降のターンでどの推論項目をモデルに返すかを制御します(例:
auto、current_turn、all_turns)。string
デフォルト:"\"medium\""
o-series モデルのみ推論モデルの推論にかける労力を制約します。現在サポートされている値は
low、medium、high です。推論の労力を減らすと、レスポンスが速くなり、レスポンスで推論に使用されるトークン数も少なくなる場合があります。指定可能な値: low、medium、highstring
非推奨: 代わりに
summary を使用してください。モデルが実行した推論の要約。これはモデルの推論過程のデバッグや理解に役立ちます。auto、concise、detailed のいずれかです。指定可能な値: auto、concise、detailedstring
レスポンスに使用する推論モード。
string
モデルが実行した推論の要約。これはモデルの推論過程のデバッグや理解に役立ちます。
auto、concise、detailed のいずれかです。指定可能な値: auto、concise、detailedobject
object
モデルが出力しなければならない形式を指定するオブジェクト。
{ "type": "json_schema" } を設定すると Structured Outputs が有効になり、モデルが指定した JSON スキーマに一致することが保証されます。詳細はStructured Outputs ガイドをご覧ください。デフォルトの形式は追加オプションなしの { "type": "text" } です。gpt-4o およびそれ以降のモデルには推奨されません:{ "type": "json_object" } に設定すると、古い JSON モードが有効になり、モデルが生成するメッセージが有効な JSON であることが保証されます。対応しているモデルでは json_schema の使用が推奨されます。string
モデルのレスポンスの冗長性を制約します。
low、medium、high のいずれかです。`none`, `auto`, `required` | object
レスポンスを生成するときにモデルがどのツール(または複数のツール)を選択すべきか。モデルが呼び出せるツールを指定する方法については
tools パラメータを参照してください。object[]
boolean
モデルレスポンスを背景で実行するかどうか。
object
レスポンスの課金情報。
string
レスポンスの支払いを担当する当事者。
number
この Response が完了したときの Unix タイムスタンプ(秒単位)。status が
completed の場合にのみ存在します。number
この Response が作成されたときの Unix タイムスタンプ(秒単位)。
object
モデルが Response の生成に失敗したときに返されるエラーオブジェクト。
string
必須
レスポンスのエラーコード。指定可能な値:
server_error, rate_limit_exceeded, invalid_prompt, vector_store_timeout, invalid_image, invalid_image_format, invalid_base64_image, invalid_image_url, image_too_large, image_too_small, image_parse_error, image_content_policy_violation, invalid_image_mode, image_file_too_large, unsupported_image_media_type, empty_image_file, failed_to_download_image, image_file_not_foundstring
必須
エラーの人間が読める形式の説明。
number
これまでのテキスト内での出現頻度に基づいて新しいトークンにペナルティを与えます。
string
この Response の一意な識別子。
object
レスポンスが不完全である理由に関する詳細。
string
レスポンスが不完全である理由。指定可能な値:
max_output_tokens, content_filterinteger
1 つのレスポンスで処理できる、組み込みツールへの総呼び出し回数の上限。
object
レスポンスに付加できるキーと値のペアのセット。
object
モデレーション付きの completion が要求された場合の、レスポンスの入力と出力に対するモデレーション結果。
string
このリソースのオブジェクトタイプ。常に
response に設定されます。指定可能な値: responseobject[]
モデルによって生成されたコンテンツ項目の配列。
output配列内の項目の長さと順序は、モデルのレスポンスによって異なります。output配列の最初の項目にアクセスし、それがモデルによって生成されたコンテンツを含むassistantメッセージであると決め打ちするのではなく、SDK でサポートされている場合はoutput_textプロパティの使用を検討してください。
string
SDK 専用の便利なプロパティで、
output 配列内のすべての output_text 項目からの集約されたテキスト出力を含みます(存在する場合)。
Python および JavaScript SDK でサポートされています。boolean
デフォルト:"true"
モデルがツール呼び出しを並列で実行することを許可するかどうか。
number
これまでのテキストに出現しているかどうかに基づいて新しいトークンにペナルティを与えます。
string
類似したリクエストのレスポンスをキャッシュし、キャッシュヒット率を最適化するために OpenAI が使用します。
user フィールドを置き換えます。string
プロンプトキャッシュの保持ポリシー(例:
in_memory または 24h)。string
OpenAI の利用ポリシーに違反している可能性のあるアプリケーションのユーザーを検出するために使用される、安定した識別子。
string
リクエストの処理に使用される処理ティア(例:
auto、default、flex、scale、priority)。string
レスポンス生成のステータス。
completed、failed、in_progress、cancelled、queued、incomplete のいずれか。指定可能な値: completed, failed, in_progress, cancelled, queued, incompleteboolean
後で API 経由で取得できるようにレスポンスを保存するかどうか。
object
組み込みツールごとに分類されたトークンとリクエストの使用量。
object
画像生成ツールのトークン使用量。
integer
object
integer
integer
integer
object
integer
integer
integer
object
Web 検索ツールの使用量。
integer
integer
各トークン位置で返す、最も可能性の高いトークンの最大数。それぞれに関連する対数確率が付きます。
object
入力トークン、出力トークン、出力トークンの内訳、使用された合計トークンを含む、トークン使用量の詳細を表します。
integer
必須
入力トークンの数。
object
必須
入力トークンの詳細な内訳。
integer
キャッシュに書き込まれた入力トークンの数。
integer
必須
キャッシュから取得されたトークンの数です。
プロンプトキャッシュの詳細。
integer
必須
出力トークンの数です。
object
必須
出力トークンの詳細な内訳です。
integer
必須
推論トークンの数です。
integer
必須
使用されたトークンの合計数です。
string
エンドユーザー用の非推奨の識別子です。
safety_identifier と prompt_cache_key に置き換えられました。使用例
入力
出力
出荷前の確認
SDK はIdempotency-Key を生成し、自動リトライで再利用します。手動リトライでは元のキーを再利用してください。Router は最大 10 分間接続を保持できます。
リクエストが失敗すると、Router は理由を示す X-Comfy-Error-Type レスポンスヘッダーを送信します。422 は、プロバイダーを呼び出す前に Router が入力を拒否したことを意味します。生成されたアセットは 結果 URL の有効期限 があるため、早めにダウンロードしてください。
ヘッダー
認証、冪等性、リクエスト ID、エラー分類、リトライ間隔、支出上限。
Router API の利用
モデルの検出、バリデーションエラー、リトライ、課金。
制限事項
Router が現在対応していないことと、代替手段。