SdxlSamplerParams (Gayrat)
The sampler/steps sweeper for SDXL and SD 1.5
- model
- positive
- negative
- latent_image
- loras
- latent
- params
Ever asked "what's the minimum step count for my SDXL checkpoint, and which sampler gets me there?" That's the question this node exists to answer. It's a KSampler replacement that runs every combination you give it: multiple seeds, samplers, schedulers, step counts, guidance values and denoise strengths, all in one queue, and hands you the batched results plus a structured list of exactly what each one used.
It's the SDXL/SD 1.5 twin of the pack's Flux Sampler Params (the README positions the whole family as "a set of nodes for testing generation parameters"), and the typical workflow is: wire it up, tell it to try a handful of samplers at a few step counts, run it, and look at the contact sheet to see where quality plateaus. The same pack's 🔧 Plot Sampler Parameters node draws the settings onto each result image so the sheet labels itself.
The inputs that matter
- model, positive, negative, latent_image - exactly like a KSampler. It wraps the stock
KSamplernode internally. - seed - a multiline string. Comma-separated list of seeds; a
?means "random seed here, locked for that generation." Default is123, ?, 456. - sampler - comma-separated sampler names.
*means all samplers ComfyUI knows; a!prefix excludes (e.g.!ddim, !uni_pc). - scheduler - comma-separated list (default
simple). - steps, guidance, denoise - each a comma-separated list, and they support ranges:
steps: 10...30+5expands to 10, 15, 20, 25, 30. - loras (optional) - a
LORA_PARAMSbundle if you want to sweep LoRA strengths too.
Outputs: latent - a batched latent of every combination, in run order (decode it with a VAE and save as a grid to read the results), and params - a SAMPLER_PARAMS list where each entry carries seed, sampler, scheduler, steps, guidance, denoise, time and the LoRA used. That's the input to the Plot node.
The honest warning: this multiplies fast
The total is a product - seeds × samplers × schedulers × steps × guidance × denoise × LoRAs. * on samplers is ~20 entries; three seeds, all samplers, three step counts and you're already at 180 generations. The node shows a progress bar with the total, so you will see it coming - that's the moment to prune. Realistic first sweeps: one seed, two or three samplers, steps like 10...30+10. Also note the latent output is one big batch: if you want it to render as individual images, your Save Image/plot path needs to handle a batch (ComfyUI's Save Image does).
A couple of quirks from reading the source: ? only means random in the seed field - if a ? appears anywhere else it's parsed as a number and silently becomes 0. And numeric parsing is forgiving but not clever: garbage in a numeric list becomes 0, which for denoise: 0 is a no-op generation, not an error. Feed it clean lists and it behaves.
Install
ComfyUI Manager: search ComfyUI_Gayrat. By hand:
cd ComfyUI/custom_nodes
git clone https://github.com/gayratv/ComfyUI_Gayrat
cd ComfyUI_Gayrat
pip install -r requirements.txt
Restart ComfyUI; find it under Gayrat/sampling. It uses only stock ComfyUI internals (KSampler, LatentBatch, the sampler registry) - no extra dependencies beyond the pack's requirements. Small personal pack, no community footprint, but for "which sampler/steps should I use" questions this node genuinely saves you the manual grind of running the same seed across five samplers by hand.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| latent_image | LATENT | — | |
| seed | STRING | 123, ?, 456 # Список сидов через запятую. '?' - случайный. | — |
| sampler | STRING | euler | — |
| scheduler | STRING | simple | — |
| steps | STRING | 20 | — |
| guidance | STRING | 7.0 | — |
| denoise | STRING | 1.0 | — |
| lorasopt | LORA_PARAMS | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| latent | LATENT | — |
| params | SAMPLER_PARAMS | — |