Nodes/SpicyAPI/Image Upscaler · Upscale
ComfyUI Node

Image Upscaler · Upscale

8K costs the same as 2K, so think about which you're asking for

By spicyapi-ai·Created 21 days ago·Updated 2 days ago· 2
Image Upscaler · Upscale
  • image_url
  • images
  • task id
◄resolution4K►
◄output_formatJPEG►
◄seed0►

Which upscale are you actually doing?

The KB's upscaling essay makes the point better than any node doc can: "upscale" covers three unrelated jobs, and most arguments about it are two people doing different ones. Job one is more pixels - the detail is already there, you need it bigger, and an ESRGAN model or Lanczos does it instantly and can't invent anything. Job two is more detail - the image is soft or small and you want a model to invent plausible structure that was never there. That's generation, and it will rewrite faces.

This node is job two. One image in, $0.012 per image, out at a 2K, 4K or 8K pixel budget with the framing and aspect ratio untouched.

At that price it's cheaper than the electricity argument for running a local restorer on most jobs, and it's a fair bit less faff than wiring SeedVR2, FlashVSR or a tile-ControlNet stack - though the local ones give you far more control, which is the whole reason people still run them.

How it works

The image is uploaded, spicyapi/image-upscaler-v1/upscale returns an enlarged copy, and you get a ComfyUI IMAGE plus a task id. There's no prompt and no denoise knob. You're choosing a pixel budget, not a scale factor: about 4 megapixels for 2k, 17 for 4k, 67 for 8k, aspect ratio preserved.

The one setting that matters

resolution - 2k, 4k or 8k, default 4k. All three tiers cost the same $0.012, which changes the decision from "what can I afford" to "what do I actually want". Two consequences:

  • Output above the source's pixel count is invented. A 1024×1024 source at 8k gets 67 megapixels of generated detail, and generated faces drift - this is the same trap the local docs warn about with every generative rung. If your image has a face you care about, do the upscale first and give the face its own pass afterwards.
  • A tier below the source scales it down. The tooltip says it plainly and people still miss it: put a 6000-pixel-wide image through 2k and you get a smaller image back. Check the source resolution before you pick.

output_format - jpeg, png or webp, default jpeg. png is lossless but several times larger; at 8K that's a genuinely large file, so use jpeg or webp unless the image is a final master.

Outputs: images (IMAGE), task id (STRING).

Install

Manager → search SpicyAPI, or:

cd ComfyUI/custom_nodes
git clone https://github.com/spicyapi-ai/comfyui-spicyapi

Restart. No pip install and no model downloads - the pack declares zero dependencies and the upscaling runs on SpicyAPI's servers, so an old laptop is fine. Python 3.10+ and a ComfyUI with the V3 node API. Key in Settings > SpicyAPI (or SPICY_API_KEY), restart once so the node list comes from your account, and set Max cost per run - 12 cents a shot is cheap per image and easy to spend twenty times by accident.

Where it bites

  • Contrast lift and skin. The known weakness of every generative restorer, internet-famous on the local side as "human to lizard upscaler". Give faces their own detail pass rather than trusting one pass.
  • It's not a repair tool. Damaged, compressed, heavy-noise sources are a different job; this won't fix them the way SUPIR-style restoration will.
  • 30-odd megapixels of upload. Very large inputs hit the 10 MiB upload ceiling - the pack re-encodes as high-quality JPEG to fit, and tells you to scale down if it still can't.
  • Batch pricing adds up. The node's badge shows the rate per image before the run; a 20-image batch is a quarter, and the same 20 with a randomised retry loop is a dollar.
  • Your image leaves the machine. Structural to the pack, worth remembering for client work.
CategorySpicyAPI/Image/Tools

Inputs (4)

NameTypeDefaultDescription
image_urlIMAGEThe image to enlarge. Its framing and aspect ratio are kept; only the resolution goes up.
resolutionCOMBO4KOutput size tier: a pixel budget of about 4 (2k), 17 (4k) or 67 (8k) megapixels, with the aspect ratio kept. A tier below the source's pixel count scales the image down. All three tiers cost the same.
output_formatCOMBOJPEGFile type of the returned image. png is lossless but several times larger than jpeg.
seedINT00–2147483647This model takes no seed, so the number is never sent. Changing it makes ComfyUI run the node again: set 'control after generate' to randomize for a new result on every run; every run is billed.

Outputs (2)

NameTypeDescription
imagesIMAGE—
task idSTRINGThe SpicyAPI task id, for the console logs or support.