入力スキーマと出力スキーマを読み取る
各モデルは単体の 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 は更新されません。
次のステップ
- キュー中のリクエスト: 実行を送信し、後で結果を収集します。
- エラーと再試行: 二重に支払うことなく失敗を処理します。