メインコンテンツへスキップ
プロジェクトリサーチ 18分で読める

【入門編】高品質AI画像生成の定番ComfyUI入門! 最初の1枚とワークフローの再現まで試してみた

PlusWeb3 編集部
PlusWeb3 編集部 Web3・AI専門メディア

ノードベースの画像生成AIツール「ComfyUI」を実際に使い、業務に利用できるのかを検証する本企画。

第1回となる今回は、Windows向けのComfyUI Desktopをインストールし、画像生成モデル「FLUX.1 Schnell FP8」を使って最初の画像を生成しました。

さらに、プロンプトやseedによる画像の制御、ノードを使ったワークフローの再構築、JSONや生成画像からのワークフロー復元まで試しています。

ComfyUIには、高度な設定を組み合わせる専門的なツールという印象がありました。しかし、実際に試してみると、インストールから最初の画面を開くまでの操作は意外なほど簡単でした。

一方、画像生成モデルの容量や、モデルに適した設定値など、実際に触らなければ分からないハードルも見えてきました。

今回は、最初の1枚を作るまでの過程と、ComfyUIの基本的な仕組みについて紹介します。


ComfyUI体験型連載、第1回!

ComfyUIは、画像生成などの処理を「ノード」と呼ばれる部品で組み立てるツールです。

文章を入力する部分、画像を生成する部分、完成した画像を保存する部分などがそれぞれノードとして用意されており、必要なノード同士を線で接続してワークフローを作ります。

公式ドキュメントでは、ComfyUIのワークフローを、ノードが接続されて作られるネットワーク、つまり「グラフ」と説明しています。画像だけでなく、動画、音声、3Dモデルなどを扱うワークフローも構築できます。(ComfyUI)

今回の目標は、次の4点です。

  • ComfyUI Desktopを導入する
  • 公式テンプレートから最初の画像を生成する
  • seedを使って生成結果を再現する
  • 白紙から基本的なワークフローを組み直す

最初から複雑な機能には挑戦せず、まずは「文章から画像を1枚作る」という最小限の処理を理解していきます。


ComfyUI Desktopをインストール!

今回は、Windows向けの「ComfyUI Desktop」を使用しました。

ComfyUIには手動版やポータブル版などもありますが、Desktop版は一般的なデスクトップソフトに近い形で導入できます。Python環境や必要な依存関係も自動的に設定されるため、初めて使う場合の選択肢として分かりやすい形式です。

ただし、公式ドキュメントでは、ComfyUI Desktopはベータ版とされています。今後、導入手順や画面構成が変わる可能性はあります。(ComfyUI)

公式サイトからインストーラーを取得

まず、ComfyUIの公式サイトを開き、「DOWNLOAD DESKTOP」を選択しました。

ComfyUI公式サイト。Windows向けのDesktop版をダウンロードしました。

ダウンロードしたインストーラーを起動し、画面の指示に従って操作すると、ComfyUI Desktopの管理画面が表示されました。

【画像2:ComfyUI Desktopのランチャー画面】

インストール後に表示された管理画面。ここから作成済みのComfyUI環境を起動できます。

高度なAI用ツールなので、導入段階からコマンド操作や専門的な設定を求められると予想していました。しかし、最初の画面までは、一般的なデスクトップアプリと大きく変わらない感覚で進められました。

既存の環境を更新したところ、バージョンは「v0.27.0」から「v0.28.2」になりました。

更新にかかった時間は約1分です。エラーや再起動も発生しませんでした。

その後、ランチャーからComfyUI本体を起動しました。本体の画面が表示されるまでは約2分で、追加の処理や警告もありませんでした。


ノードがつながった画面は、意外と分かりやすい

初回起動時には、「Text to Image(Z-Image-Turbo)」から「画像を保存」へつながるワークフローが表示されました。

初回起動時に表示されたワークフロー。画像生成から保存までの流れが、線で表現されています。

最初に感じたのは、画面が想像していたよりも洗練されていることです。

ノード同士が線でつながっているため、それぞれの詳しい意味が分からなくても、処理が左から右へ進んでいることは直感的につかめました。

また、ノードにはプロンプト、画像サイズ、seed、stepsなど、さまざまな設定項目が用意されています。設定項目の多さから、単純に画像を出力するだけでなく、用途に合わせて処理を拡張できそうだと感じました。

一方、この時点では、ノードの色や接続部分がそれぞれ何を示しているのかまでは分かりません。

「全体の流れは見えるが、内部で何が起こっているのかは分からない」というのが、最初に画面を見たときの率直な印象でした。


テンプレートからFLUX.1 Schnellを選ぶ

ComfyUIには、目的別に用意された公式のワークフローテンプレートがあります。

