openai/o4-mini の API リファレンスです。Comfy Router が OpenAI から提供しています。
クイックスタート
あなたの Comfy ワークスペースでキーを作成し、それをCOMFY_API_KEY としてエクスポートします。Python と TypeScript のスニペットでは Comfy SDK(pip install comfy-sdk、npm install @comfyorg/sdk)を使用します。cURL のスニペットは、生の HTTP で同じ呼び出しを行います。
モデル ID: openai/o4-mini
エンドポイント: POST https://api.comfy.org/v2/models/openai/o4-mini
- Wait for the result
- Queue and collect later
スキーマ
入力
string[]
モデル応答に含める追加の出力データ。
string | object[]
必須
モデルへのテキスト、画像、またはファイルの入力で、応答の生成に使用されます。このコントラクトで Router が提供できない唯一のフィールドであり、以下の
required にある唯一の項目です。string
モデルのコンテキストの最初の項目として、システム(または開発者)メッセージを挿入します。
integer
応答のために生成されるトークン数の上限で、可視の出力トークンと reasoning トークンを含みます。reasoning 系の id ではこの上限は隠れた reasoning トークンと共有されるため、小さな値では可視テキストが出る前に予算全体を消費してしまいます。そのため reasoning のスモークケースは 1024 を送り、チャットのケースは 16 を送ります。範囲:
1 から …string
OpenAI モデル識別子。Comfy Router ではこのフィールドは任意であり、Router が
{model} パスセグメントから設定します。明示的な null も同じように置き換えられます。パスと一致しない値を送信すると拒否されます。boolean
モデルがツール呼び出しを並列で実行できるようにするかどうか。
string
マルチターン会話のための、前の応答の ID。
object
reasoning 階層専用。reasoning モデルの設定(例:
{"effort": "medium"})。そのまま転送されます。受け入れられるキーについては OpenAI の reasoning ガイドを参照してください。チャット階層の id では無視されます。boolean
OpenAI が生成された応答を後で取得できるよう保存するかどうか。
boolean
これを送信した呼び出し元が拒否されないように宣言されていますが、このサーフェスでは無効です。Router はディスパッチ前にこれを
false に確定します。これは text/event-stream を中継するのではなくプロバイダーの応答をキャプチャするためであり、openAiResponsesProxy の ModifyResponse はそれをデコードできないので、ストリーミング生成は OpenAI に課金されても誰にも計量されません。ストリームが必要な場合は POST /proxy/openai/v1/responses を使用してください。number
サンプリング温度。チャット階層専用です。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
ニュークリアスサンプリングのカットオフ。チャット階層専用で、
temperature と同じ条件です。範囲: 0 から 1string
コンテキストがモデルのウィンドウを超えたときのトランケーション戦略。上記 3 つの語彙とは異なり、ここでは enum が実際に適用されます。これは、これらの 2 つの値が OpenAI の文書化する完全な集合であり、それが増えていないためです。明示的な
null は、上記のフィールドと同じ条件で引き続き受け入れられます。指定可能な値: auto、disabledobject
トークン使用量のエンベロープ。v1 オペレーションがリクエストボディでこれを宣言しているため、このコントラクトに存在します。OpenAI はこれをレスポンスで設定するため、呼び出し元が送信する理由はありません。
GET /v2/models/openai/o4-mini/openapi.json で提供するスキーマから生成されています。これは、リクエストがプロバイダーに到達する前に呼び出しを検証するのと同じドキュメントです。
出力
string
モデルのコンテキストの最初の項目として、system(または developer)メッセージを挿入します。
previous_response_id と併用する場合、前のレスポンスの instructions は次のレスポンスに引き継がれません。これにより、新しいレスポンスで system(または developer)メッセージを簡単に差し替えられます。integer
レスポンスで生成できるトークン数の上限。表示される出力トークンと reasoning tokens を含みます。
string
レスポンスの生成に使用されたモデル
number
デフォルト:"1"
レスポンスのランダム性を制御します範囲:
0 から 2number
デフォルト:"1"
nucleus sampling によりレスポンスの多様性を制御します範囲:
0 から 1string
デフォルト:"\"disabled\""
モデルレスポンスに使用する切り詰め戦略。
-
auto: このレスポンスと以前のレスポンスのコンテキストがモデルのコンテキストウィンドウサイズを超える場合、モデルは会話の途中の入力項目を削除してコンテキストウィンドウにフィットするようにレスポンスを切り詰めます。 -
disabled(デフォルト): モデルレスポンスがモデルのコンテキストウィンドウサイズを超える場合、リクエストは 400 エラーで失敗します。 指定可能な値:auto,disabled
string
モデルへの前のレスポンスの一意の ID。これを使用してマルチターンの会話を作成します。conversation state の詳細を学ぶ。
object
o シリーズモデル専用reasoning models の設定オプション。
string
後のターンでモデルに返される reasoning 項目を制御します。例:
auto、current_turn、all_turns。string
デフォルト:"\"medium\""
o シリーズモデル専用reasoning models の reasoning にかける労力を制約します。現在サポートされている値は
low、medium、high です。reasoning effort を下げると、レスポンスが速くなり、レスポンス内の 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 schema に一致することが保証されます。詳細は Structured Outputs guide を参照してください。デフォルトの形式は { "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 タイムスタンプ(秒)。ステータスが
completed の場合にのみ存在します。number
この Response が作成されたときの Unix タイムスタンプ(秒)。
object
モデルが Response の生成に失敗したときに返されるエラーオブジェクト。
string
必須
レスポンスのエラーコード。Possible values:
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
プロンプトキャッシュの保持ポリシー(例:
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 が現在対応していないことと、代替手段。