BYOKey WaveSpeed Upscale
Cloud upscaling with AuraSR — your image in, 8x out, GPU not included
- image
- image
Most upscaling happens locally - an ESRGAN variant, a 4x model, a tile pass - because that's where the VRAM and the checkpoints live. This node is the other direction: it sends your image to WaveSpeed's API, runs AuraSR (a fast GAN-based upscaler, the kind that does a whole image in one pass instead of chipping away tile by tile), and hands you back the result. No model download, no VRAM budget, no local install.
When does that make sense? When you're already in a cloud-video workflow and the frames need to look sharp for a big export, when your card can't hold a decent upscaler next to everything else, or when you want a quick 4x without curating the right local model. If you're doing serious batch upscaling of hundreds of images, do it locally - per-call metering adds up fast.
How it works. Submit-then-poll, but on a much faster clock than the video nodes. POST your image (as base64) to api.wavespeed.ai/api/v3 (the default base_url, overridable for a relay) with your WaveSpeed key as a Bearer token, poll every poll_interval seconds (default 3 - the whole job is usually under a couple of minutes), download the upscaled image, and decode it into a [1, H, W, C] torch tensor for standard image save/preview nodes.
The inputs that matter:
image- required. WhateverIMAGEsocket you want enlarged; wire anything in.scale- the upscaling factor, 2 through 8, default 4. AuraSR's happy place is around 4x; pushing to 8x from a small source gives you pixels, not necessarily detail.model-wavespeed-ai/aura-sr, the default WaveSpeed model id. Overridable, but you almost certainly want the default.poll_interval/max_wait- the fast babysitters. The default 120-secondmax_waitis right for an upscale job; only bump it if you're throwing huge images at it.
api_key and base_url are the usual pack pattern: your key, and an override point for relays/proxies.
Output: one image (IMAGE) socket, back into your graph - save it, feed it to a detailer, run it through a video i2v node as a cleaner start frame.
Install. Shared pack, one clone:
cd ComfyUI/custom_nodes
git clone https://github.com/MeteorAndy/comfyui-byokey.git
# restart ComfyUI; it's under api/byokey/image
No model downloads, no extra dependencies - ComfyUI's bundled torch, aiohttp, PIL, numpy and av cover it.
Gotchas. It's metered, so batch heavy work locally instead. And AuraSR is a GAN - it's fast and pleasant, but it invents texture rather than recovering ground truth; don't expect it to reconstruct detail the source never had. Same fresh-pack advice as everywhere: it's new, no community footprint, so skim the source before trusting it with a key.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | WaveSpeed API key (Bearer token). | |
| base_url | STRING | https://api.wavespeed.ai/api/v3 | WaveSpeed API base URL. Override for relays. |
| image | IMAGE | Image to upscale. | |
| modelopt | STRING | wavespeed-ai/aura-sr | WaveSpeed model id. |
| scaleopt | INT | 42–8 | Upscaling factor. |
| poll_intervalopt | INT | 31–30 | — |
| max_waitopt | INT | 12030–600 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |