Ultimate SD Upscale (Guider)
Tiled upscaling driven by a custom GUIDER
- image
- guider
- sampler
- sigmas
- vae
- upscale_model
- IMAGE
This is the deep end of the Ultimate SD Upscale family. Where the standard node gives you a sampler with dropdowns, and the CustomSample node lets you swap the sampler, UltimateSDUpscaleGuider hands the entire sampling pipeline over to ComfyUI's advanced custom-sampling nodes. Instead of a model plus prompts plus cfg, it takes a guider, a sampler, and a sigmas, the same three-part setup you'd feed a SamplerCustomAdvanced. If you already build your generations that way, this is how you get that exact pipeline into a tiled upscale.
Most people never need it. If terms like BasicGuider and CFGGuider don't ring a bell, use the plain UltimateSDUpscale node and move on. But if you're running something that only exists as a guider (a custom guidance scheme, a specific CFGGuider setup, or a solver from a pack like RES4LYF), this variant is the only one in the pack that accepts it.
How it works
The tiling half is unchanged: enlarge the image, split into overlapping tiles at native resolution, run the diffusion pass per tile, blend with a seam fix. What's different is that the per-tile sampling is fully externalized. You build a guider (which already has the model, conditioning, and guidance baked in), a sampler (from KSamplerSelect or similar), and a sigmas schedule (from BasicScheduler or a split-sigmas node), and wire all three in. The node then runs each tile through that pipeline. There's no cfg, no steps, no denoise, and no sampler_name on this node, because every one of those now lives inside the guider and the sigmas you supply.
The inputs and outputs that matter
The four inputs that define this node:
guider(required, GUIDER): the output of a guider node such as BasicGuider or CFGGuider. This is where your model, conditioning, and guidance strength all come from. It's the biggest thing to get right.sampler(required, SAMPLER): the sampling algorithm, typically from KSamplerSelect.sigmas(required, SIGMAS): the noise schedule. This also sets your effective denoise, so for an upscale you want a partial-denoise schedule, not a full one. There is nodenoiseslider here; the sigmas are the denoise.upscale_model(required, UPSCALE_MODEL): the ESRGAN model for the initial enlarge, wired from a Load Upscale Model node.
The remaining inputs are the familiar upscale controls: image, vae, upscale_by (default 2), seed, the tiling group (tile_width, tile_height, mask_blur, tile_padding), and the seam-fix group (seam_fix_mode, seam_fix_denoise, and friends). The single output is one IMAGE.
Installing it
Same pack as every other Ultimate SD Upscale node. ComfyUI Manager: Custom Nodes Manager, search "UltimateSDUpscale", install, restart. Or from a terminal:
cd ComfyUI/custom_nodes
git clone https://github.com/ssitu/ComfyUI_UltimateSDUpscale
then restart ComfyUI. The pack is lightweight and ships no models, but this node leans on ComfyUI's custom-sampling nodes (and often a sampler pack like RES4LYF), so make sure those are available. It appears under image/upscaling.
Common issues and troubleshooting
The trap on this node is denoise, because there isn't a field for it. If your tiles come out either barely touched or completely reinvented, the problem is your sigmas. Feed a full-strength schedule and every tile gets fully redrawn, which produces exactly the tiled-upscale disasters you'd expect: faces hallucinated into random busy tiles and patchwork seams where neighboring tiles diverge. Build a partial-denoise sigma schedule (the equivalent of the 0.15 to 0.3 denoise range on the simpler nodes) and coherence comes back. The other easy miss is forgetting that the guider carries the model and conditioning, so if the upscale isn't following your prompt, check what you put into the guider, not the node.
Beyond that it's ordinary Ultimate SD Upscale: seams respond to mask_blur/tile_padding and the Half Tile seam_fix_mode options, and a ControlNet Tile keeps tiles faithful on difficult sources. This node exists for people who've already committed to the custom-sampling workflow. If you haven't, the plain UltimateSDUpscale node does the same upscaling with far fewer moving parts.
Inputs (21)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | The image to upscale. | |
| guider | GUIDER | The guider to use for sampling. Encapsulates the model, conditioning, and CFG scale. | |
| sampler | SAMPLER | The sampler to use for each tile. | |
| sigmas | SIGMAS | The noise schedule (sigmas) to use for sampling. | |
| vae | VAE | The VAE model to use for tiles. | |
| upscale_by | FLOAT | 2.000.05–4 | The factor to upscale the image by. |
| seed | INT | 00–18446744073709550000 | The seed to use for noise generation. |
| upscale_model | UPSCALE_MODEL | The upscaler model for upscaling the image. | |
| mode_type | COMBO | The tiling order to use for the redraw step. | |
| tile_width | INT | 51264–8192 | The width of each tile. |
| tile_height | INT | 51264–8192 | The height of each tile. |
| mask_blur | INT | 80–64 | The blur radius for the mask. |
| tile_padding | INT | 320–8192 | The padding to apply between tiles. |
| seam_fix_mode | COMBO | The seam fix mode to use. | |
| seam_fix_denoise | FLOAT | 1.000–1 | The denoising strength to use for the seam fix. |
| seam_fix_width | INT | 640–8192 | The width of the bands used for the Band Pass seam fix mode. |
| seam_fix_mask_blur | INT | 80–64 | The blur radius for the seam fix mask. |
| seam_fix_padding | INT | 160–8192 | The padding to apply for the seam fix tiles. |
| force_uniform_tiles | BOOLEAN | true | Force all tiles to be the same as the set tile size, even when tiles could be smaller. This can help prevent the model from working with irregular tile sizes. |
| tiled_decode | BOOLEAN | false | Whether to use tiled decoding when decoding tiles. |
| batch_size | INT | 11–4096 | The number of tiles to process in a batch. Higher values can reduce processing time but use more VRAM. Yields different results than individual tiles. Only affects the main redraw step, not the seam fix step. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | The final upscaled image. |