Nodes/ComfyUI_StarNodes/⭐ Star SD Upscale Refiner Advanced
ComfyUI Node

⭐ Star SD Upscale Refiner Advanced

Star SD Upscale Refiner Advanced — one node to make SD1.5 output big and beautiful

By Starnodes2024·Created 2 years ago·Updated 2 days ago· 106
⭐ Star SD Upscale Refiner Advanced
  • model
  • clip
  • vae
  • IMAGE
  • options
  • image
  • latent
lora_1_nameNone
lora_1_strength0.25
lora_2_nameNone
lora_2_strength0.10
lora_3_nameNone
lora_3_strength0.10
positive_promptmasterpiece, best quality, highres
negative_prompt(worst quality, low quality, normal quality:1.5)
use_negativeNo
seed5398475983
refine_steps9
refine_denoise0.20
tile_size1024
sampler_nameeuler
scheduler_namesimple
controlnet_nameNone
UPSCALE_IMAGEfalse
UPSCALE_MODEL4x_NMKD-Siax_200k.pth
OUTPUT_LONGEST_SIDE3200

If you're on SD1.5, your base generations cap out around 512–768px, and the classic "make it big" recipe is a multi-node monster: an ESRGAN upscale, a latent encode, a tiled second-pass with low denoise, LoRA stacking, maybe a ControlNet tile to hold the structure together. Star SD Upscale Refiner Advanced collapses that whole chain into one node with the knobs you actually need. It's the most opinionated node in the StarNodes pack, and for SD1.5 users it's the one that justifies the install.

What it does, end to end

You feed it the model, CLIP and VAE from a checkpoint loader, plus an image (or the latent you want to refine). Internally it runs a full two-phase pipeline:

  1. Optional pixel upscale - with UPSCALE_IMAGE on, it scales the image to OUTPUT_LONGEST_SIDE (default 3200) using the ESRGAN model picked in UPSCALE_MODEL (defaults to the reliable 4x_NMKD-Siax_200k). This is the "more pixels" rung of the upscaling ladder - fast, no hallucination, gives the refine pass a bigger canvas.
  2. Tiled refine pass - the image is encoded to latent and re-sampled at low denoise (refine_denoise, default 0.2) with your chosen sampler_name/scheduler_name. Diffusion runs over tile_size-sized tiles with a tiled VAE decode, which is what keeps a 3200px upscale tractable on modest VRAM. Optional ControlNet tile guidance (controlnet_name) holds the structure so tiles don't drift.

Along the way it can stack up to three LoRAs with individual weights (lora_1_namelora_3_name + strengths), apply your own positive/negative prompts, and even handles FreeU/PAG-style patches internally for extra detail. There's an options input where you can plug Star Split Sampler Option to run the refine pass with two different samplers.

The inputs that matter

For a beginner, the short list is: the model/clip/vae trio, an IMAGE input, UPSCALE_IMAGE + OUTPUT_LONGEST_SIDE, refine_denoise (keep it low - 0.2 is a great starting point; too high and the upscale drifts from your original), and refine_steps (default 9 - enough for a refine pass, and low enough to be fast). Set your LoRA slots if you're stacking them. Outputs are image and latent, so you can either save the result or keep working from the latent.

Installing

Part of StarNodes:

cd ComfyUI/custom_nodes
git clone https://github.com/Starnodes2024/ComfyUI_StarNodes
cd ComfyUI_StarNodes
pip install -r requirements.txt

Restart, search star under ⭐StarNodes/Upscale. ComfyUI Manager users: search "Starnodes". Note it needs a current ComfyUI - it leans on VAEDecodeTiled and modern sampler internals, so if you're months behind on updates, update before blaming the node.

Where people get burned

refine_denoise is the #1 mistake: crank it to 0.5+ on a 3200px upscale and you get a second-generation image that barely resembles your original, with doubled artifacts. Keep it at 0.2–0.3 and bump refine_steps if you want more refinement. Second, the ControlNet tile input is optional - leave it at "None" until you're comfortable, and only add a tile ControlNet model if your tiles visibly diverge. Third, this is an SD1.5-focused pipeline; feeding it a Flux or SDXL checkpoint will produce wrong results because the internal defaults assume the SD1.5 latent format. It's the right tool for the job, but only for that job.

Category⭐StarNodes/Upscale

Inputs (24)

NameTypeDefaultDescription
modelMODEL
clipCLIP
vaeVAE
lora_1_nameCOMBONone1 options: None
lora_1_strengthFLOAT0.25-10–10
lora_2_nameCOMBONone1 options: None
lora_2_strengthFLOAT0.10-10–10
lora_3_nameCOMBONone1 options: None
lora_3_strengthFLOAT0.10-10–10
positive_promptSTRINGmasterpiece, best quality, highres
negative_promptSTRING(worst quality, low quality, normal quality:1.5)
use_negativeCOMBONo2 options: No, Yes
seedINT53984759830–18446744073709550000
refine_stepsINT91–500
refine_denoiseFLOAT0.200–1
tile_sizeINT102464–16384
sampler_nameCOMBOeuler44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
scheduler_nameCOMBOsimple9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
IMAGEoptIMAGE
controlnet_nameoptCOMBONone1 options: None
UPSCALE_IMAGEoptBOOLEANfalse
UPSCALE_MODELoptCOMBO4x_NMKD-Siax_200k.pth1 options: Default
OUTPUT_LONGEST_SIDEoptINT320064–99968
optionsopt*Optional refine options. Connect ⭐ Star Split Sampler Option to split the refine pass between two samplers, or ⭐ Star FlowMatch Option (SIGMAS) to override the sigma schedule.

Outputs (2)

NameTypeDescription
imageIMAGE
latentLATENT