AC_Super_UpKSampler
The hires-fix second pass, compressed into one node
- model
- positive
- negative
- samples
- LATENT
AC_Super_UpKSampler is the "hires fix" pass in one node: it takes a latent, upscales it to a bigger size, and re-samples it at low denoise to add detail. It's the compressed version of the classic two-pass workflow - generate small, then upscale-and-refine - and it's the node in this pack you'd actually reach for on every final image, not just the fiddly ones.
How it works
Mechanically it's two stock operations chained. First it runs comfy.utils.common_upscale on the latent's samples to width // 8 by height // 8 (the //8 because latents are the VAE's 8× downsampled space, so you specify pixel dimensions and it computes the latent size). Then it feeds that upscaled latent through the standard sampler with the positive and negative conditioning you provide, at the denoise you set. That's exactly the "latent upscale + second sampling pass" the community has been building by hand for years - here it's one node.
The inputs that matter
model- the same model used in the first pass (or a refiner).samples- theLATENTfrom your first sampler.positive/negative-CONDITIONING, not strings. The natural pairing is this pack'sAC_Super_KSampler, whosePositive/Negativeoutputs hand you exactly the encodings to feed here without re-encoding.AC_Super_CLIPENworks too.width/height- target pixel size (defaults 1024×1536).upscale_method-nearest-exact,bilinear,area,bicubic,bislerp.bislerpis the usual latent-upscale pick;nearest-exactkeeps things blocky.denoise- default 0.35. This is the knob that makes or breaks the pass.
The output
A single LATENT, ready for the VAE decode and save. Nothing else - no conditioning passthrough, so this is a sink-ish node you hang off the end of the sampling stage.
Installing it
Part of ComfyUI_AC_FUNV8Beta1 by Cc啊程 (Bilibili ComfyUI teacher; README is Chinese). ComfyUI Manager (search "AC_FUN") or:
cd ComfyUI/custom_nodes
git clone https://github.com/A719689614/ComfyUI_AC_FUNV8Beta1
Restart ComfyUI. No downloads.
Where people get burned
Denoise is the whole game. The 0.35 default is sane: too low and the upscale just softens; much above ~0.5 on a latent upscale and you start re-inventing the image - extra limbs, duplicated heads, the classic hires-fix disasters. The KB's upscaling doc makes the same point from a different angle: decide whether you want more pixels or more detail, because this node is the "more detail" camp. Also remember the conditioning must match the model - feed it the same prompts and model family as the first pass, or the second pass pulls in the wrong direction.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| seed | INT | 00–18446744073709550000 | — |
| steps | INT | 101–10000 | — |
| cfg | FLOAT | 1.40–100 | — |
| sampler_name | COMBO | lcm | 44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38 |
| scheduler | COMBO | 9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3 | |
| denoise | FLOAT | 0.350–1 | — |
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| samples | LATENT | — | |
| upscale_method | COMBO | 5 options: nearest-exact, bilinear, area, bicubic, bislerp | |
| crop | COMBO | 2 options: disabled, center | |
| width | INT | 102416–5277 | — |
| height | INT | 153616–5277 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |