【#5】値の一括管理とワークフローの管理(データ配布有り)【ComfyUI講座】【2025年版】
今回は「値の一括管理」と「ワークフローの管理」について解説します。値の一括管理には「Primitiveノード」を活用します。
同時にPrimitiveノードを使うとワークフローが複雑化するため、管理する方法を解説します。
⚠️Primitiveの仕様変更【2025年5月14日~】
2025年5月14日のアップデートでPrimitiveノードの出し方が変わりました。

Utils>Primitiveではなく、ユーティリティ>プリミティブとなりました。注意してください。ただ私はほかのカスタムノードも入れているため確証はありません。過去の情報は残しておきます。
2.json「前回のワークフローとおさらい」

補足:このjsonはHires Fixの値が適正ではありません。第四回を参考して修正してください。
前回はHires Fixを構築しましたが「Kサンプラー(左)」と「Kサンプラー(右)」のノードをワイヤーで接続し、同じシードを適用しようとしましたが出来ませんでした。値を持つノードは同じく値を持つノードに干渉できないからです。
Primitiveノード

現在はユーティリティ>プリミティブ>です。
String:文字列
String (Multiline):文字列(複数行)
Int:実数
Float:少数
【シードを乱数生成する】Intノードを作成し、シードに接続する

生成するシードの値は固定したくないためfixed以外を選択します。
逆にKサンプラー側は読み込んだIntの値を変えたくないためfixedを選びます。
【注意】Kサンプラーの値は予め統一(画像では0で統一)した後にワイヤーを接続してください。
CLIPとは「CLIPテキストエンコード」の運用

第三回で「モデル読み込み」「デコード」について解説しました。
ここでは「プロンプト解析」について解説します。
プロンプト解析は、テキストを数値ベクトルに変換する処理で、一般に「CLIPによるベクトル化」と呼ばれます。これは、画像生成AIがプロンプトの意味を理解し、画像として表現するための基盤となる重要なステップです。
プロンプト解析には、以下の3つの要素が関係します:
① CLIPモデル
CLIP(Contrastive Language–Image Pretraining)は、テキストと画像を同じ意味空間(潜在空間)で扱うための事前学習モデルです。
ComfyUIでは、CLIPモデルは通常、Stable Diffusionのメインモデル(LDM)に内蔵されており、特別に選ぶ必要はありません。
② テキスト(プロンプト)
ユーザーが記述する「プロンプト」は、CLIPが意味を解析する元になります。
ComfyUIでは、以下の2つに分けて指定します:
Positive Prompt(肯定プロンプト):生成したい内容(例:"a girl in a forest")
Negative Prompt(否定プロンプト):生成から除外したい要素(例:"blurry, low quality")
③ CLIPTextEncode ノード
このノードがプロンプトをCLIPの埋め込みベクトルに変換し、Kサンプラーに渡します。
つまり、CLIPTextEncodeはCLIPテキストエンコードの中核的な処理を担うノードです。
CLIPテキストエンコードは本来テキストを記述する場所ではない

ノードを拡張した際プロンプトを必要とする場合「CLIPテキストエンコード(プロンプト)」にプロンプト記述するとだと対応しきれないため、新たにテキスト専用のノードを作成します。
これは本来の「CLIPテキストエンコード(プロンプト)」の用途とも合致します。
【プロンプト欄】String (Multiline)を2つ作成し、「Positive Prompt欄」と「Negative Prompt欄」とする

今まで「CLIPテキストエンコード(プロンプト)」に記述していた内容を新たに作った「String (Multiline)」にコピペし、対応する「CLIPテキストエンコード(プロンプト)」に接続します。
上が「Positive Prompt」下が「Negative Prompt」です。
Primitiveノードによる複雑化「スパゲッティコード」

Primitiveノードで乱数を作りシードを管理する。プロンプト欄を増設するなどした結果。ワークフローが複雑化してしまいました。
いわゆる「スパゲッティコード」です。
これを解決するためにはワークフローを管理するほかありません。
2b.json「ここまでのワークフロー(Hires Fix修正済み)」
ワークフローの管理「標準グループ機能」or「ComfyUI Fast Groups(カスタムノード)」
ワークフローの管理には2つの方法があります。
1つ目はComfyUIに標準搭載されているグループ機能を使う方法。
2つ目は「ComfyUI Fast Groups」というカスタムノードを導入する方法です。
今回の規模であれば「標準グループ機能」で構いませんが、今後複雑なワークフローを構築する場合は「ComfyUI Fast Groups」というカスタムノードがあることを知っておくと便利です。
標準グループ機能


【その他の管理方法】グループノードに変換。
ワークフローをすっきりさせる
グループ化したノードが視覚的にわかりにくくなる=共有しにくくなる
グループ化したノードの値を操作したい時に手間がかかる
グループ化したノードに新たなノードを追加したい時に手間がかかる



3.json「管理されたワークフロー」

0,Models
CheckPointが配置されています。LoRAもこのグループに挿入されます。
そのため余裕を持ってグループが作られています。
1,Inputs
画像サイズ、シード値、プロンプトの一括管理しています。
2,Text-to-image
1枚目の画像生成です。Kサンプラーの値は忘れずにModelの推奨値を使います。今回は推奨値の中で最小値を最小しました。
3,Hires Fix
2枚目の画像生成です。処理速度は最速でスケールアップもしていませんが、このHires Fixによって出力結果の品質が向上します。
4,Image save/preview
出力結果の保存と画像プレビューです。
次回:様々なHires Fixについて
前回:Hires Fixの構築
📌 AIイラストの構成設計や生成安定化に興味がある方へ
このnoteでは再現性重視の技術を発信しています。詳細なテンプレートやLoRAは、メンバーシップで限定公開しています。
