⭐ Star Tiled SeedVR Upscaler
Star Tiled SeedVR Upscaler — the community's favorite upscaler, on small GPUs
- image
- model_override
- IMAGE
SeedVR2 is, by a wide community margin, the best detail upscaler you can run locally - a one-step diffusion restorer that adds pores, eyelashes and fabric weave instead of just pixels, Apache 2.0 and fast enough to sit in a normal workflow. The catch, for most people, is VRAM: raw SeedVR2 on a big image is a one-way ticket to OOM city. Star Tiled SeedVR Upscaler is the fix - the entire SeedVR2 pipeline (preprocessing, VAE encode, conditioning, single-step sampling, decode, color correction) running tile by tile with feathered blending, so a 3x upscale that would crush an 8GB card becomes routine.
How it works
The pipeline inside this one node is worth spelling out because it explains all the knobs:
- Your image is upscaled by
scalewith Lanczos to the target resolution. - That big image is split into
rows×colstiles withtile_overlapof shared border. - Each tile runs through SeedVR2: padding, tiled VAE encode, conditioning built from the tile latent, single-step Euler sampling (CFG 1.0, denoise 1.0), tiled VAE decode, then a LAB color correction against the source tile so tiles don't shift hue.
- The processed tiles are blended back with linear feathering over the overlaps - that's why you don't see seams.
It also includes the color-preservation feature the SeedVR2 scene cares about: color_luminance_weight (default 0.8) blends between matching the source's colors and keeping the model's own brightness. Lower it toward 0 for more reference color matching, keep it high to preserve the original's exposure.
Inputs that matter
model_name- the SeedVR2 diffusion model frommodels/diffusion_models(e.g.seedvr2_7b-int8_convrot.safetensors). Download it yourself - the repo ships no weights.vae_name- the SeedVR2 VAE frommodels/vae(e.g.ema_vae_fp16.safetensors).scale(default 2),rows/cols(default 3×3),tile_overlap(default 0.25) - the VRAM/detail dials. More tiles = less VRAM per step, more total passes.model_override(optional) - a MODEL socket that, when connected, replaces the dropdown-selected model. Handy for patched models or custom loaders without editing the dropdown.
Output: the upscaled IMAGE.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/Starnodes2024/ComfyUI_StarNodes
cd ComfyUI_StarNodes
pip install -r requirements.txt
Restart, search star. Manager users can search "Starnodes". Then drop the SeedVR2 diffusion model and EMA VAE into your models folders - the official SeedVR2 ComfyUI repo has download links and the exact file names this node expects.
Where people get burned
Model-placement mistakes are the #1 failure - empty dropdowns mean the files aren't in the folders the node scans. On quality: SeedVR2 adds a slight contrast lift that can make output read as "more AI" than the input; most people compensate by keeping color_luminance_weight near 0.8 and doing final contrast tweaks downstream. And remember the upscaling-ladder rule: if your source is already sharp and you just want pixels, this is the wrong tool - that's ESRGAN's job. SeedVR2 is for adding detail that wasn't there, and it will rewrite faces a little, so give recognizable faces their own pass.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | The image to upscale. | |
| model_name | COMBO | The SeedVR2 diffusion model. | |
| vae_name | COMBO | The SeedVR2 (EMA) VAE. | |
| scale | FLOAT | 2.001–8 | Upscale factor for the output image. |
| rows | INT | 31–16 | Number of tile rows. More rows = smaller tiles = less VRAM. |
| cols | INT | 31–16 | Number of tile columns. More columns = smaller tiles = less VRAM. |
| tile_overlap | FLOAT | 0.250.05–0.5 | Overlap ratio between tiles. Higher values reduce seam artifacts but increase VRAM/time. |
| color_luminance_weight | FLOAT | 0.800–1 | Color transfer luminance blend weight. Lower = more reference color matching, higher = preserve original brightness. |
| model_overrideopt | MODEL | Optional model override. When connected, this model will be used instead of the one selected in model_name dropdown. Useful for patched models or custom loaders. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |