Skip to main content
各 Router モデルは独自のネイティブなリクエストボディを受け付け、独自のネイティブな結果を返します。両方を知るには、モデルのスキーマを読み取ります。

入力スキーマと出力スキーマを読み取る

各モデルは単体の OpenAPI ドキュメントを公開しています。
モデルのオペレーション内では、requestBody が入力を記述し、出力スキーマが作成されている場合は 200 レスポンスが出力を記述します。入力の検証と出力のドキュメント化は別物です。Router は入力スキーマに対して検証を行いますが、返されたプロバイダーの結果をその出力スキーマに対して検証することはありません。 出力のメディアタイプとそのフィールドも確認してください。作成されていない出力は */* を使用することがあり、一部のモデルは JSON ではなくバイナリデータを返します。

スキーマをキャッシュする

スキーマとその ETag を保存します。後でスキーマを取得する際に、その ETag を If-None-Match に渡します。304 にはボディがありません。キャッシュしたドキュメントを保持してください。200 は置き換え用のドキュメントと ETag を提供します。
スキーマルートは Cache-Control: private, must-revalidate を使用します。認証済みのレスポンスは共有キャッシュに保存しないでください。この ETag/304 の動作はスキーマエンドポイントにのみ適用されます。

検証とフォールバックスキーマ

作成済みの入力スキーマは、プロバイダーの呼び出し前に 422 と detail[] 配列で無効なフィールドを拒否します。loc のフィールドパスを読み取ってください。詳しくは検証エラーを参照してください。 一部のスキーマは任意の JSON オブジェクトを受け付け、x-comfy-input-schema-authored: false を設定します。Router はそれらのリクエストをモデル固有の検証なしで転送するため、プロバイダーがそれらを拒否する可能性があります。

結果を読み取る

Router は各モデルのターミナルな結果形状を返します。共通の画像、ビデオ、テキストのエンベロープはありません。BFL の画像出力は result.sample を使用し、他のモデルは URL リストやインラインバイトを返すことがあります。 一部のアセット URL は Comfy によって再ホストされますが、それ以外はプロバイダーの URL やインラインバイトのままです。結果アセットを確認し、有効期限が切れるアセットは速やかにダウンロードしてください。リプレイでは URL は更新されません。

次のステップ