SoreNutsからのお知らせ
新規記事
5/14にComfyUIで背景を削除できるノードを公開!
5/3に既存のプロンプトをローカルLLMを使って拡張【ComfyUI IF AI tools】を公開!
更新記事
5/11に髪型のプロンプト(呪文)一覧を更新!
5/5に環境・背景・場所のプロンプト(呪文)一覧を更新!
一般的に「txt2img」に必要な機能を紹介します。細かい設定は無視して最速で使いこなす方法を書いていきます。
今回すること
基本操作を解説しながら「txt2img」に必要なノードを紹介していきます。
「text to image」の略語でテキストから画像を作る工程を指します。
一般的にtxt2imgには次のような機能が必要だと思います。
- VAE
- LoRA
- プロンプト
- Batch処理
- 人気サンプラー「DPM++ 2M Karras」
- Clip Skip
さっそく上から順に追加していきましょう。
ノードの追加
今回はデフォルトのワークフローに追加していきます。
デフォルトのワークフローを呼び出したい場合は右のパネルの「Load Default」から呼び戻せます。
VAE
「Load VAE」ノードを追加します。
何もない箇所で「右クリック」を押すとコンテキストメニューが表示されます。
「Add Node」の次に「loaders」、その中の「Load VAE」ノードを追加しましょう。
これでVAEが選べるようになりました。
これを「VAE Decode」に繋ぎましょう。
LoRA
次にLoRAを追加します。
先ほどの手順から「Load LoRA」を追加してもいいのですが、もっと便利な方法があります。
何もない箇所で「ダブルクリック」をしてみましょう。検索窓が表示されます。
ここに「lora」と打ち込んで「LoraLoader」を選択しましょう。
「Load LoRA」を呼び出せました。この方法は覚えておくと後々便利です。
これを「Load Checkpoint」の次に繋ぎます。
複数のLoRAを使いたい場合は「Load LoRA」を増やすだけです。「Altキー」を押しながらノードをクリックすることで複製できます。「Ctrl+C」でコピーして「Ctrl+V」で貼り付けることもできるため、殆どの人はそちらを使っていると思います。
設定を見ていきましょう。項目が二つあります。「strength_model」と「strength_clip」は基本的に「同じ値」にします。
必ずしも同じ値である必要はないので、設定を変更して試してみましょう。と、言いたい所ですが、筆者が試したところ「strength_clip」に関しては値を変更しても生成結果が変わることはありませんでした。何か分かり次第追記します。
strength_clipについてredditで質問されていた回答をまとめました。
モデル強度(model strength)を上げると、生成される画像が学習画像により近くなります。 クリップ強度(clip strength)を上げると、プロンプトによって学習データ内の特徴やトリガーワードがより活性化されます。
通常、モデル強度とクリップ強度は相関が高いのですが、学習データのスタイルは取り入れつつ、特定のキーワードは避けたい場合など、両者を別々に調整したい状況もあります。
LoRAの設定において:
- clip strengthは、テキストの指示(プロンプト)にどの程度従うかを決めます
- model strengthは、LoRAを適用するベースモデルにどの程度影響を与えるかを決めます
ただし、これらのパラメータを0.01変更するだけでも、生成される画像に大きな影響を与えることがあります。
プロンプト
プロンプトを記述するノード「CLIP Text Encode」について解説します。
次の画像はプロンプトとネガティブプロンプトに分かれてます。
この二つのノード自体の種類は同じですが、「KSampler」のインプットが違うだけです。
ここまでのテスト
これでLoRAとVAEを使えるようになりました。
この状態のテストをするために、右のパネルから「Queue Prompt」を押して生成してみましょう。
ComfyUI Managerの「Preview method」を有効化していれば「KSampler」の下に生成途中の結果が表示されます。
生成の途中を見ることで改善の方向性が分かってくるので、後にComfyUI Managerを導入してみましょう。
ComfyUI Managerについての記事も書いてるので参考にしてみてください。
画像の保存先
保存された画像は「ComfyUI」フォルダ内の「output」にあります。
1
2
Batch処理
Automatic1111ではお馴染みの「Batch size」を変更してみましょう。
Batch sizeは同時に複数枚生成することで効率的にマシンスペックを使える機能です。
デフォルトで表示されているこのノードを使います。
「Empty Latent Image」は縦と横の解像度と「Batch size」を指定できるノードです。
その名の通り、空白の潜在画像を出力するノードです。
潜在画像とは簡単にいうと、人間には理解しにくい圧縮された「小さな画像データ」です。※厳密に言うと違いますが認識はこれでいいです
VAE Decodeではこれを人間が理解できる形へ変換してくれます。
ちなみにこれは理解しなくて大丈夫です。
サンプリング方法を変えてみる
「KSampler」を見てみましょう。
「sampler_name」と「scheduler」が重要な部分です。
ここは完全に好みなので指定はありませんが、今回は有名な「DPM++ 2M Karras」の使い方を紹介します。
「sampler_name」はdpmpp_2mを選びます。dpmppはDPM++のことです。「scheduler」はkarrasですね。
では、理解しなくていい解説をはさみます。サンプラーとスケジューラーについてです。
サンプラー(sampler_name)は「どのように」サンプリングを行うかを決定します。
スケジューラー(scheduler)は「いつ」「どのようなペースで」サンプリングの各ステップを行うかを制御します。
Clip Skip
「Clip Skip」はプロンプトを無視した抽象的な画像を生成することができます。
つまり厳密にプロンプトを考えずに、モデルのパワーでなんかいい感じにしてくれ!とおまかせ機能を使うような感じです。
先ほどと同じように何もない箇所を「ダブルクリック」して「set」と検索し、「CLIPSetLastLayer」を追加します。
ではこのノードを「モデル」の次、もしくは「LoRA」の次に繋ぎます。
どこに入れても変わらないので、筆者はいつもプロンプトの前にこのノードをはさんでます。
デフォルトでは「-1」に設定されていますが、このままでは何も変わりません。
「CLIP Set Last Layer」は最大で「-12」まで設定が有効です。マイナスが大きくなるにつれてプロンプトの抽象化が進みます。
実際にプロンプトを無視するような挙動なので、色々試してみると面白いかもしれません。
Tips: ノード自体を小さくできます。
まとめ
これで一般的な「txt2img」の使い方は網羅できたと思います。
細かい設定や、難しいノードは使わずに、最速で使いこなす方法を書きました。
次は非常に重要なimg2imgの使い方を見ていきましょう。
掲示板