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 | 十分きれい | 中間 |
| 20 | 8とほぼ変わらない | 遅い |
テスト生成なら8、最終出力でも20あれば十分。
サンプラー名(sampler_name)
ノイズ除去のアルゴリズム。同じシードでも結果が変わる。
| サンプラー | 特徴 |
|---|---|
| euler | 基本的なサンプラー。安定した結果 |
| euler_ancestral | 毎回ランダム性が加わる。多様な結果が出やすい |
| dpmpp_2m | euler に近いが質感が少し異なる |
| 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 は英語で訓練されている。日本語は動くが精度が落ちる)
- 自然な文章ではなく、単語・短いフレーズをカンマで区切る
- 重要なキーワードを先に書くと効きやすい