Stack_Ksampler_refine
One-Node Hires Fix, and the Only Node Here That Outputs a Picture
- resample
- over_image
- lowCpu
- image
Every other Stack node in this pack hands its output to something else downstream. Stack_Ksampler_refine is the exception - it's flagged as an output node in its own schema, meaning it's meant to end a branch of your graph, upscale, run a second low-denoise sampling pass for detail, and show or save the result, all in one node. This is the node behind the README's own claim that "secondary sampling repair and refine enlargement can be achieved in one step."
Inputs
- resample (required, type
RESAMPLE) - a bundle from an earlier sampling stage elsewhere in the pack. This node isn't the entry point of your graph; it continues from a prior sample, so you need whatever upstream Apt_Preset node produces aRESAMPLEobject feeding in here first. - upscale_model (required, dropdown populated from your
models/upscale_modelsfolder - the schema's own sample default is1xDeJPG_OmniSR.pth). Worth knowing: that's a 1x de-artifacting/restoration model, not a 4x super-resolution model - it cleans up compression and blur at the same resolution rather than adding pixels. If you actually want more pixels out of this node, you need a 4x-class model (something like 4x-UltraSharp) here, not left on a 1x restoration default, since the resolution increase comes frompixls_scaleworking together with whatever model you pick. - upscale_method (
nearest-exact/bilinear/area/bicubic/lanczos, defaultbilinear) - the interpolation used alongside the model. - pixls_scale (FLOAT, 1ā16, default 2) - the resolution multiplier (yes, "pixls" is how the field is actually spelled in the schema).
- seed (default 0) - this refine pass's own seed, independent of whatever seed drove the original
resample. Reusing the exact same seed across both passes is a common way to get a result that looks like nothing changed - give this its own value. - denoise (0ā1, default 0.3) - how much the refine pass is allowed to change the upscaled image. 0.3 sits in the "moderate change, detail fix" range rather than a compositional rewrite - appropriate for a refine pass, since you generally want the upscale to add detail without reinterpreting the image.
- image_output (
Hide/Preview/Save/Hide/Save, defaultPreview) - since this is an output node, this dropdown decides whether and how the result actually gets shown or written to disk, the same convention several other "all-in-one" sampler nodes in the wider ComfyUI ecosystem use.
Optional: over_image (swap in a different source image for this refine pass instead of whatever resample carried - handy if you've manually touched something up and want to refine that version instead) and lowCpu (wires in a VAEDecodeTiled-shaped input, routing the decode through tiled VAE for lower-VRAM machines instead of a full-frame decode).
Output: image (IMAGE).
Setting it up
If your goal is genuinely more pixels, don't leave upscale_model on a 1x restoration model and expect a size increase from that alone - pair it with pixls_scale set to your target multiplier, or swap to a proper 4x upscale model. Keep denoise low (0.2ā0.4) unless you specifically want the refine pass to meaningfully reinterpret content rather than just add detail - that tracks with the wider community's own guidance that 0.3ā0.6 is the "moderate change" band and anything above 0.7 starts approaching a full regeneration. If you're on a lower-VRAM box and the graph OOMs at this stage, wire something into lowCpu before reaching for a smaller pixls_scale.
Install
ComfyUI Manager: search "ComfyUI-Apt_Preset," install, restart. Manually: cd ComfyUI/custom_nodes && git clone https://github.com/cardenluo/ComfyUI-Apt_Preset.git, then restart ComfyUI. The install.bat dependency installer is Windows-only - on Linux or a cloud box, check what packages it lists and pip-install them yourself, or let ComfyUI Manager's "install missing nodes" flow handle it. You'll also need whatever upscale model you pick actually downloaded into models/upscale_models - the pack ships the node, not the weights.
Troubleshooting
Nothing showing up in your output panel is usually image_output left on Hide rather than Preview or Save - check that first before assuming the sample failed.
If the result looks identical to the input, check denoise isn't accidentally at or near 0, and that seed isn't matching your original sample's seed exactly.
This pack has real, reported import failures - a comfyui subreddit thread shows (IMPORT FAILED): ...ComfyUI-Apt_Preset. ComfyUI Manager's "install missing custom nodes" fixed it there, as did manually re-cloning the repo and restarting.
Gap worth flagging: the exact contents of the RESAMPLE type this node consumes - and which upstream Apt_Preset node produces it - isn't covered by any of the 20 node briefs on comfy.icu today.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| resample | RESAMPLE | ā | |
| upscale_model | COMBO | 1xDeJPG_OmniSR.pth | 1 options: None |
| upscale_method | COMBO | bilinear | 5 options: nearest-exact, bilinear, area, bicubic, lanczos |
| pixls_scale | FLOAT | 2.01ā16 | ā |
| seed | INT | 00ā18446744073709550000 | ā |
| denoise | FLOAT | 0.300ā1 | ā |
| image_output | COMBO | Preview | 4 options: Hide, Preview, Save, Hide/Save |
| over_imageopt | IMAGE | ā | |
| lowCpuopt | VAEDecodeTiled | ā |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | ā |