Shima Sampler Commons
The Shima Sampler Commons presets
- shima.commonparams
- shima.samplercommons
- steps
- cfg
- sampler_name
- scheduler
- denoise
Every time you switch from SDXL to Flux to Pony, the sampler settings that were perfect for the last model are wrong for the next one - Flux wants CFG ~1, SDXL wants ~7, Pony wants ancestral sampling, and so on. The Shima Sampler Commons encodes those "industry-standard" starting points in a table keyed by model type, then broadcasts them as a bundle any Shima Sampler can consume. Flip your model, and the sampler settings follow.
It's the sampler-side companion to the pack's Shima.Commons node (which tracks model type and seed globally). Sampler Commons watches the model type flowing through Commons, and when it changes, the frontend fills the steps/cfg/sampler/scheduler/denoise widgets with the preset for that model family. You stay in control - the node explicitly respects your tweaks - but you stop re-deriving sensible starting points from memory every time.
How it works
The presets live in a Python dict in nodes/sampler_commons.py. A few worth knowing:
| Model | Steps | CFG | Sampler | Scheduler | |-------|-------|-----|---------|-----------| | sd1.5 / sdxl | 20 | 7.0 | euler | normal | | pony / illustrious | 25 | 7.0 | euler_ancestral | normal | | sd3 | 28 | 4.0 | euler | sgm_uniform | | flux / chroma | 20 | 1.0 | euler | simple | | z-image-turbo | 8 | 1.0 | euler | simple |
When use_commonparams is on and a shima.commonparams bundle is connected, the model type is read from the bundle and the widget values sync to the preset via the frontend. Outputs are the bundle plus the five individual values (steps, cfg, sampler_name, scheduler, denoise), so plain nodes can consume them too.
The inputs that matter
steps,cfg,sampler_name,scheduler,denoise- the settings themselves. Tweak them freely; the JS only overwrites when the model type changes, and your edits survive.shima.commonparams+use_commonparams- the model-type source. No Commons bundle, no auto-presets (the node just outputs whatever the widgets hold).show_used_values- debug view of what's actually being used.
The outputs
shima.samplercommons- the DICT bundle for a Shima Sampler'suse_samplercommonsinput (overrides its steps/cfg/sampler/scheduler/denoise).steps,cfg,sampler_name,scheduler,denoise- individual outputs for non-Shima nodes.
Where it fits
The pattern to aim for: one Shima.Commons defines the model, one Sampler Commons reads it and broadcasts settings, and every Shima Sampler in the workflow consumes the bundle with use_samplercommons on. Swap the checkpoint and every sampler re-tunes together - that's the whole point. If you only ever run one model, this node is extra machinery you don't need; set your KSampler once and move on.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/KDB-USJP/shima_wf.git Shima
pip install -r requirements.txt
Restart, then Shima/Sampling → Shima Sampler Commons. ComfyUI Manager: search "Shima". First boot auto-installs ComfyUI-Impact-Pack and cg-use-everywhere if missing (Use Everywhere is the island auto-linking backbone) - expected.
Common issues
The usual confusion is expecting the presets to be applied when they're actually suggested. The node always outputs the widget values; the preset fills the widgets. If you connect Commons but the sampler keeps old settings, check that (a) use_commonparams is on, (b) the Commons bundle actually carries a model_type, and (c) you wired the bundle output into the sampler's use_samplercommons path - not just the sampler's regular inputs. And treat the table as starting points, not gospel: your favorite Pony settings will beat the generic Pony row, and the node will happily carry them. This is a young pack with little community discussion, so if a preset looks wrong, it's a 14-row dict you can read and adjust in one sitting.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| steps | INT | 201–10000 | Number of sampling steps |
| cfg | FLOAT | 7.00–100 | Classifier-Free Guidance scale |
| sampler_name | COMBO | Sampling algorithm | |
| scheduler | COMBO | Noise scheduler | |
| denoise | FLOAT | 1.000–1 | Denoise strength (1.0 for txt2img) |
| shima.commonparamsopt | DICT | Configuration bundle from Shima.Commons (provides model_type for auto-presets) | |
| use_commonparamsopt | BOOLEAN | true | If True, auto-fill sampler settings from model_type presets |
| allow_external_linkingopt | BOOLEAN | false | If ON, this node broadcasts/receives OUTSIDE the Island (ignores group regex) |
| show_used_valuesopt | BOOLEAN | false | Show actual values being used (debug) |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| shima.samplercommons | DICT | Sampler settings bundle for Shima.Sampler |
| steps | INT | Number of sampling steps |
| cfg | FLOAT | CFG scale |
| sampler_name | STRING | Sampler algorithm name |
| scheduler | STRING | Scheduler name |
| denoise | FLOAT | Denoise strength |