Nodes/Comfyroll Studio/πŸ” CR Multi Upscale Stack
ComfyUI Node Runs on cloud

πŸ” CR Multi Upscale Stack

Chain three upscale models into one pass

By Suzie1Β·Created 3 years agoΒ·Updated 2 years agoΒ· 1,296
πŸ” CR Multi Upscale Stack
  • upscale_stack
  • UPSCALE_STACK
  • show_help
β—„switch_1β–Ύβ–Ί
β—„upscale_model_1β–Ύβ–Ί
β—„rescale_factor_12.00β–Ί
β—„switch_2β–Ύβ–Ί
β—„upscale_model_2β–Ύβ–Ί
β—„rescale_factor_22.00β–Ί
β—„switch_3β–Ύβ–Ί
β—„upscale_model_3β–Ύβ–Ί
β—„rescale_factor_32.00β–Ί

Same idea as its ControlNet sibling, applied to upscaling: instead of wiring three separate "load upscale model β†’ apply upscale" pairs in sequence, you configure up to three upscale passes in one node and let a downstream apply node run through them.

What it's for

Multi-stage upscaling is a real, common pattern - run one ESRGAN-family model to clean up and add pixels, then a second pass at a different scale factor for a sharper finish, sometimes a third for a specific look. This node is Comfyroll's builder for that pipeline: pick the model and rescale factor for each stage, toggle stages on or off, and pass the resulting stack to "CR Apply Multi Upscale" (also in this pack) to actually run it.

It's worth being clear about what kind of upscaling this is. Everything this node stacks is a pixel upscaler - traditional models like the ESRGAN family (4x-UltraSharp, Remacri, NMKD-Siax) that add resolution without inventing new detail. That's a different job from generative "more detail" upscalers like SeedVR2 or SUPIR, which resynthesize texture on a soft or damaged source. If your image already has the detail you want and you just need it bigger, this is the right kind of tool; if the source is soft, blurry, or genuinely degraded, a pixel upscaler alone won't fix that, and no amount of stacking will make it generative.

How it works

Each of the three slots holds an upscale model and a rescale factor, independently switchable. The apply node runs the enabled slots in order, feeding the output of one stage into the next - so slot 1 at 2x followed by slot 2 at 1.5x gives you a compound 3x scale, using two different models if you want (say, a general-purpose model first, then something sharper for the final pass).

Inputs and outputs that matter

Repeated three times (_1, _2, _3):

  • switch_N (On/Off) - enable or disable that stage without deleting the config.
  • upscale_model_N - the upscale model checkpoint for that stage, picked from your models/upscale_models folder.
  • rescale_factor_N (default 2, range 0.01–16) - the scale multiplier for that stage. Most single-stage upscales land in the 1.5–2x range; a 4x model with a rescale factor much lower than 4 just means it's downscaling its own output back down, which is a legitimate way to get a cleaner 1.5x out of a 4x-trained model.
  • upscale_stack (optional, UPSCALE_STACK) - chain another Multi Upscale Stack node in if three stages isn't enough.

Outputs: UPSCALE_STACK feeds the apply node, and show_help links out to this node's wiki page - every Comfyroll node has one, worth wiring to a Note node once so you can find it again.

How to install it

Through ComfyUI Manager: search "Comfyroll Studio." Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/Suzie1/ComfyUI_Comfyroll_CustomNodes.git

Restart ComfyUI afterward. This node has no bundled models or extra dependencies - you supply your own upscale model checkpoints (4x-UltraSharp and similar .pth files go in models/upscale_models), same as any ComfyUI upscale workflow.

Common issues & troubleshooting

Dropdown shows nothing to pick. If upscale_model_N only offers "None," you don't have any upscale models installed yet - grab one (4x-UltraSharp is the community's general-purpose favorite) and drop it in models/upscale_models, then restart or refresh.

Whole pack fails to load. A known failure mode on some Windows setups is Comfyroll's entire node registration crashing on a NameError for an unrelated class inside the package - it's an all-or-nothing import, so one broken piece takes every CR node with it. If none of the pack's nodes appear after install, delete the folder and re-clone rather than chasing the specific error.

Stacking generative and pixel upscalers and expecting one workflow to do both jobs. This node is built for chaining traditional upscale models, not for mixing in a diffusion-based restorer like SeedVR2 - those work differently (they need to run through the model's own node, usually with a full sampling pass) and don't slot into an UPSCALE_STACK. If you're trying to both enlarge and restore/repair a damaged image, that's typically two separate stages in your graph: a pixel-upscale pass from this node, then a generative pass afterward if the source needs actual repair.

Diminishing or worse results from stacking three passes. More stages isn't automatically better - running a sharpening-heavy model twice in a row often just over-sharpens. Start with one stage, add a second only if you can see what it's adding.

Category🧩 Comfyroll Studio/✨ Essential/πŸ” Upscale

Inputs (10)

NameTypeDefaultDescription
switch_1COMBO2 options: On, Off
upscale_model_1COMBO1 options: None
rescale_factor_1FLOAT2.000.01–16β€”
switch_2COMBO2 options: On, Off
upscale_model_2COMBO1 options: None
rescale_factor_2FLOAT2.000.01–16β€”
switch_3COMBO2 options: On, Off
upscale_model_3COMBO1 options: None
rescale_factor_3FLOAT2.000.01–16β€”
upscale_stackoptUPSCALE_STACKβ€”

Outputs (2)

NameTypeDescription
UPSCALE_STACKUPSCALE_STACKβ€”
show_helpSTRINGβ€”