Detail SEGS by Scale Factor w/ Tiled Diffusion
Detail Giant Crops Without Blowing Up Your VRAM
- image
- segs
- model
- vae
- positive
- negative
- image
Here's the gap in the plain scale-factor detailer: it resamples each crop at full size, which is exactly what you want for a small face - and exactly the wrong thing when a detected region is huge. Detail a region that occupies half a 4K frame and the crop alone can exceed your VRAM. Detail SEGS by Scale Factor w/ Tiled Diffusion exists for that case: it's the same crop-refine-paste loop, but the resampling step uses tiled diffusion, so each crop is evaluated in overlapping tiles instead of as one giant latent.
How it works
Everything from Detail SEGS by Scale Factor is here - image, segs, model, vae, a conditioning batch matched one-to-one against SEGS order, scale_factor (1.5), upscale_method (lanczos), clamp_size, sampler controls, feather, noise_mask, tiled_encode/tiled_decode. What's added is the tiled sampling stack:
- diffusion_mode:
multidiffusion(default, averages overlapping predictions - steady) orMixture of Diffusers(weights tile centers more strongly - softer blend). - latent_tile_width / latent_tile_height (128×128): tile size in latent pixels. Bigger tiles see more context, cost more memory.
- latent_tile_overlap (16): overlap between tiles; more overlap kills seams, costs compute.
- latent_tile_batch_size (4): tiles sampled per batch; higher is faster, thirstier.
Output is one image with the detailed regions blended back.
When to reach for it
Use this over the plain version when the region is large enough that a full-res crop would be a problem - big background objects, wide full-body regions, anything where the crop approaches or exceeds the sampler's comfortable resolution. The tradeoff is honest: tiled sampling fixes the memory problem but not the comprehension problem. Tiles each see a piece of the crop, and on very large canvases the pieces can lose track of the whole - that's precisely the failure mode SimpleSyrup's Contextual Diffusion was invented to fix, and the README notes this node shares the tiled sampling path with the tiled samplers rather than adding whole-image correction. If you're detailing a crop where composition within the crop matters, keep the tile size generous and the overlap up.
Also worth remembering for any detail pass: do it before upscaling, don't stack passes, and watch for the grey-box seam if the composite edges look off (raise feather).
Install
Ships in the SimpleSyrup pack. ComfyUI Manager → search SimpleSyrup → Install → restart, or:
Set-Location ComfyUI\custom_nodes
git clone https://github.com/Artificial-Sweetener/SimpleSyrup.git
Set-Location SimpleSyrup
..\..\venv\Scripts\python.exe -m pip install -r requirements.txt
Restart ComfyUI; needs a current build (v3 extension API).
Common issues
- Still out of VRAM - lower tile size or
latent_tile_batch_size; those are the two VRAM levers. - Seams inside the detailed crop - raise
latent_tile_overlap, or switch to Mixture of Diffusers. - Region looks locally coherent but composition drifts - that's the tiling comprehension limit; bigger tiles help, and for scene-critical regions consider
Detail SEGS as Regionsor Contextual Diffusion. - Node missing - update ComfyUI first.
It's the detailer for the big-canvas end of the scale-factor family: same loop, tiled guts, one more option when the crop is the problem.
Inputs (25)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | Source image containing the regions to improve. Detailed crops are blended back into this image. | |
| segs | SEGS | SEGS regions that choose which parts of the image are detailed. | |
| model | MODEL | Diffusion model used to resample each detailed crop. | |
| vae | VAE | VAE used to encode crops to latents and decode the edited crops. | |
| positive | CONDITIONING,CONDITIONING_BATCH | Positive conditioning for detailing. A conditioning batch is matched to SEGS order. | |
| negative | CONDITIONING,CONDITIONING_BATCH | Negative conditioning for detailing. A conditioning batch is matched to SEGS order. | |
| scale_factor | FLOAT | 1.51–5 | Crop enlargement multiplier. Larger values give the sampler more detail room but use more memory. |
| upscale_method | COMBO | lanczos | Resize method for scaled crops. Sharper methods preserve detail but can show more ringing. |
| clamp_size | INT | 00–16384 | Maximum crop size in pixels after scaling. Use 0 to leave crop size unclamped. |
| seed | INT | 00–18446744073709550000 | Seed used to create sampling noise. Reusing it with matching settings makes results repeatable. |
| steps | INT | 201–10000 | Number of denoising steps. More steps can add refinement but take longer. |
| cfg | FLOAT | 8.00–100 | Prompt guidance strength. Higher values follow the positive prompt more strongly but can look overcooked. |
| sampler_name | COMBO | Sampling algorithm. It affects the image's look, speed, and stability. | |
| scheduler | COMBO | Noise schedule used during sampling. It changes how quickly structure and detail form. | |
| denoise | FLOAT | 0.500–1 | Sampling strength. Lower values preserve the input more; higher values allow larger changes. |
| feather | INT | 50–512 | Mask edge softness in pixels. Higher values blend edits more gently into the image. |
| noise_mask | BOOLEAN | true | Limit sampling noise to the selected mask area so unchanged pixels stay more stable. |
| noise_mask_feather | INT | 200–512 | Noise mask edge softness in pixels. Higher values make the sampled area fade out more gradually. |
| tiled_encode | BOOLEAN | false | Encode large crops in tiles. This lowers memory use but is usually slower. |
| tiled_decode | BOOLEAN | false | Decode large crops in tiles. This lowers memory use but is usually slower. |
| diffusion_mode | COMBO | multidiffusion | Tiled sampling blend method. MultiDiffusion is steady; Mixture of Diffusers can blend tile predictions more softly. |
| latent_tile_width | INT | 12816–512 | Width of each latent tile. Larger tiles see more context but use more memory. |
| latent_tile_height | INT | 12816–512 | Height of each latent tile. Larger tiles see more context but use more memory. |
| latent_tile_overlap | INT | 160–256 | Overlap between latent tiles. Larger overlaps reduce seams but increase sampling work. |
| latent_tile_batch_size | INT | 41–8 | Number of latent tiles sampled together. Higher values can be faster but use more memory. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | Image with the detailed regions blended back into place. |