tags : ComfyUI

KSampler とは

Stable Diffusion の画像生成エンジン。ComfyUI の最も重要なノード。

「ノイズだらけの画像を、少しずつきれいにしていく」処理を実行する。

入力として以下の4つを受け取る:

  • モデル(checkpoint) — どんな画風・知識を使うか
  • ポジティブ条件 — 「こういう画像を作って」(テキストプロンプト)
  • ネガティブ条件 — 「こういうのは避けて」(テキストプロンプト)
  • 潜在画像(latent) — ノイズの塊(ここからスタート)

出力は潜在画像(LATENT)。これを VAE Decode で人間が見れる画像に変換する。

パラメータ

シード(seed)

乱数の種。同じシードなら同じ結果が出る(再現性)。

fixed : 毎回同じ結果。パラメータ比較に便利

randomize : 毎回違う結果。バリエーション探しに便利

CFG(Classifier-Free Guidance)スケール

プロンプトにどれだけ忠実に従うか。

挙動
1プロンプトをほぼ無視。指定していないものが出たりする
7〜8バランスが良い。通常はこのあたり
20プロンプトに強く従う。鮮やかだが不自然になりがち

実験で確認:cfg=1 では「landscape, mountains」と指示したのに人物が出現した。

ステップ数(steps)

ノイズを除去する回数。多いほどきれいだが、ある程度で頭打ちになる。

ステップ品質速度
4荒い。色のにじみ、ディテール不足速い
8十分きれい中間
208とほぼ変わらない遅い

テスト生成なら8、最終出力でも20あれば十分。

サンプラー名(sampler_name)

ノイズ除去のアルゴリズム。同じシードでも結果が変わる。

サンプラー特徴
euler基本的なサンプラー。安定した結果
euler_ancestral毎回ランダム性が加わる。多様な結果が出やすい
dpmpp_2meuler に近いが質感が少し異なる
lcm少ないステップ(4〜8)で高速生成。AnimateDiff + LCM で使用

「正解」はなく好みの問題。euler_ancestral 以外はシード固定で再現可能。

スケジューラ(scheduler)

ステップごとのノイズ除去量の配分。サンプラーとの組み合わせで効果が変わる。

simple : 均等にノイズ除去

normal : 一般的な配分

sgm_uniform : Yvann-Nodes ワークフローのデフォルト

ノイズ除去(denoise)

元の状態からどれだけ変えるか。txt2img(ゼロから生成)では常に 1.0。

img2img(既存画像を変換)で意味を持つ:

0.3 : 元画像をほぼ維持。微調整

0.7 : かなり変わるが元の構図は残る

1.0 : 完全にゼロから生成(元画像を無視)

txt2img 最小ワークフロー

Load Checkpoint → CLIP Text Encode (positive)
                → CLIP Text Encode (negative)
                → KSampler → VAE Decode → 画像を保存
空の潜在画像    ↗

6ノードで画像生成ができる最小構成。

プロンプトの書き方

CLIP(テキストをベクトルに変換するモデル)は、自然な英文よりも個々のキーワードを正確に拾える。そのため、カンマ区切りの単語・フレーズで書くのが基本。

beautiful landscape, mountains, sunset, masterpiece, high quality
  • 英語で書く(SD 1.5 は英語で訓練されている。日本語は動くが精度が落ちる)
  • 自然な文章ではなく、単語・短いフレーズをカンマで区切る
  • 重要なキーワードを先に書くと効きやすい

AnimateDiff(ComfyUI)

IPAdapter(ComfyUI)