Nodes/ComfyUI_Fill-Nodes/FL Fal SeedVR Upscale
ComfyUI Node

FL Fal SeedVR Upscale

Run the best detail-preserving upscaler without owning the GPU

By filliptm·Created 3 years ago·Updated about 18 hours ago· 628
FL Fal SeedVR Upscale
  • image
  • upscaled_image
  • image_url
  • width
  • height
api_key
upscale_factor2.0
seed-1

SeedVR2 is, by mid-2026, the upscaler most people reach for when they want detail added without the picture being reinvented. It's ByteDance's one-step restoration model, and its whole trick is restraint: it sharpens and rebuilds texture while leaving the subject alone, which is exactly why it took over face and product work that SUPIR used to own. The catch has always been VRAM. The local node is famous for OOM errors, and video upscaling with it wants a datacenter GPU.

This node sidesteps all of that. FL_Fal_SeedVR_Upscale doesn't run SeedVR on your machine - it ships your image off to Fal AI's hosted SeedVR endpoint, waits for the result, and hands you back the upscaled frame. No model download, no quantization headaches, no block-swap tuning. You pay Fal per call instead of paying in VRAM.

How it works

You give it an image and an upscale factor. The node uploads your tensor to fal.media, kicks off the SeedVR job on Fal's hardware, polls until it's done, then downloads the finished image. Because the heavy lifting happens remotely, the only thing your GPU does here is encode and decode - this node will happily run on a potato as long as you have a network connection and a Fal balance.

That remote setup also quietly solves the single most-corrected SeedVR gotcha: on the local node, GGUF quantization wrecks skin texture and FP8 adds tiling grids, so the community settled on FP16. Here you don't pick a quant at all - Fal runs it their way, so that whole class of "why does my output look scaly" problem doesn't apply.

The inputs and outputs that matter

Four inputs, all required:

  • api_key - your Fal AI key. This is the one that stops the node from working if you get it wrong. Paste it here (or the node won't have anywhere to send the job).
  • image (IMAGE) - the frame to upscale. One image.
  • upscale_factor (FLOAT, 1.0–10.0, default 2.0) - the multiplier. 2× is a sane default; go higher only when the source genuinely has detail to expand into.
  • seed (INT, default -1) - leave it at -1 for a random seed each run, or pin it for reproducibility.

Outputs: upscaled_image (IMAGE) is the one you wire downstream - into a save node, a further pass, whatever. You also get image_url (the fal.media link), plus width and height as INTs, handy for feeding a downstream node that needs the new dimensions.

Installing it

Via ComfyUI Manager: search ComfyUI_Fill-Nodes, install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI_Fill-Nodes

then restart. Fill-Nodes is a big kitchen-sink pack by filliptm (Machine Delusions), so it pulls in a lot of dependencies on first launch - this particular node needs the Fal client and a Fal account with credit.

Common issues & troubleshooting

Nothing happens / auth error. No valid api_key, or an empty Fal balance. Every call costs money on Fal's side; there's no free local fallback here.

The output looks more "AI" than the input. SeedVR has a known, consistent contrast lift - some images come back reading as more obviously generated. That's the model, not the node. Ease the upscale factor or do a light color-match pass afterward if it bothers you.

It didn't fix my blurry/compressed source. SeedVR preserves what's there; it doesn't repair heavy degradation the way SUPIR does. If your input is genuinely damaged rather than just small, reach for SUPIR instead.

Faces went plasticky. SeedVR's one real weak spot is close-up skin texture. For a hero face, do a separate detail pass (ADetailer or inpainting) rather than leaning on a big upscale factor here.

Category🏵️Fill Nodes/AI

Inputs (4)

NameTypeDefaultDescription
api_keySTRING
imageIMAGE
upscale_factorFLOAT2.01–10
seedINT-1-1–999999999

Outputs (4)

NameTypeDescription
upscaled_imageIMAGE
image_urlSTRING
widthINT
heightINT