WaveSpeedAI RunwayML Upscale V1
Video Upscaling With No VRAM — the Pack's Smallest, Most Honest Node
- client
- upscaled_video_url
WaveSpeedAI RunwayML Upscale V1 is the smallest node in the Razv WaveSpeed pack, and in some ways the most practical one: it upscales video in the cloud using Runway's model, so the heavy lifting happens on servers you never see. Feed it a video URL, get a sharper video URL back. No GPU, no VRAM budget, no model download - you're renting the compute per clip.
Video upscaling is the ugly corner of the upscaling world. Image upscaling has a settled answer (SeedVR2, ESRGAN, take your pick), but "more pixels over time" - where every frame has to agree with its neighbors - is the problem local ComfyUI handles worst. It's VRAM-hungry, slow, and easy to get wrong. This node just sidesteps all of it: Runway's model does the temporal-consistency work, and you only see the result. If your machine is a potato or you're doing one-off fixes, that's genuinely appealing.
How it works
There's not much to it. The node POSTs your video_url to WaveSpeed's API endpoint (/api/v3/runwayml/upscale-v1) and waits. When the job completes it hands back a hosted URL to the upscaled file. That's the whole mechanism - it's a remote function call dressed up as a node.
Which means the practical requirement is on the input side: video_url must be a URL WaveSpeed can fetch, and it needs to be a link to an actual video file, not a webpage. Upload your clip somewhere public, paste the link, done.
The inputs
Only three, which is the nicest thing about it:
- client - required, the
WAVESPEED_AI_API_CLIENToutput from a WaveSpeedAI Client node. - video_url - your input clip's URL.
- enable_sync_mode - defaults to true here, unlike the rest of the pack. That's appropriate: upscaling is usually fast enough that waiting inline is fine. Flip it off if you'd rather it poll in the background, though as with the other nodes, both paths block until the job lands anyway.
The output is a single upscaled_video_url string. It's a remote file, not a video tensor, so you can't chain it into local ComfyUI processing without a URL-loader node - you'd open it in a browser or download it.
Installing it
Same install for every node in this pack. ComfyUI Manager → search "razv-wavespeed" → Install and restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/razvanmatei-sf/razv-wavespeed.git
cd razv-wavespeed
pip install -r requirements.txt
Then you need a WaveSpeedAI Client node with your wavespeed.ai API key - paste the key straight into it rather than fighting the config file, whose documented format doesn't match what the code actually reads.
The honest take
If you've got a decent GPU, don't kid yourself: local upscaling with SeedVR2 or NVIDIA's RTX video super-resolution nodes is free and often better, and you own the result. Reach for this node when you have no VRAM to spare, a weak card, or a one-off clip where installing a multi-GB model is the worse deal. It's a pay-as-you-go convenience, and it's refreshingly honest about being one. One caveat if it's not appearing: the pack's code imports PyAV (av) and torchaudio despite not listing them in requirements.txt - if the node is missing after install, that's the first thing to install by hand.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| client | WAVESPEED_AI_API_CLIENT | — | |
| video_url | STRING | URL of input video for upscaling (connect from Upload Video node) | |
| enable_sync_mode | BOOLEAN | true | Wait for upscaling to complete before returning |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| upscaled_video_url | STRING | — |