テンプレート画面で「flux」と検索すると、文章からの画像生成だけでなく、画像の一部を修正するインペイント、画像の外側を拡張するアウトペイント、構図を制御するControlNetなど、さまざまなワークフローが表示されました。

FLUX関連のテンプレート一覧。画像生成以外にも、多様な用途が用意されています。

テンプレート一覧からはComfyUIの拡張性が伝わる一方、初心者にとっては、どれを選べばよいのか迷いやすい画面でもあります。

今回は、導入をできるだけ単純にするため、「FLUX.1 Schnell FP8」を選びました。

FLUX.1 Schnellは、Black Forest Labsが開発した画像生成モデルです。今回使用したファイルは、Comfy-OrgがComfyUI向けの単一ファイルとして配布しているFP8版です。配布ページではApache License 2.0が表示されており、FP8版は高速化とメモリ使用量の削減を目的としています。(Hugging Face)


最初の壁は、16GBを超えるモデルのダウンロード

FLUX.1 Schnell FP8のテンプレートを開くと、画面右側に「不足しているモデル」という警告が表示されました。

必要な画像生成モデルがPC内にないため、ダウンロードを求められました。

ComfyUIのテンプレート機能では、必要なモデルがPC内に存在するか自動的に確認されます。Desktop版では、不足しているモデルを画面上のボタンから直接ダウンロードできます。(ComfyUI)

今回、ComfyUI上に表示されたファイル容量は16.05GBでした。Hugging Faceの配布ページでは17.2GBと表示されています。

Comfy-OrgによるFLUX.1 Schnell FP8の配布ページ。Apache-2.0の表示も確認しました。

ダウンロードは15時57分に開始し、16時12分に完了しました。所要時間は約15分です。

ダウンロード中もComfyUIの画面は操作でき、エラーも発生しませんでした。完了後の再起動も不要で、そのままモデルが認識されました。

アプリ本体のインストールは非常に簡単でしたが、画像生成を始めるには十数GB規模のファイルが必要です。

実際に使う際は、操作方法以上に、PCの空き容量や通信環境が最初の現実的なハードルになりそうです。


まずはデフォルト設定で画像を生成!

モデルのダウンロード後は、テンプレートに最初から入力されていたプロンプトを変更せず、そのまま画像を生成しました。

デフォルトのプロンプトは、虹色の銀河が入ったボトル、現代的なキッチン、野菜やキノコ、地球が入ったワイングラス、食べかけのアップルパイなど、複数の要素を含む長い文章です。

「実行する」を押したのは16時16分で、画像は16時17分に表示されました。初回生成には、およそ1分かかっています。

FLUX.1 Schnell FP8のテンプレートを、初期設定のまま実行した結果。

生成された画像には、プロンプトに含まれていた主要な要素がほぼすべて描かれていました。

虹色の宇宙が入ったボトル、地球が収まったワイングラス、キノコや野菜の皿、アップルパイが、一枚のキッチンの風景としてまとめられています。

また、2回目以降の生成は約5秒で完了しました。

初回はモデルをGPUメモリへ読み込む時間などが含まれていたと考えられます。モデルの読み込み後は、プロンプトや設定を変えながら試行錯誤しやすい速度でした。


独自プロンプトで記事向けの画像を作ってみた

次に、連載の内容に合う独自のプロンプトを入力しました。

今回使用したプロンプトは、以下の内容です。

モジュール式のAI画像生成ワークフローを、相互接続された発光ブロックとして表現した編集用イラスト。アイソメトリック構図、暗い背景、シアンとアンバーのアクセント、文字・ロゴ・透かしなし。

画像サイズは1024×576、stepsは4、CFGは1.0、samplerは「euler」、schedulerは「simple」としました。

AI画像生成のワークフローを、接続された発光ブロックとして表現しました。

生成画像には、複数のブロックと、それらを結ぶ線が描かれました。

暗い背景にシアンとアンバーが配色され、アイソメトリック風の構図になっています。プロンプトで指定した内容は、おおむね反映されていると感じました。

人物や具体的な商品ではなく、抽象的な概念を表す画像であれば、記事のアイキャッチや説明用ビジュアルとして使える可能性があります。

ただし、画像内の接続関係に明確な意味があるわけではありません。あくまで「AIワークフローらしい印象」を視覚化した画像です。

業務で使う場合は、雰囲気だけでよいアイキャッチなのか、正確な情報を伝える図解なのかを区別する必要がありそうです。


seedを固定すると、同じ画像を再現できる?

画像生成AIでは、同じ文章を入力しても、毎回異なる画像が生成されることがあります。

そこで、画像生成の出発点となる数値「seed」を固定し、同じ結果を再現できるか試しました。

