π °οΈ Arena Make Tiles Segments
Turn one big image into a grid of tiles β for detailers, tiled upscaling, or inpaint-everything
- images
- filter_in_segs_opt
- filter_out_segs_opt
- SEGS
ComfyUI can't generate at any resolution you want. Push a model past its native size and you get duplicated anatomy and tiling artifacts, so the standard escape hatch is to generate the image at a sane resolution and then process it in overlapping tiles - upscale each tile, detail each tile, fix each tile - and stitch the results back together. Arena Make Tiles Segments does the first step: it takes an image, chops it into a grid of overlapping tiles, and hands you each tile as a SEGS entry with its own mask and crop region. Whatever you were going to do per-tile, this is the node that sets it up.
Real talk on provenance: this is a port of Impact Pack's MakeTileSEGS, and it depends on Impact Pack's own SEGS machinery to run. If you already have Impact Pack installed, you may already have this node under a different name - check before you install a whole new pack just for tiling. The value here is that it ships alongside the suite's AutoCache node and reads identically to Impact Pack's other tile nodes, so it's a comfortable fit if the rest of the suite is already in your graph.
How it works
The node computes how many tiles fit across and down the image given a tile size and a minimum overlap, then distributes the overlap evenly so the grid is as uniform as possible. Each tile becomes a SEG: a mask that's solid white inside the tile, plus a crop_region that's bigger than the tile by crop_factor - that's the context your detailer gets to sample in. Tiles that would fall entirely outside your filter masks are dropped rather than emitted empty.
The one genuinely clever knob is mask_irregularity. At 0 you get hard rectangular tiles, which stitch back into a visible grid - fine for upscaling, ugly for anything organic. Turn it up and the tile edges become jagged, organic masks (with a bit of extra overlap compensation thrown in), so when you recombine the results you don't see seams. There are four modes: Reuse fast/quality reuse one generated mask pattern per run; All random fast/quality regenerate each one.
The inputs that matter
width/height- tile size. 512 is the default and the right place to start.min_overlap- how much neighboring tiles share. This is the seam-killer: too small and you'll see tile boundaries in the result. The source clamps it to less than half the tile size for you.crop_factor- how much context surrounds each tile (default 3). More context = better coherence, more VRAM per tile. If you're VRAM-bound, drop it.mask_irregularity+irregular_mask_mode- organic tile edges for natural images, as above.filter_in_segs_opt/filter_out_segs_opt- optional SEGS inputs that restrict tiling to an area (e.g. only tile over detected faces) or carve regions out (e.g. never tile over a background).filter_segs_dilationgrows or shrinks those masks.
Output is a single SEGS, which wires straight into Impact Pack's detailer pipeline - think SEGS Preprocess β per-tile sampling, or feeding a FaceDetailer-style node if you used filter_in_segs_opt to isolate a region.
Installing and the dependency gotcha
Install the pack the usual way - ComfyUI Manager, search ComfyUI Arena Suite, or:
cd ComfyUI/custom_nodes
git clone https://github.com/3dgopnik/comfyui-arena-suite
then restart. The catch: this node only registers if Impact Pack is importable. Its own code says so - if the module is missing, the node is silently disabled and you get a console warning about ComfyUI-Impact-Pack/modules. If you search for "Arena Make Tiles" and find nothing, that's why. Install ComfyUI-Impact-Pack first:
cd ComfyUI/custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack
Common issues
Missing Impact Pack is the number one failure mode, and it fails quietly - no red error, the node just isn't there. After that, the complaints are the usual tiling ones: seams from a min_overlap that's too small (bump it toward 64+), grid artifacts from leaving mask_irregularity at 0 on organic subjects, and OOM from a crop_factor of 3 on big tiles. It's a small node that does one job, but for tiled upscaling and detail-over-everything workflows, it's the setup step you'd otherwise have to build by hand.
Inputs (10)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | β | |
| width | INT | 51264β4096 | β |
| height | INT | 51264β4096 | β |
| crop_factor | FLOAT | 3.001β10 | β |
| min_overlap | INT | 50β512 | β |
| filter_segs_dilation | INT | 20-255β255 | β |
| mask_irregularity | FLOAT | 0.000β1 | β |
| irregular_mask_mode | COMBO | 4 options: Reuse fast, Reuse quality, All random fast, All random quality | |
| filter_in_segs_optopt | SEGS | β | |
| filter_out_segs_optopt | SEGS | β |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| SEGS | SEGS | β |