Seedvr Upscale Video (fal)
The best video upscaler, on rented hardware
- video
- video_url
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
VIDEOintovideo, or paste a link intoinput_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 byupscale_factor) ortarget(aim for a fixed resolution instead). - target_resolution:
720p,1080p,1440p, or2160p- used whenupscale_modeistarget. - output_quality:
low→maximum. 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.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| upscale_factor | FLOAT | 2.000–5 | — |
| videoopt | VIDEO | — | |
| input_video_urlopt | STRING | — | |
| upscale_modeopt | COMBO | factor | 2 options: factor, target |
| target_resolutionopt | COMBO | 1080p | 4 options: 720p, 1080p, 1440p, 2160p |
| noise_scaleopt | FLOAT | 0.100–1 | — |
| output_qualityopt | COMBO | high | 4 options: low, medium, high, maximum |
| output_write_modeopt | COMBO | balanced | 3 options: fast, balanced, small |
| output_formatopt | COMBO | X264 (.mp4) | 4 options: X264 (.mp4), VP9 (.webm), PRORES444 (.mov), GIF (.gif) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| video_url | STRING | — |