Nodes/ComfyUI-fal-API/Seedvr Upscale Video (fal)
ComfyUI Node

Seedvr Upscale Video (fal)

The best video upscaler, on rented hardware

By gokayfem·Created 2 years ago·Updated about 23 hours ago· 203
Seedvr Upscale Video (fal)
  • video
  • video_url
upscale_factor2.00
input_video_url
upscale_modefactor
target_resolution1080p
noise_scale0.10
output_qualityhigh
output_write_modebalanced
output_formatX264 (.mp4)

SeedVR2 is ByteDance's restoration model, and it's the current default upscaler in the local community - it adds detail without reinventing the subject, which is exactly what you want. There's a catch, though, and it's the reason this node exists: SeedVR2 on images runs on a 6GB card, but SeedVR2 on video is a datacenter-GPU workload. One person put it plainly - "I tried video upscaling with it but I quickly realized I'd need datacenter class GPUs." So this is one of the cleanest cases for an API node in the whole pack: you get the best video upscaler without renting a GPU yourself.

What it actually does

Nothing runs locally. Your video goes to fal.ai, fal runs SeedVR2's video upscale, and you get a higher-resolution clip back - no VRAM, billed per job. SeedVR2's one-step design is fast for what it is, and its strength is faithfulness: it sharpens and rebuilds detail while leaving the content alone, rather than hallucinating a new picture the way heavier restorers can.

The inputs that matter

  • video or input_video_url: the source. Wire a VIDEO into video, or paste a link into input_video_url - you provide one of the two.
  • upscale_factor (required, default 2): how much to enlarge when in factor mode. 2× is the safe default.
  • upscale_mode: factor (multiply the resolution by upscale_factor) or target (aim for a fixed resolution instead).
  • target_resolution: 720p, 1080p, 1440p, or 2160p - used when upscale_mode is target.
  • output_quality: lowmaximum. Higher looks better and costs more compute.

noise_scale (default 0.1) controls how much fine detail the model synthesizes - nudge it up carefully, since too much starts to invent texture. output_format picks the container (.mp4, .webm, .mov, .gif) and output_write_mode trades file size against speed. The output is a STRING video_url; download it with the pack's Fal Save Media from URL node.

Installing it

Easiest: ComfyUI Manager → search ComfyUI-fal-API → install → restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/gokayfem/ComfyUI-fal-API.git
cd ComfyUI-fal-API
pip install -r requirements.txt

Restart ComfyUI. No model download; the dependencies are fal-client and a fal API key (in config.ini under [API], or the FAL_KEY env var). If you're feeding a VIDEO input, a recent ComfyUI is needed for the native video socket.

Where people get burned

Two things carry over from SeedVR2's known behavior. First, it lifts contrast - the local community's most specific complaint is that outputs can read as more AI-generated than the input because of that contrast bump. If your clip looks over-punched, that's why; keep noise_scale modest. Second, SeedVR2 preserves what's there but doesn't repair heavy degradation - it's an enhancer, not a magic restorer, so a genuinely mangled source stays mangled.

On cost, video upscaling is compute-heavy by nature, and maximum quality at 2160p is the expensive corner - test on a short trim before committing a long clip. Errors come through as fal's real text, and the Windows Portable import fix is .\python_embeded\python.exe -m pip install fal-client.

CategoryFAL/Image

Inputs (9)

NameTypeDefaultDescription
upscale_factorFLOAT2.000–5
videooptVIDEO
input_video_urloptSTRING
upscale_modeoptCOMBOfactor2 options: factor, target
target_resolutionoptCOMBO1080p4 options: 720p, 1080p, 1440p, 2160p
noise_scaleoptFLOAT0.100–1
output_qualityoptCOMBOhigh4 options: low, medium, high, maximum
output_write_modeoptCOMBObalanced3 options: fast, balanced, small
output_formatoptCOMBOX264 (.mp4)4 options: X264 (.mp4), VP9 (.webm), PRORES444 (.mov), GIF (.gif)

Outputs (1)

NameTypeDescription
video_urlSTRING