Nodes/comfyui-stillfront/SF WaveSpeed Image Upscaler
ComfyUI Node

SF WaveSpeed Image Upscaler

A 4K-or-8K generative upscaler that runs entirely in someone else's cloud

By razvanmatei-sf·Created 9 months ago·Updated 7 months ago· 0
SF WaveSpeed Image Upscaler
  • client
  • upscaled_image
image_url
target_resolution4k
creativity0.0
output_formatjpeg
enable_sync_modetrue

Most upscalers in ComfyUI want a model file, some VRAM, and a minute of your GPU. SF WaveSpeed Image Upscaler wants none of that - it sends your image to WaveSpeed's hosted upscaler and brings back a 2K, 4K, or 8K result as a tensor. If your card chokes on local upscaling, or you just don't want to babysit a tile pass, this is the "rent the compute instead" option.

Just be clear on the trade you're making. This is a generative upscaler - the creativity knob literally decides how much new detail the model is allowed to invent - so it's the "more detail" job from the upscaling playbook, not a simple pixel resize. Faces will subtly drift. For sharp sources that just need more pixels, a free ESRGAN model locally is still the right answer; for soft sources you want to enhance, this is a contender.

It's part of the comfyui-stillfront pack, and like every WaveSpeed node it's an API call, not a local model.

How it works

You feed it a URL to the image and it POSTs to WaveSpeed's image-upscaler endpoint with your resolution target and creativity level. The result comes back as a URL, which the node downloads and converts to an IMAGE tensor. Straightforward - the only moving parts are your WaveSpeed key and the image URL.

The one input that deserves real thought is creativity (-2 to 2, default 0). Negative values mean conservative, faithful upscaling; positive values mean more invented detail, which can look great on soft art and ruinous on anything with a face you care about. The tooltip is honest: higher values "may alter the image." Start at 0 and nudge up only if the result is too clean.

The other main dials: target_resolution (2k/4k/8k - 8K is a lot of pixels and a lot of cents, so only go there if you actually need it), output_format (jpeg/png/webp), and enable_sync_mode (default on, meaning wait for the job to finish before returning).

Output is a single upscaled_image (IMAGE). Wire it to a preview or save node.

Installing it

You need the pack plus a WaveSpeed key. Pack first:

cd ComfyUI/custom_nodes
git clone https://github.com/razvanmatei-sf/comfyui-stillfront
cd comfyui-stillfront
pip install -r requirements.txt

Then grab a key from wavespeed.ai. You can paste it into the SF WaveSpeed Client node's api_key field and wire that client into this node, or set WAVESPEED_API_KEY as an environment variable. Either way, restart ComfyUI after the install.

Troubleshooting

  • "Unauthorized: Invalid API key." The client node is getting no key or a bad one. Check the client node's api_key field, your config.ini, and the env var - it checks them in that order.
  • The image_url input won't accept your image. It takes a URL string, not an IMAGE tensor - the tooltip says to connect it from the Upload Image node (the one that hands you a hosted URL). If you're trying to drag a wire from a Load Image node, that's the mismatch.
  • Result looks plastic or over-smooth. creativity is too high, or you're upscaling something already smooth. Drop creativity toward -2 and re-run.
  • Slow, or it feels like nothing happened. The upscaler runs on WaveSpeed's side; 8K jobs take real time. Leave enable_sync_mode on so the node actually waits for the result.

One community note that's worth keeping in mind: WaveSpeed's web UI applies a noticeably stricter sensitivity filter than its API does. These nodes hit the API, which is the path that "supports broader content use cases" - but it's still a paid hosted service, so keep your commercial-license questions in mind before you put client work through it.

CategoryStillfront/WaveSpeed

Inputs (6)

NameTypeDefaultDescription
clientWAVESPEED_AI_API_CLIENT
image_urlSTRINGURL of the image to upscale (connect from Upload Image node)
target_resolutionCOMBO4kTarget resolution for upscaling
creativityFLOAT0.0-2–2Enhancement level (-2 to 2). Higher values add more detail but may alter the image
output_formatCOMBOjpegOutput image format
enable_sync_modeBOOLEANtrueWait for upscaling to complete before returning

Outputs (1)

NameTypeDescription
upscaled_imageIMAGE