Nodes/ComfyUI Razv WaveSpeed Nodes/WaveSpeedAI RunwayML Upscale V1
ComfyUI Node

WaveSpeedAI RunwayML Upscale V1

Video Upscaling With No VRAM — the Pack's Smallest, Most Honest Node

By razvanmatei-sf·Created 12 months ago·Updated 9 months ago· 0
WaveSpeedAI RunwayML Upscale V1
  • client
  • upscaled_video_url
video_url
enable_sync_modetrue

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_CLIENT output 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.

CategoryWaveSpeedAI

Inputs (3)

NameTypeDefaultDescription
clientWAVESPEED_AI_API_CLIENT
video_urlSTRINGURL of input video for upscaling (connect from Upload Video node)
enable_sync_modeBOOLEANtrueWait for upscaling to complete before returning

Outputs (1)

NameTypeDescription
upscaled_video_urlSTRING