一言で言うと
ノイズから画像を生成する「魔法の調理器」。設定次第で料理(画像)の仕上がりが大きく変わる。
Kサンプラーとは
KSampler = K-Diffusion Sampler
ComfyUIのコアノードの一つ。
ノイズだらけのLatent画像から、
少しずつノイズを除去して「きれいな画像」を生成する。
「K」は k-diffusion ライブラリに由来。
Katherine Crowson氏が開発した拡散モデル用ライブラリ。
拡散モデルの仕組み
┌─────────────────────────────────────────────────────────┐
│ │
│ 【学習時(Forward Process)】 │
│ │
│ きれいな画像 → ノイズを少しずつ加える → 完全なノイズ │
│ │
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
│ │ 🖼️ │ → │ 🌫️ │ → │ 🌫️🌫️ │ → │ 🌫️🌫️🌫️│ → │ ⬜⬜⬜ │ │
│ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ │
│ 原画像 少しノイズ もっとノイズ 完全ノイズ │
│ │
└─────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────┐
│ │
│ 【生成時(Reverse Process)】← これをKサンプラーが担当 │
│ │
│ 完全なノイズ → ノイズを少しずつ除去 → きれいな画像 │
│ │
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
│ │ ⬜⬜⬜ │ → │ 🌫️🌫️🌫️│ → │ 🌫️🌫️ │ → │ 🌫️ │ → │ 🖼️ │ │
│ └─────┘ └─────┘ └─────┘ └─────┘ └─────┘ │
│ ランダム 形が見える 輪郭が出る 細部が出る 完成! │
│ ノイズ │
│ │
└─────────────────────────────────────────────────────────┘
KSamplerノードの入力
┌─────────────────────────────────────────────────────────┐
│ KSampler │
├─────────────────────────────────────────────────────────┤
│ │
│ model ← チェックポイント(学習済みモデル) │
│ positive ← ポジティブプロンプト(生成したいもの) │
│ negative ← ネガティブプロンプト(避けたいもの) │
│ latent_image ← 空のLatent画像(または入力画像) │
│ │
│ ─────────── 以下が調整パラメータ ─────────── │
│ │
│ seed ← シード値(乱数の種) │
│ control_after_generate ← 生成後のシード制御 │
│ steps ← ステップ数(ノイズ除去の回数) │
│ cfg ← CFGスケール(プロンプト追従度) │
│ sampler_name ← サンプラー(ノイズ除去アルゴリズム) │
│ scheduler ← スケジューラー(ノイズ除去スケジュール)│
│ denoise ← ノイズ除去強度 │
│ │
└─────────────────────────────────────────────────────────┘
各パラメータの役割(概要)
┌──────────────────┬────────────────────────────────────────┐
│ パラメータ │ 一言で │
├──────────────────┼────────────────────────────────────────┤
│ seed │ 「運命の種」─ 同じ種なら同じ画像 │
├──────────────────┼────────────────────────────────────────┤
│ steps │ 「調理時間」─ 長いほど丁寧に仕上がる │
├──────────────────┼────────────────────────────────────────┤
│ cfg │ 「レシピ忠実度」─ 高いほど指示通り │
├──────────────────┼────────────────────────────────────────┤
│ sampler_name │ 「調理法」─ 煮る、焼く、蒸すの違い │
├──────────────────┼────────────────────────────────────────┤
│ scheduler │ 「火加減」─ 強火→弱火のタイミング │
├──────────────────┼────────────────────────────────────────┤
│ denoise │ 「どれだけ手を加えるか」─ img2img用 │
└──────────────────┴────────────────────────────────────────┘
料理に例えると
┌─────────────────────────────────────────────────────────┐
│ │
│ 【KSampler = 調理器具(圧力鍋、オーブン等)】 │
│ │
│ 材料(latent_image): 食材(空のキャンバス) │
│ レシピ(prompt) : 作りたい料理の指示 │
│ 調理法(sampler) : 煮込み?焼き?蒸し? │
│ 火加減(scheduler) : 強火スタート?じっくり弱火? │
│ 調理時間(steps) : 何分調理するか │
│ レシピ忠実度(cfg) : レシピ通りかアレンジするか │
│ 乱数の種(seed) : 同じ材料・レシピでも微妙な違い │
│ │
└─────────────────────────────────────────────────────────┘
KSamplerとKSampler Advancedの違い
┌─────────────────────────────────────────────────────────┐
│ │
│ 【KSampler】 │
│ ・シンプルで使いやすい │
│ ・基本的な画像生成はこれでOK │
│ │
│ 【KSampler Advanced】 │
│ ・より細かい制御が可能 │
│ ・add_noise: ノイズを追加するかどうか │
│ ・return_with_leftover_noise: 途中状態を返すか │
│ ・start_at_step / end_at_step: 開始/終了ステップ指定 │
│ │
│ → マルチパス生成、Hires Fix、img2imgで活躍 │
│ │
└─────────────────────────────────────────────────────────┘
語呂合わせ
「Kサンプラー = 霧(K)をサンプルして晴らす」
ノイズ(霧)をサンプリングして、きれいな画像(晴れた景色)に変換する。
まとめ
| 項目 | 内容 |
|---|---|
| 正式名称 | K-Diffusion Sampler |
| 役割 | ノイズから画像を生成する中核ノード |
| 主要パラメータ | seed, steps, cfg, sampler, scheduler, denoise |
| 比喩 | 調理器具(材料から料理を作る) |
次回は「サンプラー実践編」─ euler, dpmpp_2m など各サンプラーの違いを解説