ComfyUIは「画面」と「実行エンジン」に分かれている

前提として知っておきたいのが、ComfyUI が 画面 と 実行エンジン に分かれているという点です。
普段触っているノード画面は、workflow を編集したり、実行ボタンを押したりするためのフロントエンドですが、実際に画像や動画を生成しているのは、裏側で動いている ComfyUI サーバです。
APIとは? でも説明していますが、軽くおさらいします。
- ノード画面:人間が workflow を作るための画面
- ComfyUI サーバ:workflow を受け取って実行するエンジン
- API:外部のプログラムからサーバに命令を送る入口
実行に必要な情報さえ渡せれば、ノード画面というのは必ずしも必要ではないんですね。
AIに使わせる方法は2つある
1. 動くworkflowをAPI経由で使わせる
1つ目は、人間があらかじめ動く workflow を作っておき、それを API 経由で AI に実行させる方法です。
これは APIでworkflowを実行してみる で扱っている方法ですね。
ComfyUI 全体を自由に使わせるというより、ComfyUI で作った一つの機能を道具として AI に渡す イメージです。
弱点は柔軟性で、ノードを追加したり、ノードの接続順を変えたりするような大きな変更は、この方法では扱えません。
といっても、プロンプトや seed のようなパラメータは API 経由で変更できるので、さまざまなプロンプトや、いろいろなサイズで画像生成させるなんてことは十分可能です。
2. workflowを作るところから任せる
2つ目は、AI に workflow そのものを作らせる方法です。
「Flux で画像編集する workflow を作って」「この画像からマスクを作って合成する workflow を組んで」と頼み、AI がノード構成を考えて workflow を組む。
AI と ComfyUI の組み合わせと聞くと、こちらを想像する方も多いかもしれませんが、これはかなり難しいのです。
workflowを作るところから任せるのは難しい
ComfyUI の workflow は JSON なので、プログラミングと同じようにやれば、AI に作らせるのも簡単そうに見えます。
しかし実際には、workflow はその人の ComfyUI 環境にかなり依存します。
custom node が入っているか、モデルファイルがあるか、ノードの仕様が今も同じか… これらの条件が揃っていないと動きません。
AI の性能以前に、AI に任せられる範囲の外に、挙動を不安定にする要素が多すぎる んですね。
もちろん、将来的にはこうした作業もできるようになるかもしれません。
ただ、少なくとも現時点では、まず人間が動作確認した workflow を使わせる方が現実的です。
API経由で使わせる
API 経由で使わせる場合、考え方はシンプルです。
- ComfyUI を起動しておく
- 動く workflow を API 形式で保存する
- AI エージェントに workflow を渡す
- その workflow でできる作業を指示する
API 経由でどのように ComfyUI を実行しているかは、APIでworkflowを実行してみる で説明しています。
ただ、細かい API の書き方は AI さんがやってくれるので、任せてしまって構いません。
ComfyUIを起動しておく
API は「ComfyUI を起動しなくてよくなる仕組み」ではありません。
ローカルで使う場合は、いつものように ComfyUI を起動して、http://127.0.0.1:8188 で開ける状態にしておきます。
AI エージェントは、このサーバに対して HTTP リクエストを送ります。
ノード画面の代わりに、AI が外側から workflow を読み込んで Run を押すようなイメージです。
動くworkflowをAPI形式で保存する
次に、AI に使わせたい workflow を API 形式で保存します。
通常の workflow JSON は、ノードの位置や UI 用の情報も含んでいます。
API 形式の JSON は、ComfyUI サーバに「これを実行して」と渡すための形です。
- ComfyUI のノード UI で、使わせたい workflow を開く
- メニューから
File→ Export (API) を選ぶ - わかりやすい名前で保存(例:
SD1.5_text2image_API.json)
当然ながら、その workflow は、自分の環境で実際に動かせるものである必要があります。
モデルのダウンロードなどを済ませ、一度動作を確認しましょう。
AIエージェントにworkflowを渡し、指示する
AI エージェントに渡す、といっても、特別な操作が必要なわけではありません。
API 用 workflow JSON を、AI エージェントが読める場所に置くだけです。
Codex なら、その workflow JSON が入ったフォルダを VS Code で開けばOKです。
たとえば、フォルダの中に次の2つを置いておきます。
Z-Image-Turbo_api.json:画像生成用Flux.2_klein_9b_api.json:画像編集用
この状態で Codex に、次のように頼みます。
Z-Image-Turbo で公園に立っている男性の画像を作り、
その人物の服装を Flux.2 klein 9B で青いセーターに変更したものを、
output フォルダに保存してください。
あとは Codex が workflow を読み、必要なプロンプトや入力画像を差し替え、ComfyUI API に投げてくれます。

workflowは小さく分けた方が使わせやすい
私が勝手に言っている概念ですが、リーダブルノード は、シンプルで読みやすい workflow を組もうという考え方です。
AI に使わせる場合も、基本は同じです。
workflow は 小さく、シンプルに 分けておいたほうが扱いやすいように思います。

たとえば、次の処理をひとつの workflow にまとめたとします。
- 画像生成
- アップスケール
- 顔の修正
この場合、実行すると最初から最後まで処理が走ります。
最初の画像生成がイマイチでも、アップスケールや修正まで進んでしまいます。
これを小さな workflow に分けるとどうでしょう?
text2imageで候補を作る- 良いものだけ
upscaleに進ませる - 必要なものだけ
face fixに渡す - あとから
upscaleだけ実行する
人間が使う分にはまとめておいた方が楽なこともありますが、AI に使わせれば、workflow 同士の橋渡しは勝手にやってくれます。
それならば、All in one なものよりも、細かく最低限の workflow を用意しておいたほうが柔軟に使ってもらえます。
MCPについて
上でやった方法は、API を使う簡単なプログラミングを AI が書いて実行する、というものですが、AI ネイティブとしては、少し野暮ったい方法でもあります。
そこで、MCP という、AI エージェントにツールやデータを渡すための共通規格に変換する方法もあります。
たとえば、以下のような MCP tool を考えてみましょう。
run_text2imagerun_image2imagerun_upscaleget_comfyui_queueget_output_image
AI から見ると、「HTTP の /prompt に JSON を POST する」という細かい手順ではなく、run_text2image という道具を呼ぶだけになります。
たとえばその tool の内部で、API 形式 workflow を読み込み、必要な値を差し替え、ComfyUI の /prompt に投げるようにできます。
とはいえ、AI にとって少し扱いやすくなるだけで、できること自体が大きく変わるわけではありません。
現状では、無理に使う必要はないでしょう。