最初のseedを「1000」に設定し、「生成後の制御」を「fixed」に変更します。そのほかの設定は変えず、同じ条件で2回生成しました。

結果は、今回の環境では同じ画像になりました。

次に、プロンプトや設定を維持したまま、seedだけを「1001」へ変更しました。すると、使用されている色やブロックの表現は似ているものの、配置や接続関係が異なる画像になりました。

上がseed 1000、下がseed 1001。同じプロンプトでも、seedを変えると構図が変わりました。

seedを固定すれば、採用した画像を同じ条件で呼び戻せます。一方、seedを変更すれば、プロンプトの方向性を維持しながら別案を作れます。

一般的な画像生成サービスでは、よい画像が偶然出るまで何度も生成する使い方になりがちです。

ComfyUIでは、プロンプト、seed、各種設定を明示的に管理できるため、条件を維持しながら比較・修正しやすいと感じました。


白紙から画像生成ワークフローを組んでみる!

ここまでは公式テンプレートを使用していました。

しかし、テンプレートを実行できただけでは、各ノードが何をしているのかまでは分かりません。

そこで、新しいキャンバスを開き、テンプレートを参考にしながら、文章から画像を生成するワークフローを白紙から組み直しました。

モデルの読み込みから画像の保存まで、必要なノードを配置して接続しました。

「チェックポイントを読み込む」が基本となるノードです。最初はどう配置するか分かりませんでしたが、何もないところをダブルクリックすると検索欄が出てくるので、「チェックポイント」と検索すると設置できます。

今回使用した主なノードは、以下の通りです。

ノード主な役割
チェックポイントを読み込む画像生成モデル、CLIP、VAEを読み込む
CLIPテキストエンコード入力した文章を、モデルが扱える情報へ変換する
空のSD3潜在画像生成する画像のサイズや枚数を決める
Kサンプラーseedやstepsなどを使い、画像の元となる潜在表現を生成する
VAEデコード潜在表現を、人間が見られる画像へ変換する
画像を保存完成した画像をPNGとして保存する

処理の流れを単純化すると、次のようになります。

モデルを読み込む

文章をモデルが扱える形へ変換する

画像の大きさを決める

ノイズから画像の元を作る

見える画像に変換する

保存する

テンプレートを眺めていたときよりも、自分でノードを配置して線を接続したほうが、それぞれの役割を理解しやすくなりました。


配線は合っているのに、画像がおかしい……?

白紙から作ったワークフローで、最初に入力したプロンプトは「Beautiful Scene」という短い文章でした。

しかし、生成された画像は全体的にぼやけており、プロンプトが正しく反映されたのか判断しにくい結果になりました。

原因を確認すると、新しく配置したKサンプラーのCFGが「8.0」になっていました。

今回使用しているFLUX.1 Schnellの公式テンプレートでは、CFGは「1.0」に設定されています。ノードの種類と配線は同じでも、モデルに合った数値を設定しなければ、期待した結果にはなりません。

CFGを1.0へ変更し、プロンプトも結果を判定しやすい内容に変えました。

雪の崖の上に立つ、明るい青色の灯台。背景には青い海と日の出。横長構図の編集用イラスト。

設定を修正すると、青い灯台、雪の崖、海、日の出が明確に描かれました。

今度は、指示した要素が画像に反映されました。

この失敗から、ComfyUIではノードの接続を再現するだけでなく、モデルごとの推奨設定まで含めてワークフローを管理する必要があると分かりました。

テンプレートは単なる配線の見本ではなく、モデルを適切に動かすための設定例でもあります。


ワークフローをJSONとして保存する

完成したワークフローは、JSONファイルとして書き出せます。

メニューから「エクスポート」を選び、今回作成したワークフローをTest.jsonとして保存しました。

作成したノードグラフをJSONファイルとして書き出しました。

新しい空のキャンバスを開き、保存したJSONファイルをドラッグすると、ノードの配置と接続がまとめて復元されました。

モデル、プロンプト、seed、CFG、画像サイズなども保存時の状態へ戻っています。

JSONを読み込むと、ノード構成と生成設定がまとめて復元されました。

ComfyUIの公式ドキュメントでも、ワークフローはJSON形式の小さなファイルとして保存でき、生成画像とは独立して共有・保管・バージョン管理できると説明されています。(ComfyUI)

例えば、記事アイキャッチ用のワークフローをJSONとして保存しておけば、毎回ゼロから設定する必要がありません。

チームで使用する場合も、操作方法を文章だけで伝えるのではなく、実際に動くワークフローをファイルとして共有できます。


生成したPNGからもワークフローを復元できる!

さらに、ComfyUIから直接保存されたPNGを新しいキャンバスへドラッグしました。

