KSampler Info
One node to stop your sampler settings and your metadata from lying to each other
- advanced_info
- sampler_info
If you've ever posted an image, then tried to reproduce it and realized you don't actually remember what scheduler you used - welcome to why this node exists. "KSampler Info" collects the sampling settings in one place and hands them to two destinations at once: your sampler and your metadata. ComfyUI has made "workflow included" the community norm, where the graph itself is embedded in the PNG, but that only helps if the values you ran with are the values your metadata claims. Sage Utils is built around that idea, and this is the node that feeds it.
How it works
You set five things here: seed, steps, cfg, sampler_name, and scheduler. The node bundles them into a single SAMPLER_INFO object and passes that one object along. There's also an optional advanced_info input (an ADV_SAMPLER_INFO type, from the pack's own advanced-sampler nodes) that merges into the bundle if you hook it up.
The trick is where the bundle goes. Sage Utils ships its own sampler nodes - "KSampler w/ Sampler Info", plus tiled-decoder and audio-decoder variants - and those are the ones that accept sampler_info. So your wiring is: Sampler Info → KSampler w/ Sampler Info for the actual generation, and Sampler Info → Construct Metadata so the same values end up embedded in the image. Because the sampler reads its config from the same bundle the metadata reads, they can't drift apart. That's the whole point, and it's a real quality-of-life win if you're the kind of person who tunes a workflow and then loses the settings.
What to actually set
For a beginner, the defaults are sane: 20 steps, CFG 5.5, dpmpp_2m with the beta scheduler. Change seed to vary results, and only touch sampler/scheduler if you know why you're changing them. Everything here matches the fields on a stock KSampler, just broken off into their own node.
Installing it
It's part of the Sage Utils pack. ComfyUI Manager - search Sage Utils - or:
cd ComfyUI/custom_nodes
git clone https://github.com/arcum42/ComfyUI_SageUtils
cd ComfyUI_SageUtils
pip install -r requirements.txt
Restart ComfyUI. The only pip dependency is dynamicprompts, and there are no model downloads. (The pack's LLM chat tab and Prompt Builder are extra UI features you can ignore entirely for this.)
Where people get confused
The one trap: a stock ComfyUI KSampler does not accept sampler_info. If you route the bundle into a vanilla KSampler you'll get a type mismatch and nothing will run. Use the Sage "KSampler w/ Sampler Info" node (or its tiled/audio siblings) - that's what the output type is designed for. You can feed one Sampler Info into more than one KSampler, which is handy for multi-pass or face-fix workflows, since both samplers then share the same config and metadata stays consistent.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| seed | INT | 00–18446744073709550000 | Random seed for sampling. |
| steps | INT | 201–10000 | Number of sampling steps. |
| cfg | FLOAT | 5.50–100 | CFG scale for the sampler. |
| sampler_name | COMBO | dpmpp_2m | Sampler algorithm to use. |
| scheduler | COMBO | beta | Scheduler algorithm to use. |
| advanced_infoopt | ADV_SAMPLER_INFO | Optional advanced sampler settings. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| sampler_info | SAMPLER_INFO | The collected sampler configuration. |