Nodes/ComfyUI-fal-API/DY Wan Upscaler (fal)
ComfyUI Node

DY Wan Upscaler (fal)

A Wan-based creative video upscaler

By gokayfem·Created 2 years ago·Updated a day ago· 203
DY Wan Upscaler (fal)
  • video
  • video_url
video_url
promptcinematic composition, realistic high-quality photo, RAW photo, masterpiece, photorealistic, 8k
negative_promptoversaturated, overexposed, static, blurry details
strength0.02
guidance_scale3.5
num_inference_steps10
seed-1
fps24
image_sizecustom
custom_width1920
custom_height1080

There are two kinds of video upscaling, and it's worth knowing which one you're buying. One kind just adds pixels - clean, faithful, no invention. The other runs a generative model over your footage to add detail that was never there, at the cost of nudging the content around. This node is firmly the second kind: it runs a Wan-based diffusion pass over your video, using a quality-boosting prompt to sharpen textures and enrich detail. Think of it as a refiner more than a resizer.

The tell is in the defaults. The strength sits at 0.02 - an extremely light denoise - which is deliberate: it lets Wan touch up detail and micro-texture without rewriting your video's actual content. Push it higher and you're re-generating, not enhancing. If what you want is clean restoration that leaves faces alone, the pack's Seedvr Upscale Video node is the more conservative choice; reach for this one when you want that glossy, detailed, "cinematic" Wan look laid over existing footage.

What it actually does

Your video (or a video URL) goes to fal.ai, fal runs the Wan-based upscaler, and you get an enhanced clip back - no VRAM, no downloads, billed per generation. Because it accepts a video_url directly, you can chain it straight off another fal node's URL output without downloading the intermediate file at all.

The inputs that matter

  • video or video_url: your source - wire a VIDEO, or paste/route a URL (e.g. from a fal video generator).
  • prompt (default a "cinematic, photorealistic, 8k" quality string): steers the enhancement. The default is a fine starting point; tweak it toward your footage's style.
  • strength (default 0.02): the master dial. Low preserves content and lightly enhances; higher invents more and drifts further from the original. Move it in small increments.
  • num_inference_steps (default 10) and guidance_scale (default 3.5): quality/cost knobs; the defaults are tuned for this light-touch job.
  • image_size / custom_width / custom_height: the target output dimensions.

The output is a single STRING, the URL of the upscaled video. Route it into Fal Save Media from URL to download, or Load Video from URL to pull frames in.

Installing it

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 in models/; you need fal-client and a fal API key in config.ini under [API], or the FAL_KEY env var.

Where people get burned

The strength dial is where this goes wrong. It looks tiny at 0.02 and people crank it to "get more" - and then faces morph, identity slips, and the "upscale" quietly rewrites the shot. If you want more detail, nudge strength up by hundredths and check each step, or add specifics to the prompt instead. Treat it as a refiner and it behaves; treat it as a magic resolution button and it'll surprise you.

Also match your output dimensions to the source aspect ratio - a mismatch stretches the video. Standard API notes apply: no FAL_KEY, no output; errors surface as fal's real message; identical calls are served free from the cache.

CategoryFAL/VideoGeneration/DY

Inputs (12)

NameTypeDefaultDescription
videooptVIDEO
video_urloptSTRING
promptoptSTRINGcinematic composition, realistic high-quality photo, RAW photo, masterpiece, photorealistic, 8k
negative_promptoptSTRINGoversaturated, overexposed, static, blurry details
strengthoptFLOAT0.020–1
guidance_scaleoptFLOAT3.51–20
num_inference_stepsoptINT101–50
seedoptINT-10–2147483647
fpsoptINT241–120
image_sizeoptCOMBOcustom7 options: custom, landscape_16_9, landscape_4_3, portrait_16_9, portrait_4_3, square, +1
custom_widthoptINT19200–8192
custom_heightoptINT10800–8192

Outputs (1)

NameTypeDescription
video_urlSTRING