π° Tile Prompter - McBoaty [2/3] v4 /u
Tell each tile what to do differently
- prompts
This is the node that makes McBoaty different from every other tiled upscaler. Ultimate SD Upscale and tiled diffusion will happily upscale your whole image, but they treat every tile the same. The TilePrompter lets you give each of up to 64 tiles its own prompt and see exactly which tile is which - then the Refiner honors those per-tile prompts when it runs.
It's the [2/3] middle step of the McBoaty v4 set. You don't strictly need it: pipe the Upscaler straight into the Refiner and the whole image refines with the general conditioning. Add this node when one region needs different instructions than the rest - the face tile wants "keep the likeness", the fabric tile wants "sharpen the weave", the sky tile wants to stay calm and not invent clouds.
How it works
The v4 TilePrompter is a pure text editor. It takes:
- prompts (required) - the per-tile prompt string coming out of the Upscaler (or a previous Refiner pass).
- prompt_suffix (default empty) - appended to every tile, handy for a global instruction like a quality tag.
- tile 00 through tile 63 (all optional, all multiline) - the per-tile overrides. Anything you type here replaces that tile's prompt.
Its single output is prompts - the edited STRING you wire into the Refiner's prompts input.
There's no image input here. The v4 version is prompt-only; it's the v5 line that added per-tile image and denoise controls to this node. If you have an old v4 workflow, expect to be setting prompt text and nothing else.
The workflow shape
The wire-up is a little counterintuitive because the TilePrompter isn't in the pipe chain. You run the pipe from the Upscaler into the Refiner's pipe input, and separately run the prompts string from the Upscaler into the TilePrompter, then from the TilePrompter into the Refiner's optional prompts input. The Refiner still has its own general sampler settings (denoise, steps, cfg) - the tile prompts ride alongside as overrides.
That means you can chain it: upscale once, look at the tiles in the Refiner's tiles output, decide tile 07 needs a nudge, type it in, and re-run just that tile. This is the workflow the v4 set was built around, and it's genuinely nice for print work where one busy patch of the image keeps getting mangled.
Installing it
It ships in the same pack as the rest of McBoaty:
cd ComfyUI/custom_nodes
git clone https://github.com/davask/ComfyUI-MarasIT-Nodes
Restart ComfyUI, then find "Tile Prompter - McBoaty" under the MaraScott/upscaling category. Or install via Manager: search "MaraScott" β Install β restart.
Common gotchas
The tile fields are optional and empty by default - an empty tile just falls back to the incoming prompt, so you don't need to fill all 64. The tile numbering is fixed (tile 00 is top-left, the count is set by your Upscaler's tile_size and image dimensions), so match the number you see on the Refiner's tiles preview, not a guess at reading order. And since v4 is prompt-only, don't go looking for a denoise slider here - that lives on the Refiner.
Inputs (66)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt_suffix | STRING | β | |
| prompts | STRING | β | |
| tile 00opt | STRING | β | |
| tile 01opt | STRING | β | |
| tile 02opt | STRING | β | |
| tile 03opt | STRING | β | |
| tile 04opt | STRING | β | |
| tile 05opt | STRING | β | |
| tile 06opt | STRING | β | |
| tile 07opt | STRING | β | |
| tile 08opt | STRING | β | |
| tile 09opt | STRING | β | |
| tile 10opt | STRING | β | |
| tile 11opt | STRING | β | |
| tile 12opt | STRING | β | |
| tile 13opt | STRING | β | |
| tile 14opt | STRING | β | |
| tile 15opt | STRING | β | |
| tile 16opt | STRING | β | |
| tile 17opt | STRING | β | |
| tile 18opt | STRING | β | |
| tile 19opt | STRING | β | |
| tile 20opt | STRING | β | |
| tile 21opt | STRING | β | |
| tile 22opt | STRING | β | |
| tile 23opt | STRING | β | |
| tile 24opt | STRING | β | |
| tile 25opt | STRING | β | |
| tile 26opt | STRING | β | |
| tile 27opt | STRING | β | |
| tile 28opt | STRING | β | |
| tile 29opt | STRING | β | |
| tile 30opt | STRING | β | |
| tile 31opt | STRING | β | |
| tile 32opt | STRING | β | |
| tile 33opt | STRING | β | |
| tile 34opt | STRING | β | |
| tile 35opt | STRING | β | |
| tile 36opt | STRING | β | |
| tile 37opt | STRING | β | |
| tile 38opt | STRING | β | |
| tile 39opt | STRING | β | |
| tile 40opt | STRING | β | |
| tile 41opt | STRING | β | |
| tile 42opt | STRING | β | |
| tile 43opt | STRING | β | |
| tile 44opt | STRING | β | |
| tile 45opt | STRING | β | |
| tile 46opt | STRING | β | |
| tile 47opt | STRING | β | |
| tile 48opt | STRING | β | |
| tile 49opt | STRING | β | |
| tile 50opt | STRING | β | |
| tile 51opt | STRING | β | |
| tile 52opt | STRING | β | |
| tile 53opt | STRING | β | |
| tile 54opt | STRING | β | |
| tile 55opt | STRING | β | |
| tile 56opt | STRING | β | |
| tile 57opt | STRING | β | |
| tile 58opt | STRING | β | |
| tile 59opt | STRING | β | |
| tile 60opt | STRING | β | |
| tile 61opt | STRING | β | |
| tile 62opt | STRING | β | |
| tile 63opt | STRING | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompts | STRING | β |