メニュー

ランキング 24時間集計

目次

【ComfyUIの基礎から解説】txt2imgのワークフローを作ろう

SoreNutsからのお知らせ

 新規記事
6/13にSDXLの上位互換?SD3が無料公開されたので試してみた【ComfyUI】を公開!
6/6にSDXL用ControlNetモデルの使い方【Anytest + ComfyUI】を公開!
 更新記事
5/22に環境・背景・場所のプロンプト(呪文)一覧を更新!
5/22に表情・目の形のプロンプト(呪文)一覧を更新!
5/22に服装のプロンプト(呪文)一覧を更新!

一般的に「txt2img」に必要な機能を紹介します。細かい設定は無視して最速で使いこなす方法を書いていきます。

目次

今回すること

基本操作を解説しながら「txt2img」に必要なノードを紹介していきます。

そもそも「txt2img」とは

「text to image」の略語でテキストから画像を作る工程を指します。

一般的にtxt2imgには次のような機能が必要だと思います。

  • VAE
  • LoRA
  • プロンプト
  • Batch処理
  • 人気サンプラー「DPM++ 2M Karras」
  • Clip Skip

さっそく上から順に追加していきましょう。

txt2imgの解説

今回はデフォルトのワークフローを使って解説していきます。

デフォルトのワークフローを呼び出したい場合は右のパネルの「Load Default」から呼び戻せます。

VAE

まずはVAEを選択するためのノードを追加します。

何もない箇所で「右クリック」を押すとコンテキストメニューが表示されます。

「Add Node」の次に「loaders」、その中にある「Load VAE」ノードを追加しましょう。

これでVAEが選択できるようになりました。

VAEを変えることで彩度、明度といった色や形状そのものが変わります。

これを「VAE Decode」に繋ぎましょう。

LoRA

次にLoRAを追加する方法を解説します。

LoRAとは追加学習によって作成された画風やキャラクターに影響を与える小さなモデルです。もしLoRAをお持ちでないなら、今はスキップしてもらって構いません。

先ほどの手順を使ってもいいですが、もっと便利な方法があります。

何もない箇所で「ダブルクリック」をしてみましょう。検索窓が表示されます。

ここに「lora」と打ち込んで「LoraLoader」を選択しましょう。

「Load LoRA」を呼び出せました。この方法は覚えておくと後々便利です。

これを「Load Checkpoint」の次に繋ぎます。

複数のLoRAを使いたい場合は「Load LoRA」を増やすだけです。「Altキー」を押しながらノードをクリックすることで複製できます。「Ctrl+C」でコピーして「Ctrl+V」で貼り付けることもできます。

Load LoRAには項目が二つありますが、特に考えずに「strength_model」と「strength_clip」は基本的に「同じ値」にしましょう。

「strength_model」の数値が大きくなれば LoRAの効果が大きくなります。

strength_clipについては現時点では全く気にしなくて大丈夫です。未だに筆者も良く分かっていません。

strength_clipについてredditの質問まとめ

strength_clipって?

モデル強度(model strength)を上げると、生成される画像が学習画像により近くなります。 クリップ強度(clip strength)を上げると、プロンプトによって学習データ内の特徴やトリガーワードがより活性化されます。

通常、モデル強度とクリップ強度は相関が高いのですが、学習データのスタイルは取り入れつつ、特定のキーワードは避けたい場合など、両者を別々に調整したい状況もあります。

LoRAの設定において:

  • clip strengthは、テキストの指示(プロンプト)にどの程度従うかを決めます
  • model strengthは、LoRAを適用するベースモデルにどの程度影響を与えるかを決めます

ただし、これらのパラメータを0.01変更するだけでも、生成される画像に大きな影響を与えることがあります。

・・・?

プロンプト(呪文)について

プロンプトを記述するノードは「CLIP Text Encode (Prompt)」と書いているノードです。

同じ名前のノードが2つあるかと思います。どちらも全く同じノードです。

KSamplerと呼ばれる、画像を生成するノードにそれぞれが繋がっています。接続先が違うだけでノードの意味が変わってきます。

これでLoRAとVAEを使えるようになりました。

この状態のテストをするには、右のパネルから「Queue Prompt」を押すことで生成ができます

ComfyUI Manager と呼ばれる拡張機能(カスタムノード)を入れることにより「KSampler」の下に生成の経過が表示されます。

生成の経過を見ることで発見できることも “たまに” あります。後ほど ComfyUI Manager を導入してみてください。

ComfyUI Managerについての記事

画像の保存先

保存された画像は「ComfyUI」フォルダ内の「output」にあります。

ComfyUIフォルダ内に、

outputがあります。

画像の保存先を変更する方法についてはこちらをご覧ください。

Batch処理

Batch処理とは同時に複数の枚数を生成することです。効率的にGPUを使うことができます。

Empty Latent Image ノードを探してください。こちらのノードで生成される解像度を設定できます。

またBatch処理も設定もこちらで行うことができます。「Batch size」が Batch処理の枚数になります。

豆知識: Latent ってなんやねん

Latentは潜在画像といいます。

簡単にいうと、人間には理解しにくい圧縮された「小さな画像データ」です。

VAE Decodeではこれを人間が理解できる形(.png)へ変換してくれます。

サンプリング方法を変えてみる

「KSampler」を見てみましょう。KSampler とは画像を生成するノードです。

「sampler_name」と「scheduler」が重要な部分です。

ここは完全に好みなので指定はありませんが、今回は有名な「DPM++ 2M Karras」の指定方法を紹介します。

「sampler_name」はdpmpp_2mを選びます。dpmppはDPM++のことです。「scheduler」はkarrasですね。

sampler?scheduler?何?

サンプラー(sampler_name)は「どのように」サンプリングを行うかを決定します。

スケジューラー(scheduler)は「いつ」「どのようなペースで」サンプリングの各ステップを行うかを制御します。

CFGとStepsについては深くは触れませんが、CFGはプロンプトの強さを決めて、Stepsは総ステップ数になります。Stepsは20~40の値が主流です。Denoiseはノイズの量です。

Clip Skip

「Clip Skip」はプロンプトを無視した抽象的な画像を生成することができます。

SDXLのモデルでは逆にプロンプトの忠実性を上げるみたいです。SDXLでは -2 が推奨されています。

つまり厳密にプロンプトを考えずに、モデルのパワーでなんかいい感じにしてくれ!とおまかせ機能を使うような感じです。

先ほどと同じように何もない箇所を「ダブルクリック」して「set」と検索し、「CLIPSetLastLayer」を追加します。

ではこのノードを「モデル」の次、もしくは「LoRA」の次に繋ぎます。

どこに入れても変わらないので、筆者はいつもプロンプトの前にこのノードをはさんでます。

デフォルトでは「-1」に設定されていますが、このままでは何も変わりません。

「CLIP Set Last Layer」は最大で「-12」まで設定が有効です。マイナスが大きくなるにつれてプロンプトの抽象化が進みます。

実際にプロンプトを無視するような挙動なので、色々試してみると面白いかもしれません。

Tips: ノードは小さくできます。

まとめ

これで一般的な「txt2img」のワークフローが作れたはずです。

細かい設定や、難しいノードは使わずに、最速で使いこなす方法を書きました。

分からないことがあればお気軽にコメントしてみてください。


掲示板

コメントする

このフォームは reCAPTCHA によって保護されており、Googleのプライバシーポリシー利用規約が適用されます。
目次