๐ Smart Tile Merger
Normalized weight blending
- base_image
- segs
- bundle
- image
Every tiled upscale eventually faces the same moment: the tiles are done and perfect, and stitching them wrong will ruin all of it. The Merger exists so that moment goes well. It takes the processed tile SEGS and composites them with normalized weight blending - accumulate every tile's contribution weighted by its mask, then divide by the total weight. In the overlap regions the weights sum to 1.0, so there are no dark seams and no bright seams. Just an image.
It's the finishing node of the "Smart Tile" subsystem in ComfyUI-ArchAi3d-Qwen (Amir Ferdos's pack), and the natural partner to the Smart Tile Sampler: Calculator โ SEGS Blur โ Sampler โ Merger โ Final Image. The Sampler deliberately skips compositing so this node can do it properly.
Inputs
- base_image - the unmodified upscaled image, same size as the output. It's the fallback: areas no processed tile covers come from here instead of turning black.
- segs - the processed tile SEGS from the Sampler (or Detailer).
- bundle (optional) - from the calculator; provides the overlap settings so you don't retype them.
- blend_mode - the one input worth understanding. Four choices:
normalized- the default and the recommended one: proper weight normalization, best quality.linear- fast, simpler weighting.smooth- Gaussian-weighted blending, driven byblur_radius.use_seg_mask- trust the masks baked into the SEGS.
- overlap (default 32) and blur_radius (default 8) - both overridden by the bundle if it's connected.
Output: image - the finished composite.
Installing
cd ComfyUI/custom_nodes
git clone https://github.com/amir84ferdos/ComfyUI-ArchAi3d-Qwen.git
cd ComfyUI-ArchAi3d-Qwen
pip install -r requirements.txt
Or ComfyUI Manager โ "ArchAi3d Qwen". No model downloads. Free for personal use; commercial use needs the pack's paid license.
The honest take
The normalized default really is the right answer in most cases - the source's whole pitch is that normalizing guarantees weights sum to 1.0 in overlaps, which is the textbook fix for seam artifacts, and it's cheaper than it sounds. smooth is the one to try when a normal blend still shows faint structure on fine repeating texture; linear is for when you're in a hurry and seams are a non-issue; use_seg_mask only pays off if you pre-blurred your masks upstream. One wiring gotcha: the base_image matters more than it looks - without it, any uncovered strip (from an imperfect grid) composites as black, and that's a much more confusing failure than a seam. Give it the calculator's scaled image and the fallback works silently.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| base_image | IMAGE | Base image (same size as output, used for fallback areas) | |
| segs | SEGS | SEGS with processed tiles (from Smart Tile Detailer) | |
| bundleopt | SMART_TILE_BUNDLE | Bundle from Smart Tile Calculator (provides overlap settings) | |
| blend_modeopt | COMBO | normalized | Blending mode: normalized=best quality, linear=fast, smooth=Gaussian, use_seg_mask=use masks from SEGS |
| overlapopt | INT | 320โ256 | Overlap between tiles (overridden by bundle if connected) |
| blur_radiusopt | INT | 80โ64 | Blur radius for smooth mode (overridden by bundle if connected) |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | โ |