Skip to main content
openai/gpt-4o の API リファレンスです。OpenAI のモデルを Comfy Router が提供します。

クイックスタート

Comfy ワークスペースでキーを作成し、COMFY_API_KEY としてエクスポートします。Python と TypeScript のスニペットは Comfy SDK(pip install comfy-sdknpm install @comfyorg/sdk)を使用しています。cURL のスニペットは、生の HTTP で同じ呼び出しを行います。 モデル ID: openai/gpt-4o エンドポイント: POST https://api.comfy.org/v2/models/openai/gpt-4o

スキーマ

入力

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 に確定します。これは text/event-stream を中継するのではなくプロバイダーの応答をキャプチャするためで、openAiResponsesProxy の ModifyResponse はそれをデコードできません。そのためストリーミング生成は OpenAI から課金されても、誰も計測しないことになります。ストリームが必要な場合は POST /proxy/openai/v1/responses を使用してください。
number
サンプリング温度。chat ティア専用です。o シリーズの reasoning id(o1o1-proo3o4-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 は、上記のフィールドと同じ条件で引き続き受け付けられます。指定可能な値: autodisabled
object
トークン使用量のエンベロープ。v1 オペレーションがリクエストボディでこれを宣言しているため、このコントラクトに存在します。OpenAI はこれを応答側で設定するので、呼び出し元が送信する理由はありません。
Router が GET /v2/models/openai/gpt-4o/openapi.json で提供するスキーマから生成されています。これは、リクエストがプロバイダーに届く前に Router が呼び出しを検証する際に使用するのと同じドキュメントです。

出力

string
モデルのコンテキストの最初の項目としてシステム (または開発者) メッセージを挿入します。previous_response_id と併用する場合、前のレスポンスの instructions は次のレスポンスに引き継がれません。これにより、新しいレスポンスでシステム (または開発者) メッセージを簡単に差し替えられます。
integer
レスポンスで生成できるトークン数の上限です。表示される出力トークンと推論トークンが含まれます。
string
レスポンスの生成に使用するモデル
number
デフォルト:"1"
レスポンスのランダム性を制御します範囲: 0 から 2
number
デフォルト:"1"
ニュークリアスサンプリングによるレスポンスの多様性を制御します範囲: 0 から 1
string
デフォルト:"\"disabled\""
モデルレスポンスに使用する切り捨て戦略。
  • auto: このレスポンスと以前のレスポンスのコンテキストがモデルのコンテキストウィンドウサイズを超える場合、モデルは会話の途中の入力項目を削除してコンテキストウィンドウに収まるようにレスポンスを切り捨てます。
  • disabled (デフォルト): モデルレスポンスがモデルのコンテキストウィンドウサイズを超える場合、リクエストは 400 エラーで失敗します。 指定可能な値: autodisabled
string
モデルへの前のレスポンスの一意の ID。これを使ってマルチターンの会話を作成します。会話状態の詳細をご覧ください。
object
o シリーズモデル限定推論モデルの構成オプション。
string
以降のターンでどの推論項目をモデルに返すかを制御します。例: autocurrent_turnall_turns
string
デフォルト:"\"medium\""
o シリーズモデル限定推論モデルの推論にかける労力を制約します。現在サポートされている値は lowmediumhigh です。推論の労力を減らすと、レスポンスが速くなり、レスポンス内で推論に使用されるトークン数も減る可能性があります。指定可能な値: lowmediumhigh
string
非推奨: 代わりに summary を使用してください。モデルが実行した推論の要約。デバッグやモデルの推論プロセスの理解に役立ちます。autoconcisedetailed のいずれかです。指定可能な値: autoconcisedetailed
string
レスポンスに使用する推論モード。
string
モデルが実行した推論の要約。デバッグやモデルの推論プロセスの理解に役立ちます。autoconcisedetailed のいずれかです。指定可能な値: autoconcisedetailed
object
object
モデルが出力しなければならない形式を指定するオブジェクト。{ "type": "json_schema" } を構成すると Structured Outputs が有効になり、モデルが指定した JSON スキーマに一致することが保証されます。詳細は Structured Outputs ガイドをご覧ください。デフォルトの形式は { "type": "text" } で、追加のオプションはありません。gpt-4o 以降のモデルでは非推奨:{ "type": "json_object" } に設定すると従来の JSON モードが有効になり、モデルが生成するメッセージが有効な JSON であることが保証されます。サポートしているモデルでは json_schema の使用が推奨されます。
string
モデルレスポンスの冗長性を制約します。lowmediumhigh のいずれかです。
`none`, `auto`, `required` | object
レスポンスを生成する際に、モデルがどのツール (または複数のツール) を使用するかをどのように選択するか。モデルが呼び出せるツールの指定方法については、tools パラメータを参照してください。
object[]
boolean
モデルレスポンスをバックグラウンドで実行するかどうか。
object
レスポンスの課金情報。
string
レスポンスの支払いを担当する当事者。
number
この Response が完了したときの Unix タイムスタンプ (秒)。ステータスが 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_found
string
必須
エラーの人間が読める説明。
number
これまでのテキスト内での既存の頻度に基づいて、新しいトークンにペナルティを課します。
string
この Response の一意の識別子。
object
レスポンスが不完全である理由に関する詳細。
string
レスポンスが不完全である理由。取り得る値: max_output_tokens, content_filter
integer
レスポンス内で処理できる、組み込みツールへの合計呼び出し回数の最大値。
object
レスポンスに添付できるキーと値のペアのセット。
object
モデレートされた完了が要求された場合の、レスポンスの入力と出力のモデレーション結果。
string
このリソースのオブジェクトタイプ。常に response に設定されます。取り得る値: response
object[]
モデルによって生成されたコンテンツアイテムの配列。
  • 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
リクエストの処理に使用される処理階層(例: autodefaultflexscalepriority)。
string
レスポンス生成のステータス。completedfailedin_progresscancelledqueuedincomplete のいずれかです。取り得る値: completed, failed, in_progress, cancelled, queued, incomplete
boolean
レスポンスが後で API 経由で取得するために保存されるかどうか。
object
組み込みツールごとに分類されたトークンとリクエストの使用状況。
object
画像生成ツールのトークン使用状況。
integer
object
integer
integer
integer
object
integer
integer
integer
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 が現在対応していないことと、代替手段。