ScarlotSoft KSampler Config
One config panel for your sampler and your detailer — ScarlotSoft KSampler Config
- STEPS
- REFINER_STEPS
- CFG
- SAMPLER
- SCHEDULER_KSAMPLER
- SCHEDULER_FACEDETAILER
Here's the annoyance this node kills: you tune a sampler - steps, cfg, sampler name, scheduler - and then your face-detailer stage has its own copy of the same four settings, and now you're editing them in two places and wondering which one you forgot. ScarlotSoft KSampler Config is a single routing panel: you set the values once, and it fans them out to wherever the graph needs them. It's a pure pass-through node - it computes nothing, it just carries your choices on six wires.
The inputs are steps, refiner_steps, cfg, sampler, ks_scheduler, and fd_scheduler. The sampler dropdown pulls the 44 sampler names straight from ComfyUI's own registry (KSampler.SAMPLERS), so it's always in sync with what a core KSampler actually accepts. Same for ks_scheduler, which mirrors the core 9. fd_scheduler is the interesting one: it's the same 9 plus a batch of extra scheduler names the author injects - AYS SDXL, AYS SD1, AYS SVD, GITS[coeff=1.2], LTXV[default], OSS FLUX, OSS Wan, OSS Chroma. Those aren't arbitrary text; they're scheduler names from the wider ComfyUI ecosystem (AYS schedulers, GITS, LTXV, Open-Sora-ish families) that the detailer path is meant to be able to use.
The outputs are named exactly for their destinations: STEPS, REFINER_STEPS, CFG, SAMPLER, SCHEDULER_KSAMPLER, and SCHEDULER_FACEDETAILER. The last three come out as wildcard (*) sockets, so they'll plug into a KSampler's converted-to-input fields, into the suite's AutoDetailer, or into anything else that takes those values. refiner_steps is there for the detailer pass - the suite's AutoDetailer samples its crops with its own steps, and this lets you budget the main pass and the detail pass separately from one panel.
The honest caveat: because it's a pure router, the wildcard outputs will happily connect to inputs that ignore the value, and nothing stops you from feeding fd_scheduler's GITS[coeff=1.2] into a place that doesn't understand it. The scheduler names beyond the core 9 are only as useful as your downstream sampler's registry - if your KSampler or detailer errors on an unknown scheduler string, fall back to one of the core 9 (karras is the default you probably want anyway). And yes, cfg's max is 100 here, which is overkill for anything modern; the realistic range is 4–10.
Install with the suite - ComfyUI Manager → search ScarlotSoft → install → restart:
cd ComfyUI/custom_nodes
git clone https://github.com/scarlotsoft/ComfyUI_ScarlotSoft
No dependencies, no models. Suite theme; hard-refresh after a UI-mode switch.
Verdict: it's the kind of node that looks pointless until you have two samplers in one graph, at which point "edit once, feed both" is exactly the plumbing you wanted. If you only run a single KSampler, skip it and set values in place. If your workflows include a detail pass, this is the one config node that keeps your settings from drifting apart.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| steps | INT | 201–10000 | — |
| refiner_steps | INT | 50–10000 | — |
| cfg | FLOAT | 8.00–100 | — |
| sampler | COMBO | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 | |
| ks_scheduler | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 | |
| fd_scheduler | COMBO | 17 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +11 |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| STEPS | INT | — |
| REFINER_STEPS | INT | — |
| CFG | FLOAT | — |
| SAMPLER | * | — |
| SCHEDULER_KSAMPLER | * | — |
| SCHEDULER_FACEDETAILER | * | — |