Nodes/comfyui-jk-easy-nodes/JK Easy HiRes Fix (Context)
ComfyUI Node

JK Easy HiRes Fix (Context)

The hi-res fix node for context-pipe workflows

By kostenickj·Created 2 years ago·Updated 2 years ago· 8
JK Easy HiRes Fix (Context)
  • ctx
  • LATENT
upscale_by1.50
denoise0.50
latent_upscalerlanczos
pixel_upscaler
noise_modeGPU(=A1111)
inject_extra_noiseenable
extra_noise_strength2.5
extra_positive_text
extra_positive_conditioning_modereplace
extra_negative_text
extra_negative_conditioning_modereplace
bleh_sampler_overridedisabled

This is EasyHRFix with six of its inputs swapped for one. Instead of wiring model, clip, vae, seed, steps, cfg, sampler_name, scheduler, positive, and negative individually, you feed it a single ctx (JK_CONTEXT) - the bundled-connection pattern this pack borrows from packs like rgthree-comfy's Context node, where a dozen wires collapse into one so a big graph stays readable.

If you don't already have a JK_CONTEXT floating around your workflow (built with JKLilContext or JKBigContext), you want the plain EasyHRFix instead - this node has no path to run without one.

What it does

Same job as its non-context sibling: a two-pass hi-res fix, generate low then upscale-and-resample high, bundled into one node instead of a KSampler + latent upscale + noise trick strung together by hand. The context supplies model/clip/vae/seed/positive/negative/latent; everything else you still set directly here.

The inputs and outputs that matter

  • ctx (JK_CONTEXT) - required, and it's doing the heavy lifting: model, clip, vae, positive/negative conditioning, and the working latent all ride in on this one wire.
  • upscale_by (default 1.5, range 1.05–4) - how much bigger the second pass goes. 1.5–2x is the range that tends to add detail without introducing tiling.
  • denoise (default 0.5, 0–1) - how much the second pass is allowed to change the image. Push it past ~0.5 and you risk altering the composition rather than refining it; 0.3–0.4 is the safer end if you want to preserve what you already generated.
  • latent_upscaler (default lanczos) and pixel_upscaler (populated from your installed upscale models) - the two resize paths; pick one or combine.
  • noise_mode (GPU(=A1111) / CPU) and inject_extra_noise (default enabled, extra_noise_strength default 2.5) - this pack's attempt to mimic A1111's GPU-side noise generation on the second pass, since ComfyUI's default noise behavior doesn't match A1111 seed-for-seed.
  • Optional extra_positive_text / extra_negative_text with a _conditioning_mode (replace/combine/concat/average) - bolt extra wording onto the prompt just for this pass without touching your main conditioning.
  • Optional bleh_sampler_override - a preset hook into ComfyUI-bleh, a separate, actively-used model-patching pack; leave it on disabled unless you specifically have bleh sampler presets set up.

Output: a single LATENT, ready for VAE Decode.

Installing it

Same pack, same install as its sibling: cd ComfyUI/custom_nodes && git clone https://github.com/kostenickj/jk-comfyui-helpers.git and restart if you're self-hosting (it's already on comfy.icu's shared image). The README lists ComfyUI Manager registration as pending, so the git clone is the dependable route, and git pull inside the folder updates it.

The load-bearing dependency to know about: the underlying Easy Hi-Res Fix machinery needs ComfyUI-Inspire-Pack and ComfyUI_Noise installed too - that's where the GPU-noise injection comes from. Inspire Pack is genuinely still in circulation (well over a hundred community mentions in the last year and a half), so it's a real, install-worthy dependency, not dead weight.

Common issues

  • "ctx" input errors or nothing flows through. This node does nothing without an upstream context builder - check that your JKLilContext/JKBigContext actually populated model, clip, vae, positive, negative, and latent before it reaches here.
  • Missing Inspire Pack / ComfyUI_Noise. Same as the non-context version - install both or the noise-injection side won't behave.
  • Denoise creeping too high. The standard hi-res-fix warning applies here just as much: above ~0.5 you start generating a different image, not refining the one you have.
  • bleh_sampler_override left on by mistake. It only has meaning if you've set up ComfyUI-bleh sampler presets elsewhere; otherwise leave it at disabled so it doesn't silently override your sampler behavior.
CategoryJK Comfy Helpers

Inputs (13)

NameTypeDefaultDescription
ctxJK_CONTEXT
upscale_byFLOAT1.501.05–4
denoiseFLOAT0.500–1
latent_upscalerCOMBOlanczos6 options: nearest-exact, bilinear, area, bicubic, bislerp, lanczos
pixel_upscalerCOMBO0 options:
noise_modeCOMBOGPU(=A1111)2 options: GPU(=A1111), CPU
inject_extra_noiseCOMBOenable2 options: disable, enable
extra_noise_strengthFLOAT2.50–100
extra_positive_textoptSTRINGif non empty, will be encoded and used depending on the value of extra_positive_conditioning_mode
extra_positive_conditioning_modeoptCOMBOreplace4 options: replace, combine, concat, average
extra_negative_textoptSTRINGif non empty, will be encoded and used depending on the value of extra_negative_conditioning_mode
extra_negative_conditioning_modeoptCOMBOreplace4 options: replace, combine, concat, average
bleh_sampler_overrideoptCOMBOdisabledoptional bleh sampler preset override

Outputs (1)

NameTypeDescription
LATENTLATENT