Nodes/ComfyUI-FL-SeedVR2/FL SeedVR2 1.4B Upscale
ComfyUI Node

FL SeedVR2 1.4B Upscale

One-step upscale that adds detail instead of rewriting your image

By filliptm·Created 2 months ago·Updated about a month ago· 15
FL SeedVR2 1.4B Upscale
  • model
  • vae
  • images
  • images
scale_multiplier4.00
seed0
color_correctionnone
vae_tile_size512

Upscaling in ComfyUI is really two different jobs that share a word: adding pixels and adding detail. FL SeedVR2 1.4B Upscale is firmly in the second camp. Feed it a soft or low-res image and it invents plausible fine detail - eyelashes, pores, fabric weave - without re-inventing the subject the way SUPIR-style restoration does. That "keeps it as it is" behavior is exactly why SeedVR2 became the community default upscaler and why this node is worth reaching for when an ESRGAN pass comes out plastic.

It's the working half of the small filliptm/ComfyUI-FL-SeedVR2 pack, and it rides ComfyUI's built-in SeedVR2 support rather than bundling its own implementation. Pair it with the pack's loader node (which auto-downloads the 1.4B model) and you have a two-node upscale workflow.

How it works

Behind the scenes the node runs the whole SeedVR2 pipeline for you: it resizes your image with Lanczos to the target scale, preprocesses it, encodes to latents in overlapping tiles, runs a single diffusion step (SeedVR2 is a one-step model - the sampler settings are fixed internally, so there are no step/cfg/sampler inputs to fiddle with and nothing to get wrong), decodes the latents back through the tiled VAE, and optionally color-corrects the result. Images in a batch are processed independently, with the seed nudged per image so a batch doesn't give you identical outputs. Alpha (RGBA) survives the trip.

The output is a standard IMAGE, so it plugs straight into a save node or back into a larger graph. Note the model is FP16 by default - the pack sidesteps the GGUF/FP8 quantization traps that damage SeedVR2 skin texture and leave tiling grids, since it pins the fp16 checkpoint.

The inputs you'll actually touch

  • images (IMAGE) - your input. This is the node you'd feed the output of a generation workflow, or an image loaded into the graph.
  • scale_multiplier (float, default 4, range 1–8) - output scale. 4x is the default and the sweet spot; the tooltip is honest that the model is intended for 2x–4x and "8x is supported but weaker." Going past 4x rarely buys you anything real.
  • seed (int) - noise seed for repeatable output, default 0. Set a fixed seed when you want the same image to come out the same way.
  • color_correction (combo: none, lab, wavelet, adain, default none) - adjusts the output to better match the source's color. Start with none; the others are there when the upscale drifts tonally from your input.
  • vae_tile_size (512 or 256, default 512) - the one VRAM lever. Drop to 256 if the VAE encode or decode runs out of memory.

Settings worth stealing

The README's recommended starting point: scale 4, color correction none, tile 512. Two community tips from the upscaling playbook carry over:

  • If the source is soft rather than just small, downscale it to ~0.35 megapixels first (e.g. ImageScaleToTotalPixels), then upscale. There's no detail at full resolution to recover, so you give the model a sharper-relative base to rebuild from. Counterintuitive, and it's Comfy Org's own recommendation.
  • Watch the contrast lift. SeedVR2 is known for bumping contrast so the output can read as more obviously AI-generated than the input. The color_correction options are your lever here - and the "detail without rewriting faces" nature means close-up faces can still go plasticky, so give recognizable faces their own pass (ADetailer or inpainting) rather than letting the upscaler own them.

Installing it

ComfyUI Manager: search ComfyUI-FL-SeedVR2, install, restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI-FL-SeedVR2.git

Restart after. No extra pip dependencies - the pack uses what ComfyUI ships. The real requirements are ComfyUI 0.28.0+ (native SeedVR2 support) and the ~3.4 GB of model files the loader downloads on first execution. First queue will sit on a download progress bar; that's normal.

Troubleshooting

  • Out of memory on encode/decode - set vae_tile_size to 256. That's what the toggle exists for.
  • unexpected keys, starting with blocks.0.attn.proj_out.txt.bias - ComfyUI too old (pre-0.28.0). Update ComfyUI and restart; your downloaded model is fine, don't delete it.
  • Loader says the checkpoint isn't the ComfyUI variant - you replaced the pinned model with the plain HuggingFace checkpoint. The loader only works with the _comfyui transformer, so reinstall the pinned files.
CategoryFL/SeedVR2

Inputs (7)

NameTypeDefaultDescription
modelMODEL
vaeVAE
imagesIMAGE
scale_multiplierFLOAT4.001–8Output scale. The model is intended for 2x to 4x; 8x is supported but weaker.
seedINT00–18446744073709550000
color_correctionCOMBOnone4 options: none, lab, wavelet, adain
vae_tile_sizeCOMBO512512 is recommended. Use 256 when VAE encoding or decoding runs out of memory.

Outputs (1)

NameTypeDescription
imagesIMAGE