Nodes/ComfyUI_AC_FUNV8Beta1/AC_Super_UpKSampler
ComfyUI Node

AC_Super_UpKSampler

The hires-fix second pass, compressed into one node

By A719689614·Created 3 years ago·Updated 4 months ago· 14
AC_Super_UpKSampler
  • model
  • positive
  • negative
  • samples
  • LATENT
seed0
steps10
cfg1.4
sampler_namelcm
scheduler
denoise0.35
upscale_method
crop
width1024
height1536

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 - the LATENT from your first sampler.
  • positive / negative - CONDITIONING, not strings. The natural pairing is this pack's AC_Super_KSampler, whose Positive/Negative outputs hand you exactly the encodings to feed here without re-encoding. AC_Super_CLIPEN works too.
  • width / height - target pixel size (defaults 1024×1536).
  • upscale_method - nearest-exact, bilinear, area, bicubic, bislerp. bislerp is the usual latent-upscale pick; nearest-exact keeps 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.

Category🔯AC_FUNV8.0

Inputs (14)

NameTypeDefaultDescription
modelMODEL
seedINT00–18446744073709550000
stepsINT101–10000
cfgFLOAT1.40–100
sampler_nameCOMBOlcm44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
denoiseFLOAT0.350–1
positiveCONDITIONING
negativeCONDITIONING
samplesLATENT
upscale_methodCOMBO5 options: nearest-exact, bilinear, area, bicubic, bislerp
cropCOMBO2 options: disabled, center
widthINT102416–5277
heightINT153616–5277

Outputs (1)

NameTypeDescription
LATENTLATENT