AI活用

Comfy Routerとは|ComfyUIのServer API・Cloud APIとの違い

Comfy Routerは外部でホストされるモデルを呼ぶAPIです。ワークフローを実行するServer APIやCloud APIとの違い、モデルID・入出力・同期実行とQueueの選び方を整理します。

この記事の目次
  1. Routerへ送るのは、選んだモデルの入力
  2. 共通になる部分と、モデルごとに変わる部分
  3. 一回の接続で待つか、受け付けたIDを持ち帰るか
  4. 導入前に、一つの入力で確認する項目

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を受け取り、後から状態と結果を取得します。処理が長い動画や、画面を閉じても継続したい仕事には、受付と回収を分ける設計が向きます。

どちらを選んでも、アプリ側の「完了」をどこに置くかは決めておきます。モデルの生成完了、画像のダウンロード完了、利用者への公開完了は別の段階です。利用者に完了を知らせた後で画像が保存されていなかった、という状態を避けるためです。

導入前に、一つの入力で確認する項目

  1. 目的のモデルIDが現在のカタログにあり、必要な入力を受け取れるか確認する。
  2. 料金と入力・出力の取り扱いを確認する。
  3. 小さな一件で、受付ID、結果形式、保存方法を確認する。
  4. 入力エラーと接続失敗を分けて記録し、再送の条件を決める。

最初から複数モデルを同じループへ入れると、料金、所要時間、出力形式の違いが一度に現れます。一つのモデルで受付から保存までを固めてから増やしてください。ComfyUIのワークフローを直接呼ぶ方が目的に合う場合は、既存APIの使い分けへ戻れます。

現行の入口とモデルごとの契約はComfy Router API overviewで確認できます。

スポンサーリンク