Tiled Diffusion
Generate huge images on a GPU that shouldn't be able to
- model
- MODEL
If you've ever tried to render or img2img-upscale something big - 4K, a poster-size print, anything past what your card comfortably handles - and watched ComfyUI eat your VRAM alive, this is the node that fixes it. Tiled Diffusion splits the denoising work into overlapping tiles, runs each one, and blends the seams so you can't tell it happened. The payoff is real: you can produce 2K–4K+ images on a 6–8GB card that would OOM instantly trying to do it in one shot.
Why you'd reach for it
This isn't a novelty trick, it's one of the standard-issue tools for print-size or ultra-large generation and upscaling. Paired with a ControlNet Tile preprocessor (feeding your source image back in as a condition so each tile stays faithful to it instead of drifting off and inventing its own thing), it's one of the most reliable upscaling workflows the community has settled on for photorealistic content. Skip the ControlNet Tile step and you risk visible patchwork where neighboring tiles disagree about fine detail - the tile condition is what keeps them honest.
It also just fixes the standard "generating way above native resolution gives you repeated limbs and duplicated patterns" problem, since each tile only ever sees a chunk small enough for the model to reason about sanely.
How it works
The node reproduces two published tiling strategies - MultiDiffusion and Mixture of Diffusers - plus the author's own experimental SpotDiffusion (its own node, see below). Functionally, don't overthink the difference between the first two: both chop the latent into overlapping tiles, denoise each independently, and merge the overlaps back together every step so no hard edges form. They differ in exactly how they weight the overlap region, and in practice one occasionally just looks cleaner than the other on a given image - worth trying both if you're not happy with the seams.
Inputs and outputs
You wire this in between your model loader and your KSampler - it takes a model and hands back a patched model, exactly the shape KSampler expects. The knobs that actually matter:
method-MultiDiffusion,Mixture of Diffusers(the default), orSpotDiffusion. Start with the default; it's a solid general choice.tile_width/tile_height(default 768×768) - the size of each tile in pixels, not latent units - the node converts internally.tile_overlap(default 64) - how much adjacent tiles overlap. This is what hides the seams; too low and you see tiling artifacts, too high and you're wasting compute re-processing the same pixels.tile_batch_size(default 4) - how many tiles get processed together. Bump it up if your card has headroom; it's a straight speed win at the cost of VRAM.
The author's own tuning tip is genuinely useful: set tile_overlap to 0 and denoise to 1 first, so you can see the raw tile seams, then dial tile_overlap back up until they disappear. Trying to eyeball the right overlap without seeing the failure mode first is guesswork.
How to install it
- ComfyUI Manager - search "Tiled Diffusion & VAE for ComfyUI", install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/shiimizu/ComfyUI-TiledDiffusion, then restart ComfyUI.
No model downloads, no extra weights - it's a pure algorithm node that works with whatever checkpoint and VAE you're already running. Supports SD1.x/2.x, SDXL, SD3, and FLUX, with ControlNet support built in.
Common issues & troubleshooting
You can see the tile edges. Increase tile_overlap. Use the author's own trick above (overlap 0, denoise 1) to make the seams obvious first, then work back up until they blend.
It's slow. Raise tile_batch_size if you have VRAM to spare - more tiles in parallel, fewer sequential passes.
Colors look slightly off after tiling. The README points at the colorfix node from Comfyui-StableSR as the fix; tiled decoding can shift contrast a little, and colorfix corrects it.
Tiles look like a patchwork with visible detail mismatches between them. Add a ControlNet Tile preprocessor feeding the original (or an upscaled version of the original) image back into the same pass. Without it, nothing forces neighboring tiles to agree on fine detail.
It's filed under _for_testing in the node menu. That's just where the pack put it in ComfyUI's category tree, not a sign it's unstable - this is the pack's flagship node and the one people actually use.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| method | COMBO | Mixture of Diffusers | 3 options: MultiDiffusion, Mixture of Diffusers, SpotDiffusion |
| tile_width | INT | 76816–8192 | — |
| tile_height | INT | 76816–8192 | — |
| tile_overlap | INT | 640–2048 | — |
| tile_batch_size | INT | 41–8192 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |