Nodes/☁️BizyAir Nodes/☁️BizyAir UltimateSDUpscale
ComfyUI Node

☁️BizyAir UltimateSDUpscale

BizyAir UltimateSDUpscale — ComfyUI Node Guide

By siliconflow·Created 2 years ago·Updated 11 months ago· 855
☁️BizyAir UltimateSDUpscale
  • image
  • model
  • positive
  • negative
  • vae
  • upscale_model
  • IMAGE
upscale_by2.00
seed0
steps20
cfg8.00
sampler_name
scheduler
denoise0.20
mode_type
tile_width512
tile_height512
mask_blur8
tile_padding32
seam_fix_mode
seam_fix_denoise1.00
seam_fix_width64
seam_fix_mask_blur8
seam_fix_padding16
force_uniform_tilestrue
tiled_decodefalse

What it is

Ultimate SD Upscale has been the most accessible way to push an image well past a model's native resolution since the A1111 days - "We have new Upscaler in Automatic - Ultimate SD Upscaler, and it's crazy" is the kind of reaction that put it on the map originally. The trick is tiling: it slices the image into overlapping tiles, upscales and re-samples each one individually, and stitches the seams back together, which sidesteps the VRAM wall you'd hit trying to generate a huge image in one pass. This node is BizyAir's cloud version - same tiled-diffusion approach, running on their GPUs against a BIZYAIR_MODEL.

The one thing worth knowing before you reach for it: this is a generative upscaler, not a pure pixel-interpolation one. It's actually running a fresh diffusion pass on each tile, guided by your positive/negative conditioning, so it can add real detail - but that also means it can subtly rewrite things like faces if the denoise strength is set too high. If you just want more pixels with zero content change, a plain interpolation upscaler is the better tool; this one is for adding detail while you enlarge.

How it works

Each tile gets upscaled by the upscale_model you supply, then re-sampled through your loaded model with the given steps, CFG, sampler, and scheduler - effectively a mini img2img pass per tile, at a low denoise so the tile stays close to its upscaled source rather than reinventing it. Once every tile is processed, the node blends the seams using whatever seam-fix mode you've chosen, since tiles processed independently don't naturally agree with their neighbors at the edges.

Inputs and outputs that matter

The core sampling inputs are the ones you'd recognize from any custom sampler: image, model, positive/negative conditioning, vae, seed, steps, cfg, sampler_name, scheduler, and denoise (default 0.2 - deliberately low, since this is refinement, not regeneration). upscale_by (default 2, up to 4×) sets the target scale, and upscale_model supplies the actual super-resolution model doing the pixel-level enlarging before each tile gets re-sampled.

The tiling-specific parameters are where this node earns its name: tile_width/tile_height (default 512) set tile size, tile_padding (default 32) gives each tile extra surrounding context so it doesn't lose track of what's nearby, mode_type picks the tiling pattern (Linear, Chess, or None), and mask_blur softens tile boundaries. The seam_fix_* group (seam_fix_mode, seam_fix_denoise, seam_fix_width, seam_fix_mask_blur, seam_fix_padding) runs a second cleanup pass specifically on tile boundaries if the first pass left visible seams - leave seam_fix_mode at None first and only turn it on if you actually see seam artifacts. force_uniform_tiles and tiled_decode are lower-priority toggles for tile consistency and VAE memory handling respectively.

The single output is IMAGE - your upscaled result, ready to save or feed further downstream.

Installing it

Install through ComfyUI Manager (search "BizyAir") or git clone https://github.com/siliconflow/BizyAir.git into custom_nodes, then restart. A BizyAir API key is required before this or any pack node runs - the first-run login prompt sets that up.

Common issues

If faces or fine detail come out visibly different from the source, denoise is almost always too high - start at 0.2 and only raise it if the result looks under-detailed, not the other way around. Visible grid lines or seams between tiles mean you need seam_fix_mode turned on rather than None. And because every tile runs a full sampling pass on BizyAir's cloud, a large image at a high upscale_by can mean dozens of tiles - expect this to be one of the slower and more credit-hungry nodes in the pack, not a quick pass.

Category☁️BizyAir/image/upscaling

Inputs (25)

NameTypeDefaultDescription
imageIMAGE
modelBIZYAIR_MODEL
positiveBIZYAIR_CONDITIONING
negativeBIZYAIR_CONDITIONING
vaeBIZYAIR_VAE
upscale_byFLOAT2.000.05–4
seedINT00–18446744073709550000
stepsINT201–10000
cfgFLOAT8.000–100
sampler_nameCOMBO44 options: euler, euler_cfg_pp, euler_ancestral, euler_ancestral_cfg_pp, heun, heunpp2, +38
schedulerCOMBO9 options: simple, sgm_uniform, karras, exponential, ddim_uniform, beta, +3
denoiseFLOAT0.200–1
upscale_modelBIZYAIR_UPSCALE_MODEL
mode_typeCOMBO3 options: Linear, Chess, None
tile_widthINT51264–8192
tile_heightINT51264–8192
mask_blurINT80–64
tile_paddingINT320–8192
seam_fix_modeCOMBO4 options: None, Band Pass, Half Tile, Half Tile + Intersections
seam_fix_denoiseFLOAT1.000–1
seam_fix_widthINT640–8192
seam_fix_mask_blurINT80–64
seam_fix_paddingINT160–8192
force_uniform_tilesBOOLEANtrue
tiled_decodeBOOLEANfalse

Outputs (1)

NameTypeDescription
IMAGEIMAGE