Noden KSampler i ComfyUI
KSampler kör avbrusningsloopen: den tar modellen, prompts och en latent och skapar den färdiga latenta bilden, styrd av seed, steg, cfg, sampler, scheduler och denoise.
Vad KSampler gör
KSampler är där bilden faktiskt skapas. Den börjar från den inmatade latenta (slumpmässigt brus från Empty Latent Image, eller en kodad bild för img2img), och ber modellen ta bort brus under det valda antalet steg, drar mot den positiva prompten och bort från den negativa med cfg-mängden. Resultatet är en LATENT som VAE Decode gör om till en bild.
sampler_name väljer den numeriska metoden (euler, euler_ancestral, dpmpp_2m, dpmpp_2m_sde, dpmpp_3m_sde, uni_pc, lcm, ...) och scheduler styr bruskurvan (normal, karras, exponential, sgm_uniform, simple, beta). denoise bestämmer hur mycket av den inmatade latenta som byts ut: 1.0 för text-till-bild, 0.3-0.7 för img2img och hires-pass. KSampler (Advanced) visar start- och slutsteg för flerstegs-sampling.
Ingångar
Namn | Typ | Vad det är |
|---|---|---|
model | MODEL | Avbrusningsmodellen, efter eventuella LoRA- eller ControlNet-patchar. |
positive | CONDITIONING | Det du vill ha (från CLIP Text Encode, eventuellt via ControlNet Apply). |
negative | CONDITIONING | Det du inte vill ha. |
latent_image | LATENT | Startlatenten: tomt brus eller en kodad bild. |
seed | INT | Brusets seed. Samma seed och inställningar ger samma bild. control_after_generate kan sättas till fixed, increment, decrement eller randomize. |
steps | INT | Antal avbrusningssteg. 20-30 för de flesta SD-modeller, 4-8 för Lightning, Turbo och LCM-modeller. |
cfg | FLOAT | Classifier-free guidance-skala. 5-8 för SD 1.5 och SDXL, 1.0 för Flux och destillerade modeller. |
sampler_name | COMBO | Samplingalgoritmen. |
scheduler | COMBO | Brusschemat. |
denoise | FLOAT | Andel av bruset som tas bort. 1.0 = börja från början; lägre värde behåller mer av inmatningsbilden. |
Utgångar
Namn | Typ | Vad det är |
|---|---|---|
LATENT | LATENT | Den samplade latenta för VAE Decode eller en andra sampler. |
Så använder du KSampler
- Koppla in MODEL, båda CONDITIONING och en LATENT.
- Sätt steg till 25, cfg till 7, dpmpp_2m med karras för SDXL; euler med simple, cfg 1 för Flux.
- Sätt denoise till 1.0 för en helt ny bild.
- Koppla LATENT till VAE Decode och sedan Save Image.
- Köa och lås sedan seed när du vill jobba vidare på prompten.
Inställningar och tips
- dpmpp_2m + karras är det allsidiga valet; euler_ancestral ger variation men konvergerar aldrig; dpmpp_2m_sde ger extra detalj på bekostnad av determinism mellan GPU:er.
- Lightning, Hyper och Turbo checkpoints behöver egna inställningar: 4-8 steg, cfg 1-2, sgm_uniform eller simple.
- För ett hires-pass, mata första latenten genom Upscale Latent By och en andra KSampler med denoise 0.4-0.55.
- Håll Ctrl+Shift+V för att klistra in en nod med dess kopplingar; bra när du duplicerar samplers.
- Ett fast seed med samma inställningar går att reproducera på samma GPU; olika kort kan ge små skillnader.
Felsökning av KSampler
Brus, statiskt eller en suddig klump istället för en bild
Varför det händer
Inställningarna passar inte modellen: cfg 7 på en destillerad modell, 4 steg på en vanlig modell, en Flux-modell utan Flux Guidance, eller denoise långt under 1 på en tom latent.
Så löser du det
Följ modellens sida: vanlig SD = 20-30 steg, cfg 5-8; Lightning/Turbo = 4-8 steg, cfg 1-2; Flux = cfg 1, guidance 3.5, 20+ steg. Använd denoise 1.0 när latenten är tom.
Överexponerat, övermättat, högkontrastigt resultat
Varför det händer
cfg är för högt för modellen eller LoRA-stacken, eller en ancestral sampler med många steg.
Så löser du det
Sänk cfg till 4-6, minska LoRA-styrkor, eller byt från euler_ancestral till dpmpp_2m.
torch.OutOfMemoryError: CUDA out of memory during sampling
Varför det händer
Latenten är för stor för kortet vid denna batchstorlek, eller en annan modell (ControlNet, upscaler) ligger i VRAM samtidigt.
Så löser du det
Sänk upplösning eller batch_size, lägg till --lowvram, använd fp8-vikter, eller dela upp hires-passet i en andra kö så att första modellen avlastas.
Fel: mat1 och mat2 shapes kan inte multipliceras
Varför det händer
Conditioningen kommer från en textkodare av en annan familj än modellen (SD 1.5 CLIP in i en SDXL-modell, eller tvärtom).
Så löser du det
Koppla CLIP från samma checkpoint som levererar MODEL.
Bilder ändras varje gång trots att seed är fast
Varför det händer
control_after_generate är satt till randomize, eller en SDE / ancestral sampler används med en icke-deterministisk backend.
Så löser du det
Sätt control_after_generate till fixed och välj dpmpp_2m eller euler för exakt upprepning.
Samma bild upprepas över prompts (seed fastnar)
Varför det händer
control_after_generate är fixed och bruset dominerar vid låg cfg eller få steg.
Så löser du det
Sätt den till randomize eller increment och höj cfg lite.
Frågor om KSampler
Vad är skillnaden mellan KSampler och KSampler (Advanced)?
Advanced lägger till add_noise, start_at_step, end_at_step och return_with_leftover_noise, vilket låter dig dela upp sampling mellan två modeller, till exempel SDXL base och sedan refiner.
Vilken sampler är snabbast?
euler och dpmpp_2m gör ett modellanrop per steg; _2s och _3m varianterna tar fler. LCM och Lightning-modeller är snabba eftersom de behöver få steg, inte på grund av samplern.
Vad gör denoise med en tom latent?
Allt under 1.0 lämnar kvar en del av det ursprungliga bruset i output och ger dimma. Behåll 1.0 för text-till-bild.
Relaterade noder
KSampler (Advanced)
ComfyUI core
KSampler (Advanced) är KSampler med kontroll över stegintervall: add_noise, start_at_step, end_at_step och return_with_leftover_noise, används för bas + förfinare-kedjor och två-modells sampling.
Empty Latent Image
ComfyUI core
Empty Latent Image skapar den tomma latenta ytan (bredd, höjd, batch_size) som text-till-bild-sampling börjar från; dimensionerna måste vara multiplar av 8 och matcha modelfamiljen.
VAE Decode
ComfyUI core
VAE Decode omvandlar den samplade LATENT till en pixel-BILD med VAE; VAE Decode (Tiled) gör samma sak i kakel för väldigt stora bilder.
CLIP Text Encode (Prompt)
ComfyUI core
CLIP Text Encode omvandlar en textprompt till CONDITIONING med hjälp av modellens textkodare. En nod håller den positiva prompten, en annan den negativa prompten.
Upscale Latent and Upscale Latent By
ComfyUI core
Upscale Latent ändrar storleken på en latent till en ny storlek (eller med en faktor) så att en andra KSampler kan lägga till detaljer i högre upplösning: den klassiska hires-fixen.
Fler ComfyUI-noder
ComfyUI Manager
ComfyUI-Manager
ComfyUI Manager är tillägget som installerar, uppdaterar och fixar anpassade nodpaket och modeller direkt i gränssnittet, löser saknade noder i importerade arbetsflöden och sparar en ögonblicksbild av din setup.
Load Checkpoint
ComfyUI core
Load Checkpoint (CheckpointLoaderSimple) öppnar en .safetensors- eller .ckpt-modellfil och delar upp den i de tre delar som varje arbetsflöde behöver: diffusionens MODEL, CLIP textkodare och VAE.
Save Image
ComfyUI core
Save Image sparar IMAGE-tensorn som en PNG i ComfyUI/output, med hela arbetsflödet inbäddat i filens metadata så att bilden kan dras tillbaka till ComfyUI för att återställa grafen.
Load Image
ComfyUI core
Load Image läser in en bild från ComfyUI:s input-mapp (eller en uppladdning) och ger ut en IMAGE-tensor plus en MASK som tas från alfakanalen, startpunkten för img2img, inpainting, ControlNet och IP-Adapter-flöden.
Load LoRA
ComfyUI core
Load LoRA (LoraLoader) applicerar en LoRA-fil på MODEL och CLIP med separata styrkor, så att en stil, karaktär eller koncept kan läggas till vilken checkpoint som helst utan att slå ihop dem.
Load Diffusion Model
ComfyUI core
Load Diffusion Model (UNETLoader) laddar ett rent brusreduceringsnätverk som Flux, SD3.5, Wan eller HunyuanVideo från models/diffusion_models, med ett vikt_dtype-alternativ för fp8 för att spara VRAM.
