Comfy Routerは、外部でホストされる画像・動画などのモデルをAPIから呼び出すためのサービスです。手元のComfyUIへワークフローJSONを送るServer APIとは、送るものも実行される場所も異なります。自作アプリへ組み込むときは、まず「モデルを呼ぶ」のか「配線済みのワークフローを動かす」のかを決めます。
Routerへ送るのは、選んだモデルの入力
Routerの現行APIは、https://api.comfy.orgを起点にモデルIDを指定して呼び出します。入力画像、文章、生成サイズなどの項目はモデルごとに異なります。ComfyUIの画面から書き出したGUI用JSONを、そのままRouterのモデル入力として渡す構成ではありません。
| 経路 | 動かす対象 | 先に用意するもの |
|---|---|---|
| ローカルServer API | 自分のComfyUIのワークフロー | 対応モデル・ノード・API形式JSON |
| Cloud側のワークフローAPI | Cloudで動くワークフロー | Cloud上の構成と認証 |
| Comfy Router | 外部ホストのモデル | モデルID、そのモデルの入力、APIキー |
たとえば「外部の画像モデルで生成し、手元のComfyUIで合成する」なら、RouterとServer APIを二段に分けて使います。外部モデルの呼び出しが成功しただけでは、後段に必要な画像の保存まで終わっていません。
共通になる部分と、モデルごとに変わる部分
認証や呼び出しの入口をそろえられても、すべてのモデルが同じ入力項目を受け取るわけではありません。返り値も一律の画像URLではなく、モデルの形式に従います。モデルの切り替えを考えているアプリでは、入力を作る処理と結果を読む処理を、モデル別の関数へ分けておくと扱いやすくなります。
Webフォームの値
→ 自作の入力検証
→ モデル別の入力データ
→ Router
→ モデル別の結果の読み取り
→ 自前保存・アプリ用の結果ID
この分担なら、フォームに表示する「画像の説明」という項目を保ちつつ、APIへ送る項目名や出力の取り出し方だけを変更できます。APIキーをブラウザー側のコードへ置かず、呼び出しはサーバー側へ集約します。
一回の接続で待つか、受け付けたIDを持ち帰るか
同期実行は、結果が返るまで同じ呼び出しで待つ形です。Queue経由では、受付後にIDを受け取り、後から状態と結果を取得します。処理が長い動画や、画面を閉じても継続したい仕事には、受付と回収を分ける設計が向きます。
どちらを選んでも、アプリ側の「完了」をどこに置くかは決めておきます。モデルの生成完了、画像のダウンロード完了、利用者への公開完了は別の段階です。利用者に完了を知らせた後で画像が保存されていなかった、という状態を避けるためです。
導入前に、一つの入力で確認する項目
- 目的のモデルIDが現在のカタログにあり、必要な入力を受け取れるか確認する。
- 料金と入力・出力の取り扱いを確認する。
- 小さな一件で、受付ID、結果形式、保存方法を確認する。
- 入力エラーと接続失敗を分けて記録し、再送の条件を決める。
最初から複数モデルを同じループへ入れると、料金、所要時間、出力形式の違いが一度に現れます。一つのモデルで受付から保存までを固めてから増やしてください。ComfyUIのワークフローを直接呼ぶ方が目的に合う場合は、既存APIの使い分けへ戻れます。
現行の入口とモデルごとの契約はComfy Router API overviewで確認できます。