すると、JSONと同様に、その画像を生成したワークフローが復元されました。

生成画像をドラッグすると、その画像を作ったノード構成と設定が表示されました。

ComfyUIでは、生成画像のメタデータにワークフローを保存できます。そのため、完成画像から、使用モデルやプロンプト、seedなどの生成条件をさかのぼることができます。(ComfyUI)

これは、実務上かなり便利な機能だと感じました。

画像だけを保存して、後から「どのプロンプトで作ったのか分からない」という状態を防げます。過去に採用した画像を修正したり、似た条件で別案を作ったりする際にも役立ちそうです。

ただし、スクリーンショットや画像編集ソフトで加工・再保存したファイルでは、メタデータが失われる場合があります。元の生成PNGと、掲載用に加工した画像は分けて保管したほうがよいでしょう。


商用利用を考え、ライセンスと著作権も確認

画像が生成できても、そのまま業務で公開できるとは限りません。

今回は、使用するソフトとモデルについて、配布元とライセンス表示を確認しました。

ComfyUI本体はGPL-3.0で公開されています。今回使用したComfy-Org版のFLUX.1 Schnell FP8には、Apache-2.0のライセンス表示があります。(GitHub)

ただし、ソフトやモデルのライセンスを確認することと、個々の生成画像が第三者の権利を侵害していないことは別の問題です。

文化庁は、生成AIと著作権について、AIの開発・学習段階と、生成・利用段階を分けて整理しています。生成物を公開・利用する段階では、既存作品との類似性や依拠性など、従来の著作権侵害の考え方が問題になります。また、生成AIに関する判例や裁判例の蓄積が十分ではないことにも注意が必要です。(文化庁)

今回の検証では、次のルールを設けました。

  • 実在する作家名や作品名をプロンプトに入れない
  • 版権キャラクターや実在人物を狙わない
  • 他人の画像やSNS上の画像を入力素材に使わない
  • 使用したモデル名、配布元、ライセンス、使用日を記録する
  • 公開前に既存作品や企業ロゴなどに強く似ていないか確認する
  • 必要に応じて人間が選択・修正・加工する

今回生成したのも、銀河が入ったボトルや、抽象的な発光ブロック、青い灯台など、特定の既存作品を意図しない内容です。

本記事は法的助言ではありませんが、業務で使用するなら、生成できたことだけでなく、使用条件と制作過程を記録することが重要だと感じました。


ComfyUIは「画像を出すツール」より「工程を作るツール」

今回、ComfyUI Desktopの導入から、最初の画像生成、seedの固定、ワークフローの再構築まで試しました。

ComfyUIには専門的で難しい印象がありましたが、Desktop版のインストールやモデルの取得は、基本的にGUI上の操作だけで完了しました。

一方で、実際に使うと次のようなハードルもあります。

  • 画像生成モデルの容量が大きい
  • 多数のテンプレートから適切なものを選ぶ必要がある
  • ノードの配線だけでなく、モデル固有の設定値を理解する必要がある
  • 生成結果が業務用途に合うか、人間が判断する必要がある

特に印象に残ったのは、再現性に関する機能です。

seedを固定すれば同じ画像を再生成でき、seedのみを変えれば同じ条件から別案を作れます。さらに、制作工程そのものをJSONとして保存でき、生成PNGからも使用したワークフローを呼び戻せました。

そのため、ComfyUIは、単にプロンプトを入力して画像を出すツールというよりも、画像生成の工程を組み立て、保存し、再利用するためのツールだと感じました。

公式テンプレートから最初の画像を作るだけなら、それほど難しくありません。しかし、白紙から組み直してみると、ComfyUIがなぜノード型になっているのかが少しずつ見えてきます。


次回は、記事のアイキャッチ制作に挑戦!

今回は、ComfyUIの環境構築と、文章から画像を生成する基本的なワークフローを扱いました。

次回は、実際の記事制作を想定し、横長のアイキャッチ画像を作ります。

単にきれいな画像を生成するのではなく、タイトルを配置するための余白を確保できるか、複数案を効率よく比較できるか、同じ方向性の画像を再現できるかなど、より実務に近い条件で検証する予定です。

Share this article コピーしました
WRITTEN BY

PlusWeb3 編集部

Web3・AI専門メディア

PlusWeb3 編集部は、ブロックチェーン・Web3・AIの最新動向をわかりやすくお届けする専門メディアチームです。業界経験豊富な編集者とリサーチャーが、信頼性の高い情報を厳選してお届けします。

コピーしました

Web3・AI・ディープテック領域のキャリアに興味がありますか?

業界特化メディアを運営する専門エージェントが、企業のカルチャー・技術スタック・選考ポイントまで踏まえてキャリアをご提案します。相談は完全無料です。