UpscaleModelClamp
Pick your upscaler without rewiring the graph
- upscale_model
- UPSCALE_MODEL
UpscaleModelClamp takes an UPSCALE_MODEL in and returns the same UPSCALE_MODEL out. It clamps nothing - it's a pass-through. But it's aimed at one of the most-edited decisions in a workflow: which upscaler am I using today?
What it's for
UPSCALE_MODEL is the object you feed into ImageUpscaleWithModel - the ESRGAN-family upscaler (4x-UltraSharp, RealESRGAN, Remacri and friends) that turns a sharp image into a bigger sharp image. If you swap upscalers as often as most people do, you've redone that wire a hundred times. UpscaleModelClamp turns the wire into a named node in the graph: title it "final 4x" or "lineart upscale", and the switch from one model to another becomes a one-click reload at a labeled spot instead of re-tracing spaghetti.
It also gives the wire a physical grab point. An upscaler output feeds a KSampler, then a tile pass, then a composite - several clean branch points that are awkward to tap directly off a loader. Put the clamp there, and you can route, label, and debug without tugging a line across the canvas.
One honest caveat while you're here: the clamp does nothing to the quality. Choosing the right upscaler is the real decision - the KB's upscaling notes are the place to start if you're weighing pixel upscalers against generative ones. This node just keeps that decision legible.
How it works
The implementation is def node(self, upscale_model): return (upscale_model,). Same object in, same object out - no copy, no cost, nothing to get wrong. It's one of 13 pass-through clamps in Allor's "clamp" family, which covers every heavy type (MODEL, VAE, LATENT, IMAGE, MASK, CONDITIONING and friends).
Input: upscale_model (UPSCALE_MODEL, required). Output: UPSCALE_MODEL.
Installing Allor
UpscaleModelClamp ships in the Allor Plugin, Nourepide's ~90-node image-processing pack. Install via ComfyUI Manager (search "Allor") or:
cd ComfyUI/custom_nodes
git clone https://github.com/Nourepide/ComfyUI-Allor
Restart ComfyUI. First run writes a config.json into the pack folder; the bundled install.sh / install.bat handle requirements into your venv or embedded Python. The pack's dependencies (rembg, onnx, plus onnxruntime via rembg) serve its segmentation nodes - this pass-through touches none of them.
Common issues
The pack's known failure mode is updates. Its history was rebased to strip image files, the README warns auto-updates can break, and users report Allor nodes silently vanishing after an update. A fresh re-clone fixes it; "update_frequency": "never" in config.json keeps you out of that loop.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| upscale_model | UPSCALE_MODEL | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| UPSCALE_MODEL | UPSCALE_MODEL | — |