openai/gpt-5-nano の 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-nano
エンドポイント: POST https://api.comfy.org/v2/models/openai/gpt-5-nano
- 結果を待つ
- キューに送信して後で収集
同じボディを
POST https://api.comfy.org/v2/models/openai/gpt-5-nano/requests に送信します。Router は実行が受け付けられ次第 201 と request_id を返し、結果は準備が整った時点で、このプロセスからでも別のプロセスからでも取得できます。ステータス、キャンセル、結果の取得の詳細は キュー配信 を参照してください。スキーマ
入力
string[]
モデルの応答に含める追加の出力データ。
string | object[]
必須
モデルへのテキスト、画像、ファイル入力で、応答の生成に使用されます。このコントラクトのうち Router が供給できない唯一のフィールドであり、下の
required にある唯一の項目です。string
モデルのコンテキストの最初の項目としてシステム (または開発者) メッセージを挿入します。
integer
1 つの応答に対して生成されるトークン数の上限で、可視出力トークンと reasoning トークンを含みます。reasoning の id ではこの上限は隠れた reasoning トークンと共有されるため、小さな値だと可視テキストが現れる前に予算を使い切ってしまいます。だからこそ reasoning のスモークケースは 1024 を送り、chat のケースは 16 を送るのです。範囲:
1 から … までstring
OpenAI のモデル識別子。Comfy Router ではこのフィールドは任意で、Router が
{model} パスセグメントから設定します。明示的な null も同じように置き換えられます。パスと一致しない値を送ると拒否されます。boolean
モデルがツール呼び出しを並列で実行できるようにするかどうか。
string
前の応答の ID で、マルチターンの会話に使用します。
object
REASONING ティア専用。reasoning モデルの設定で、例:
{"effort": "medium"}。そのまま転送されます。受け付けられるキーについては OpenAI の reasoning ガイドを参照してください。chat ティアの id はこれを無視します。boolean
OpenAI が生成した応答を後で取得できるように保存するかどうか。
boolean
送信した呼び出し元が拒否されないように宣言されていますが、このサーフェスでは無効です。Router はディスパッチ前にこれを
false に確定します。プロバイダーの応答を中継するのではなくキャプチャするためであり、Router は text/event-stream をデコードできないので、ストリーミング生成は OpenAI に課金され誰にも計測されないことになります。Comfy のどのサーフェスもストリームを提供しません。v1 の POST /proxy/openai/v1/responses 入口は stream: true を 400 で拒否し、リクエストを上流へ転送しません。したがってどちらのサーフェスでもこのフィールドを省略するか false を送り、完了した応答を 1 つの JSON ボディとして読み取ってください。number
サンプリング温度。CHAT ティア専用: o シリーズの reasoning id (
o1、o1-pro、o3、o4-mini) は OpenAI 側でこのパラメータを拒否します。Router はそれらに対してこれを拒否しません。理由はこのコンポーネントの、なぜ 2 つのティアが 1 つのスキーマを共有するかについての注記を参照してください。そのため、これを送った reasoning 呼び出しには OpenAI 自身のエラーが返ります。範囲: 0 から 2 までobject
出力フォーマットの設定で、例: Structured Outputs 用の
{"format": {"type": "json_schema", ...}}。そのまま転送されます。string | object
モデルがどのツールを使用するかをどのように選択するか。文字列のモードか、ツールを指定するオブジェクトのいずれかです。
object[]
モデルが呼び出せるツール定義。Router はツールの分類を狭めません。受け付けられる形については OpenAI の Responses API リファレンスを参照してください。
number
ニュークリアスサンプリングのカットオフ。CHAT ティア専用で、
temperature と同じ条件です。範囲: 0 から 1 までstring
コンテキストがモデルのウィンドウを超えたときの切り捨て戦略。上の 3 つの語彙とは異なり、ここでは enum が強制されます。これらの 2 つの値が OpenAI の文書化する完全な集合であり、それが増えていないためです。明示的な
null は、上のフィールドと同じ条件で引き続き受け付けられます。可能な値: auto、disabledobject
トークン使用量のエンベロープ。v1 オペレーションがリクエストボディでこれを宣言しているため、このコントラクトに存在します。OpenAI はこれを RESPONSE に設定するので、呼び出し元が送る理由はありません。
GET /v2/models/openai/gpt-5-nano/openapi.json で Router が提供するスキーマから生成されています。これは、リクエストがプロバイダーに届く前に Router が呼び出しを検証するのと同じドキュメントです。
出力
string
モデルのコンテキストの最初の項目として、システム(または developer)メッセージを挿入します。
previous_response_id と併用する場合、前のレスポンスの instructions は次のレスポンスに引き継がれません。これにより、新しいレスポンスでシステム(または developer)メッセージを簡単に差し替えられます。integer
レスポンスで生成できるトークン数の上限。可視出力トークンと reasoning トークンを含みます。
string
レスポンスの生成に使用されるモデル
number
デフォルト:"1"
レスポンスのランダム性を制御します範囲:
0 から 2number
デフォルト:"1"
ニュークリアスサンプリングによりレスポンスの多様性を制御します範囲:
0 から 1string
デフォルト:"\"disabled\""
モデルレスポンスに使用する切り捨て戦略。
-
auto: このレスポンスと以前のレスポンスのコンテキストがモデルのコンテキストウィンドウサイズを超える場合、モデルは会話の途中の入力項目を削除してコンテキストウィンドウに収まるようにレスポンスを切り捨てます。 -
disabled(デフォルト): モデルレスポンスがモデルのコンテキストウィンドウサイズを超える場合、リクエストは 400 エラーで失敗します。 指定可能な値:auto,disabled
object
o シリーズモデルのみreasoning モデルの設定オプション。
string
後のターンでモデルに返される reasoning 項目を制御します。例:
auto、current_turn、all_turns。string
デフォルト:"\"medium\""
o シリーズモデルのみreasoning モデルの reasoning にかける労力を制約します。現在サポートされている値は
low、medium、high です。reasoning の労力を減らすと、レスポンスが速くなり、レスポンスで reasoning に使用されるトークンが少なくなる場合があります。指定可能な値: low, medium, highstring
非推奨: 代わりに
summary を使用してください。モデルが実行した reasoning の要約。これはデバッグやモデルの reasoning プロセスの理解に役立ちます。auto、concise、detailed のいずれかです。指定可能な値: auto, concise, detailedstring
レスポンスに使用される reasoning モード。
string
モデルが実行した reasoning の要約。これはデバッグやモデルの reasoning プロセスの理解に役立ちます。
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
このレスポンスが完了したときの Unix タイムスタンプ(秒)。ステータスが
completed の場合にのみ存在します。number
このレスポンスが作成されたときの Unix タイムスタンプ(秒)。
object
モデルがレスポンスの生成に失敗したときに返されるエラーオブジェクト。
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
モデレーション済みの補完が要求された場合の、レスポンスの入力と出力に対するモデレーション結果。
string
このリソースのオブジェクト型。常に
response に設定されます。指定可能な値: responseobject[]
モデルによって生成されたコンテンツ項目の配列。
output配列内の項目の長さと順序は、モデルのレスポンスによって異なります。output配列の最初の項目にアクセスして、それがモデルによって生成された コンテンツを含むassistantメッセージであると決め打ちするのではなく、 SDK でサポートされている場合はoutput_textプロパティの使用を検討してください。
string
output 配列内のすべての output_text 項目からのテキスト出力を集約したものを
含む SDK 専用の便利なプロパティです(該当する項目がある場合)。
Python および JavaScript SDK でサポートされています。boolean
デフォルト:"true"
モデルがツール呼び出しを並列で実行することを許可するかどうか。
number
これまでのテキスト内に出現するかどうかに基づいて、新しいトークンにペナルティを与えます。
string
類似したリクエストのレスポンスをキャッシュしてキャッシュヒット率を最適化するために OpenAI が使用します。
user フィールドを置き換えます。string
prompt キャッシュの保持ポリシー。例:
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 が入力を拒否したことを意味し、413 はリクエスト本文が Router の受け入れ可能なサイズを超えていたことを意味します。生成されたアセットは 結果 URL の有効期限 があるため、早めにダウンロードしてください。
上記のフィールド説明に記載されているサイズ制限は、プロバイダーの仕様から引用した、そのフィールドに対するプロバイダー自身の上限です。Router はリクエスト本文全体に対して別の上限を適用し、base64 エンコードされたメディアもこれにカウントされます。リクエスト本文のサイズ を参照してください。
このページは、Comfy Router 経由で呼び出す 1 つのパートナーモデルについて説明しています。同じ comfy-sdk / @comfyorg/sdk パッケージには、Comfy Cloud 上で ComfyUI のワークフローグラフ全体を実行するための 2 つ目のクライアントも含まれています: Comfy(api_key=...) / new Comfy({ apiKey })、および client.workflows、client.assets、client.jobs。Comfy SDKs を参照してください。
ヘッダー
認証、冪等性、リクエスト ID、エラー分類、リトライ間隔、支出上限。
Router API の利用
モデルの検出、バリデーションエラー、リトライ、課金。
制限事項
Router が現在対応していないことと、代替手段。