ComfyUI の KSampler ノード
KSamplerはノイズ除去のループを実行します。モデル、プロンプト、潜在変数を受け取り、シード、ステップ数、cfg、サンプラー、スケジューラー、denoiseで制御された完成した潜在画像を出力します。
KSampler の役割
KSamplerは実際に画像を生成する場所です。入力の潜在変数(Empty Latent Imageからのランダムノイズやimg2img用のエンコードされた画像)から始めて、モデルにノイズを指定されたステップ数だけ除去するように頼みます。cfgの量だけポジティブプロンプトに近づき、ネガティブプロンプトから遠ざかります。結果はLATENTで、VAE Decodeが画像に変換します。
sampler_nameは数値計算法(euler、euler_ancestral、dpmpp_2m、dpmpp_2m_sde、dpmpp_3m_sde、uni_pc、lcmなど)を選び、schedulerはノイズのカーブ(normal、karras、exponential、sgm_uniform、simple、beta)を選びます。denoiseは入力潜在のどれだけを置き換えるかを制御します。テキストから画像は1.0、img2imgや高解像度パスは0.3~0.7です。KSampler (Advanced)はマルチステージサンプリング用に開始と終了ステップを公開しています。
入力
名前 | 型 | 意味 |
|---|---|---|
model | MODEL | LoRAやControlNetパッチを適用した後のノイズ除去モデル。 |
positive | CONDITIONING | 欲しいもの(CLIP Text Encodeから、場合によってはControlNet Apply経由)。 |
negative | CONDITIONING | 欲しくないもの。 |
latent_image | LATENT | 開始時の潜在変数:空のノイズかエンコードされた画像。 |
seed | INT | ノイズのシード。同じシードと設定なら同じ画像が再現される。control_after_generateで固定、増加、減少、ランダム化を設定可能。 |
steps | INT | ノイズ除去のステップ数。ほとんどのSDモデルは20~30、Lightning、Turbo、LCMモデルは4~8。 |
cfg | FLOAT | Classifier-free guidanceのスケール。SD 1.5やSDXLは5~8、Fluxや蒸留モデルは1.0。 |
sampler_name | COMBO | サンプリングアルゴリズム。 |
scheduler | COMBO | ノイズスケジュール。 |
denoise | FLOAT | 除去するノイズの割合。1.0は最初からやり直し。低いほど入力画像を多く残す。 |
出力
名前 | 型 | 意味 |
|---|---|---|
LATENT | LATENT | VAE Decodeや2つ目のサンプラーに渡すためのサンプリング済み潜在変数。 |
KSampler の使い方
- MODEL、両方のCONDITIONING、LATENTを接続する。
- SDXLならstepsを25、cfgを7、dpmpp_2mとkarrasを設定。Fluxならeulerとsimple、cfgを1に。
- 新しい画像を作るならdenoiseを1.0に設定。
- LATENTをVAE Decodeに接続し、その後に画像保存へ。
- キューに入れて、プロンプトを繰り返すときはシードを固定。
設定とコツ
- dpmpp_2m + karrasは万能な選択肢。euler_ancestralはバリエーションを増やせるが収束しない。dpmpp_2m_sdeはGPU間の決定論性を犠牲にして詳細を増やす。
- Lightning、Hyper、Turboチェックポイントは独自の設定が必要:4~8ステップ、cfg 1~2、sgm_uniformかsimple。
- 高解像度パスでは最初の潜在をUpscale Latent Byに通し、denoiseを0.4~0.55にした2つ目のKSamplerに渡す。
- Ctrl+Shift+Vを押すと接続付きでノードを貼り付けられる。サンプラー複製時に便利。
- 同じGPUで同じ設定なら固定シードは再現可能。異なるカードでは少し違うこともある。
KSampler のトラブルシューティング
画像の代わりにノイズ、静止画、ぼやけた塊が出る
原因
設定がモデルに合っていない:蒸留モデルにcfg 7、通常モデルに4ステップ、FluxモデルにFlux Guidanceなし、空の潜在にdenoiseが1未満など。
対処法
モデルページに合わせる:通常のSDは20~30ステップ、cfg 5~8。Lightning/Turboは4~8ステップ、cfg 1~2。Fluxはcfg 1、guidance 3.5、20ステップ以上。潜在が空ならdenoiseは1.0に。
焼きすぎたような、彩度過剰でコントラストが強すぎる出力
原因
cfgがモデルやLoRAスタックに対して高すぎる、または多くのステップでeuler_ancestralを使っている。
対処法
cfgを4~6に下げる、LoRAの強さを減らす、またはeuler_ancestralからdpmpp_2mに切り替える。
torch.OutOfMemoryError: サンプリング中にCUDAのメモリ不足
原因
このバッチサイズで潜在がカードに大きすぎる、またはControlNetやアップスケーラーなど別のモデルが同時にVRAMにある。
対処法
解像度やbatch_sizeを下げる、--lowvramを使う、fp8ウェイトを使う、または高解像度パスを2つ目のキューに分けて最初のモデルをアンロードする。
エラー: mat1とmat2の形状が掛け算できない
原因
条件付けがモデルとは別のファミリーのテキストエンコーダーから来ている(SD 1.5のCLIPをSDXLモデルに使うなど)。
対処法
MODELと同じチェックポイントのCLIPを接続する。
シードを固定しても毎回画像が変わる
原因
control_after_generateがrandomizeに設定されているか、SDEやancestralサンプラーを非決定的なバックエンドで使っている。
対処法
control_after_generateをfixedに設定し、正確な再現性のためにdpmpp_2mかeulerを使う。
プロンプトを変えても同じ画像が繰り返される(シードが固定されたまま)
原因
control_after_generateがfixedで、cfgやステップ数が低いためノイズが支配的。
対処法
randomizeかincrementに設定し、cfgを少し上げる。
KSampler に関する質問
KSamplerとKSampler (Advanced)の違いは?
Advancedはadd_noise、start_at_step、end_at_step、return_with_leftover_noiseを追加し、例えばSDXLベースからリファイナーへサンプリングを分割できる。
どのサンプラーが一番速い?
eulerとdpmpp_2mはステップごとにモデル呼び出しが1回。_2sや_3mはもっとかかる。LCMやLightningモデルはステップ数が少ないから速いのであって、サンプラー自体が速いわけではない。
空の潜在にdenoiseは何をする?
1.0未満だと元のノイズの一部が残って霧のようになる。テキストから画像の場合は1.0を保つ。
関連ノード
KSampler (Advanced)
ComfyUI core
KSampler (Advanced) はステップ範囲をコントロールできるKSamplerです。add_noise、start_at_step、end_at_step、return_with_leftover_noiseの設定ができて、ベース+リファイナーチェーンや2モデルのサンプリングに使います。
Empty Latent Image
ComfyUI core
Empty Latent Imageは、テキストから画像を生成するときのスタート地点となる空の潜在キャンバス(幅、高さ、バッチサイズ)を作ります。サイズは8の倍数で、モデルファミリーに合っている必要があります。
VAE Decode
ComfyUI core
VAE DecodeはサンプリングされたLATENTをVAEを使ってピクセルのIMAGEに変換します。VAE Decode (Tiled)はとても大きな画像をタイル単位で同じ処理をします。
CLIP Text Encode (Prompt)
ComfyUI core
CLIP Text EncodeはテキストプロンプトをモデルのテキストエンコーダーでCONDITIONINGに変換します。1つのノードがポジティブプロンプトを、もう1つがネガティブプロンプトを持ちます。
Upscale Latent and Upscale Latent By
ComfyUI core
Upscale Latentは潜在表現のサイズを新しいサイズ(または倍率)に変えて、2回目のKSamplerが高解像度でディテールを追加できるようにするもの。いわゆるクラシックな高解像度修正方法だよ。
その他の ComfyUI ノード
ComfyUI Manager
ComfyUI-Manager
ComfyUI Managerは、インターフェース内からカスタムノードパックやモデルのインストール、更新、修正を行い、インポートしたワークフローの不足ノードを解決し、設定のスナップショットを作成する拡張機能です。
Load Checkpoint
ComfyUI core
Load Checkpoint(CheckpointLoaderSimple)は、.safetensorsまたは.ckptのモデルファイルを開いて、ワークフローで必要な3つのパーツ、つまりdiffusion MODEL、CLIPテキストエンコーダー、VAEを出力します。
Save Image
ComfyUI core
Save ImageはIMAGEテンソルをPNGとしてComfyUI/outputに保存します。ファイルのメタデータにワークフロー全体が埋め込まれているので、その画像をComfyUIにドラッグするとグラフを復元できます。
Load Image
ComfyUI core
Load ImageはComfyUIの入力フォルダ(またはアップロード)から画像を読み込み、IMAGEテンソルとアルファチャンネルから作られたMASKを出力します。これはimg2img、インペインティング、ControlNet、IP-Adapterのグラフのスタート地点になります。
Load LoRA
ComfyUI core
Load LoRA(LoraLoader)は、LoRAファイルをMODELとCLIPに別々の強さで適用します。これにより、スタイルやキャラクター、コンセプトを任意のチェックポイントにマージせずに追加できます。
Load Diffusion Model
ComfyUI core
Load Diffusion Model (UNETLoader) は、Flux、SD3.5、Wan、HunyuanVideo などのシンプルなノイズ除去ネットワークを models/diffusion_models から読み込みます。weight_dtype オプションで fp8 を選べば VRAM を節約できます。
