Nodes/Mikey Nodes/Mikey Sampler Tiled Advanced Base Only
ComfyUI Node

Mikey Sampler Tiled Advanced Base Only

Swap your VAE Decode for a built-in hires pass

By bash-j·Created 3 years ago·Updated 10 months ago· 188
Mikey Sampler Tiled Advanced Base Only
  • base_model
  • samples
  • vae
  • positive_cond_base
  • negative_cond_base
  • image_optional
  • output_image
model_name
seed0
denoise_image1.00
steps30
cfg6.5
sampler_name
scheduler
upscale_by1.0
tiler_denoise0.25
tile_size1024

Here's the pitch, and it's a real one people actually do in practice: take the VAE Decode node you already have at the end of your SDXL graph, and replace it with this. You get an image back either way - but this version also tiles the image and runs a second, detail-adding pass over it first, so the "decode" step doubles as a free hires fix. No separate upscale node, no separate second KSampler chain to wire up.

How it works

Once your base sampling is done, this node upscales the latent, splits the result into overlapping tiles sized by tile_size, and resamples each tile individually before stitching them back together - the same core idea as Ultimate SD Upscale or Tiled Diffusion, just built into the sampler node itself instead of being a separate stage you assemble. Because tiling happens at the pixel level, the node decodes for you: unlike its plain LATENT-in-LATENT-out siblings, this one hands back a finished IMAGE.

There's also an image_optional input the plain tiled sampler doesn't have - feed it an existing image directly and you can skip the latent-sampling step entirely, using this as an img2img-style tiled refiner on an image from anywhere, not just from this node's own base pass.

The inputs and outputs that matter

  • base_model, samples, vae, positive_cond_base, negative_cond_base - standard SDXL base inputs.
  • model_name - the neural upscale model, pulled from your upscale_models folder, same as the non-Advanced samplers in this pack.
  • steps (default 30) and cfg (default 6.5) - squarely in the community's normal SDXL range (5–9 CFG, 20–35 steps).
  • sampler_name and scheduler - full manual control, no defaults baked into the schema, so pick deliberately. DPM++-family samplers on Karras or exponential schedules are the safe choice for SDXL specifically - this is a DDPM-style architecture, not flow-matching, so that older advice still applies here.
  • denoise_image (default 1) - how much the base pass changes the input.
  • upscale_by (default 1, min 0.1) - target size multiplier before tiling.
  • tiler_denoise (default 0.25) - how hard the tiled pass reworks each tile. Kept low by design, the same way any tiled-upscale denoise strength is - push it too high and tiles start disagreeing with their neighbors at the seams.
  • tile_size (default 1024, range 256–4096, step 64) - pixel size of each tile. 1024 lines up neatly with SDXL's native training resolution, which is a reasonable reason it's the default rather than an arbitrary round number.
  • image_optional - skip latent sampling and feed an existing image straight into the tiled pass.
  • output_image - the finished, decoded IMAGE. Nothing further to decode.

How to install it

Part of the standard Mikey Nodes pack. ComfyUI Manager: search "Mikey Nodes," install, restart. Manually:

cd ComfyUI/custom_nodes
git clone https://github.com/bash-j/mikey_nodes

then restart. You'll need an upscale model in ComfyUI/models/upscale_models (OpenModelDB) for the model_name widget to have anything to offer.

Common issues & troubleshooting

Visible seams between tiles. Lower tiler_denoise - 0.25 is the tested default for a reason, and pushing it up in search of "more detail" is the most common way to get tiles that don't agree with each other at the edges.

Slow, or running out of VRAM. Smaller tile_size trades speed and memory for more tiles to stitch; bigger tiles are faster per-tile but heavier per-tile. 1024 is the balanced starting point; go smaller before you go bigger if you're tight on VRAM.

Empty model_name dropdown. Same as everywhere else in this pack - it's reading ComfyUI/models/upscale_models, and an empty folder means an empty list.

Expected a LATENT output. This node decodes internally and hands back output_image, not a latent. If your graph downstream expects a latent (another sampler stage, for instance), this is the wrong node in that spot - reach for Mikey Sampler Tiled Base Only if you specifically need to stay in latent space, though note that one doesn't output a latent either - both tiled variants decode to IMAGE, since tiling is inherently a pixel-space operation.

CategoryMikey/Sampling

Inputs (16)

NameTypeDefaultDescription
base_modelMODEL
samplesLATENT
vaeVAE
positive_cond_baseCONDITIONING
negative_cond_baseCONDITIONING
model_nameCOMBO0 options:
seedINT00–18446744073709550000
denoise_imageFLOAT1.000–1
stepsINT301–1000
cfgFLOAT6.50–1000
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
upscale_byFLOAT1.00.1–10
tiler_denoiseFLOAT0.250–1
tile_sizeINT1024256–4096
image_optionaloptIMAGE

Outputs (1)

NameTypeDescription
output_imageIMAGE