⌛️ KSampler
KSampler (SDVN)
- model
- positive
- negative
- latent_image
- vae
- LATENT
- IMAGE
This is the pack's smarter KSampler, and its headline is that it stops making you memorize the right settings for every model family. Feed it a model and pick what kind it is, and it auto-adjusts the CFG, sampler, scheduler, and step count to match - so you're not re-learning "good Flux settings" versus "good SDXL Lightning settings" every time you switch bases. On top of that it makes the negative and latent inputs optional, folds in tiled sampling for big images, and can VAE-decode straight to an image. It's the stock KSampler with the annoying parts smoothed off.
The two smart dropdowns are the reason to use it. ModelType is a menu of families - Auto, SD 1.5, SDXL, Flux, Flux2, the various Hyper/Lightning distilled variants, HiDream, and more - and picking one sets sane CFG, sampler, and scheduler for that family automatically. StepsType does the same for step count, with entries like Lightning 8steps, Hyper 4steps, Flux schnell, QwenImage, and Z-Image-turbo, so a distilled model that only needs a handful of steps gets a handful of steps instead of a wasteful 20. That step logic also scales by denoise (the pack's Steps × Denoise rule), so a light img2img pass doesn't burn full steps. You can still override any of it by hand - steps, cfg, sampler_name, scheduler, and seed are all right there - but the defaults come from the model type, which is the whole convenience.
Two structural conveniences matter beyond the auto-config. The negative input is optional: leave it off and it substitutes an empty conditioning, which is genuinely the correct way to run Flux - Flux (and distilled models at CFG 1) ignore the negative by design, so not wiring one matches how the model actually behaves. The latent_image is optional too: leave it off and the node creates an empty latent sized from tile_width and tile_height, so you don't need a separate Empty Latent node for a plain text-to-image run. Add a vae and it decodes for you - the outputs are both LATENT and IMAGE, so you can skip the separate VAE Decode. Tiled turns on tiled sampling (via TiledDiffusion) to cut VRAM on large images, and FluxGuidance exposes Flux's guidance value for when you're on Flux.
So the inputs a beginner actually sets: model, positive, ModelType (or leave it Auto), and often nothing else - the sampler figures out the rest. That's the pitch, and for hopping between model families it's a real time-saver. The community's standing complaint about ComfyUI is that it has no beginner-friendly defaults and every model wants different settings you're expected to just know; a sampler that carries those defaults per family is a sane answer to that.
Two honest notes. First, expectation-setting: SDVN is a Vietnamese-community pack with almost no English-language discussion footprint, so you won't find a pile of Reddit threads vetting this node - judge it by dropping it in. Second, the auto-config is only as current as the pack's model list; a brand-new architecture the ModelType menu doesn't know about yet is one you'll set by hand, which is fine, that's just the normal KSampler underneath.
Install comes with the pack. ComfyUI Manager, search SDVN_Comfy_node; or cd ComfyUI/custom_nodes && git clone https://github.com/StableDiffusionVN/SDVN_Comfy_node, then pip install -r custom_nodes/SDVN_Comfy_node/requirements.txt from your ComfyUI root and restart. For the Tiled option to work you'll want TiledDiffusion installed, as the README notes.
Troubleshooting. If output is blown out or washed, your ModelType and the actual model probably disagree - a Flux model run with SDXL's CFG will look wrong, so match the type or use Auto. A distilled model that comes out noisy is usually too few steps for a non-distilled base or vice versa; align StepsType with what you loaded. If you left negative off on SD 1.5 and results got worse, that's expected - SD 1.5 uses its negative, so wire one there; it's Flux where you leave it empty. And a missing vae just means you get a latent out and no image - add the VAE or a separate decode.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | Mô hình dùng để khử nhiễu latent đầu vào. | |
| positive | CONDITIONING | Điều kiện mô tả các thuộc tính bạn muốn có trong ảnh. | |
| ModelType | COMBO | 18 options: None, Auto, SD 1.5, SDXL, Flux, Flux2, +12 | |
| StepsType | COMBO | 11 options: None, Denoise, Lightning 8steps, Hyper 8steps, Lightning 4steps, Hyper 4steps, +5 | |
| denoise | FLOAT | 1.000–1 | Mức độ khử nhiễu, giá trị thấp giữ lại cấu trúc ảnh gốc (dùng cho image2image). |
| steps | INT | 201–10000 | Số bước khử nhiễu. |
| cfg | FLOAT | 8.00–100 | Tham số CFG cân bằng giữa sáng tạo và độ bám sát prompt. Giá trị cao sẽ bám prompt hơn nhưng quá cao có thể giảm chất lượng ảnh. |
| sampler_name | COMBO | Thuật toán lấy mẫu, ảnh hưởng tới chất lượng, tốc độ và phong cách ảnh sinh ra. | |
| scheduler | COMBO | Bộ lập lịch kiểm soát cách loại bỏ nhiễu để tạo ảnh. | |
| seed | INT | 00–18446744073709550000 | Seed ngẫu nhiên tạo nhiễu. |
| Tiled | BOOLEAN | false | Bật chế độ sinh ảnh lát ghép (tiled diffusion). |
| negativeopt | CONDITIONING | Điều kiện mô tả thuộc tính bạn muốn loại trừ khỏi ảnh. | |
| latent_imageopt | LATENT | Latent image cần khử nhiễu. | |
| vaeopt | VAE | Mô hình VAE dùng để giải mã latent thành ảnh. | |
| tile_widthopt | INT | 1024512–4096 | Chiều rộng tile khi dùng chế độ tiled diffusion. |
| tile_heightopt | INT | 1024512–4096 | Chiều cao tile khi dùng chế độ tiled diffusion. |
| FluxGuidanceopt | FLOAT | 3.50–100 | Tham số điều chỉnh FluxGuidance (nếu dùng model Flux). |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | Latent đã được khử nhiễu. |
| IMAGE | IMAGE | — |