ComfyUI 中的 KSampler 節點
KSampler 執行去噪循環:它接收模型、提示詞和潛在向量,並產生完成的潛在圖像,透過種子、步數、cfg、採樣器、排程器和去噪程度來控制。
KSampler 的作用
KSampler 是實際生成圖像的地方。從輸入的潛在向量開始(來自空潛在圖像的隨機噪聲,或 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 文字編碼,可能經過 ControlNet Apply)。 |
negative | CONDITIONING | 你不想要的東西。 |
latent_image | LATENT | 起始潛在向量:空白噪聲或編碼過的圖像。 |
seed | INT | 噪聲種子。相同種子和設定會產生相同圖像。control_after_generate 可設定固定、遞增、遞減或隨機。 |
steps | INT | 去噪步數。大多數 SD 模型用 20-30,Lightning、Turbo 和 LCM 模型用 4-8。 |
cfg | FLOAT | 無分類器引導比例。SD 1.5 和 SDXL 用 5-8,Flux 和蒸餾模型用 1.0。 |
sampler_name | COMBO | 採樣演算法。 |
scheduler | COMBO | 噪聲排程。 |
denoise | FLOAT | 去除噪聲的比例。1.0 = 從頭開始;數值越低保留越多輸入圖像。 |
輸出
名稱 | 類型 | 含義 |
|---|---|---|
LATENT | LATENT | 供 VAE Decode 或第二個採樣器使用的採樣潛在向量。 |
如何使用 KSampler
- 連接 MODEL、兩個 CONDITIONING 和一個 LATENT。
- SDXL 設定步數 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 放大潛在向量,再用第二個 KSampler,denoise 設 0.4-0.55。
- 按住 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,指導 3.5,20 步以上。空潛在向量用 denoise 1.0。
輸出過曝、飽和或對比過強
原因
cfg 對模型或 LoRA 堆疊太高,或用 ancestral 採樣器且步數多。
修復方法
把 cfg 降到 4-6,降低 LoRA 強度,或從 euler_ancestral 換成 dpmpp_2m。
torch.OutOfMemoryError:採樣時 CUDA 記憶體不足
原因
潛在向量對顯卡來說太大,或同時有其他模型(ControlNet、放大器)佔用 VRAM。
修復方法
降低解析度或批次大小,加 --lowvram,使用 fp8 權重,或把高解析度處理分成第二個排隊,讓第一個模型先釋放。
錯誤:mat1 和 mat2 形狀無法相乘
原因
條件向量來自和模型不同系列的文字編碼器(SD 1.5 CLIP 用在 SDXL,或反過來)。
修復方法
連接和 MODEL 同一檢查點的 CLIP。
種子固定但每次生成圖像都不同
原因
control_after_generate 設為隨機,或用 SDE / ancestral 採樣器搭配非確定性後端。
修復方法
把 control_after_generate 設為固定,並優先用 dpmpp_2m 或 euler 以確保可重複。
不同提示詞卻一直重複同一張圖(種子卡住)
原因
control_after_generate 是固定,但在低 cfg 或低步數時噪聲占主導。
修復方法
改成隨機或遞增,並稍微提高 cfg。
關於 KSampler 的問題
KSampler 和 KSampler (Advanced) 有什麼差別?
Advanced 多了 add_noise、start_at_step、end_at_step 和 return_with_leftover_noise,可以分兩階段採樣,比如先用 SDXL base 再用精煉器。
哪個採樣器最快?
euler 和 dpmpp_2m 每步只呼叫一次模型;_2s 和 _3m 版本會多呼叫。LCM 和 Lightning 模型快是因為步數少,不是採樣器本身快。
denoise 對空潛在向量有什麼作用?
低於 1.0 會保留部分原始噪聲,產生霧狀效果。文字轉圖像要保持 1.0。
相關節點
KSampler (Advanced)
ComfyUI core
KSampler (進階) 是帶有步驟範圍控制的 KSampler:add_noise、start_at_step、end_at_step 和 return_with_leftover_noise,主要用於基礎 + 精煉鏈和雙模型取樣。
Empty Latent Image
ComfyUI core
Empty Latent Image 會建立空白的潛在畫布(寬度、高度、批次大小),這是文字轉圖片取樣的起點;尺寸必須是 8 的倍數,且要符合模型家族。
VAE Decode
ComfyUI core
VAE Decode 用 VAE 把取樣後的 LATENT 轉成像素 IMAGE;VAE Decode (Tiled) 則是用分塊方式處理超大張圖片。
CLIP Text Encode (Prompt)
ComfyUI core
CLIP Text Encode 會用模型的文字編碼器把文字提示轉成 CONDITIONING。有兩個節點,一個放正面提示,另一個放負面提示。
Upscale Latent and Upscale Latent By
ComfyUI core
Upscale Latent 會把 latent 調整到新的大小(或放大倍數),讓第二次的 KSampler 可以在更高解析度下加細節:這是經典的高解析度修正方法。
更多 ComfyUI 節點
ComfyUI Manager
ComfyUI-Manager
ComfyUI Manager 是一個擴充功能,可以在介面內安裝、更新和修復自訂節點包和模型,解決匯入工作流程中缺少的節點問題,並且備份你的設定。
Load Checkpoint
ComfyUI core
Load Checkpoint (CheckpointLoaderSimple) 會打開 .safetensors 或 .ckpt 模型檔案,並提供每個工作流程都需要的三個部分:diffusion MODEL、CLIP 文字編碼器和 VAE。
Save Image
ComfyUI core
Save Image 會把 IMAGE 張量存成 PNG 檔到 ComfyUI/output,並且把整個工作流程嵌入檔案的元資料裡,這樣圖片就能直接拖回 ComfyUI,還原整個圖形。
Load Image
ComfyUI core
Load Image 從 ComfyUI 的輸入資料夾(或上傳)讀取圖片,並輸出一個 IMAGE 張量和從 alpha 通道取得的 MASK,這是 img2img、修補、ControlNet 和 IP-Adapter 圖表的起點。
Load LoRA
ComfyUI core
Load LoRA (LoraLoader) 會將 LoRA 檔案套用到 MODEL 和 CLIP,並且可以分別調整強度,這樣你就能在任何檢查點加入風格、角色或概念,而不需要合併模型。
Load Diffusion Model
ComfyUI core
Load Diffusion Model (UNETLoader) 會從 models/diffusion_models 載入像 Flux、SD3.5、Wan 或 HunyuanVideo 這類的純去噪網路,並有 weight_dtype 選項可用 fp8 來節省 VRAM。
