Nodes/comfyui_quilting/Image Seamless Quilting MP
ComfyUI Node

Image Seamless Quilting MP

Make any image tile seamlessly (the reliable way)

By bmad4ever·Created 2 years ago·Updated about a year ago· 10
Image Seamless Quilting MP
  • src
  • lookup
  • IMAGE
oriH
block_size-1
overlap0.20
tolerance0.10
seed0
version3
blend_into_patchfalse

The seam is where the wrap-around happens - the right edge meets the left, the bottom meets the top. If you're making textures for a game, a website background, or a material map, that seam is the difference between "tileable" and "I can see exactly where the repeats start." This node quilts the seam away so the image tiles perfectly. It's the Multi Patch (MP) member of bmad4ever's seamless quilters, and it's the one to start with.

SP vs MP in one breath

The pack ships two seamless styles. SP (Single Patch) is fast but rarely looks good without a supplied lookup texture. MP rebuilds the transition strip from small overlapping square patches, which handles intricate textures far better - and it works with no lookup at all, using your source image as its own patch material. The example workflows lean MP for a reason. Unless you specifically want the single-block behavior (see the SP node), use this one.

How it works

You tell it which way to make things seamless with ori - H (left↔right), V (top↔bottom), or H & V (both). It quilts the vertical seams first, then the horizontal one, and finishes the corner where the two meet with two square patches. Because at least two opposite edges overlap the texture, overlap is capped at 50% on all seamless nodes - and the README notes that even the cap is usually too much; stay comfortably below it.

The inputs that matter

  • ori - H / V / H & V.
  • block_size - the image nodes get the nice auto range. -1 (default) does a quick frequency-only guess, 0 does the full guess, and 1/2 pick 1/3 or 3/4 of the texture's shortest edge. Leaving it at -1 is a perfectly sane starting point.
  • tolerance - MP's pattern-variation dial, same idea as the base quilting node: too low and it gets repetitive, too high and transitions get sloppy.
  • seed - the random pick among candidate patches.
  • lookup (optional) - a separate texture to draw patches from. Leave it empty and src is used, which is what you want most of the time.

Output is a single IMAGE, tileable in the orientation(s) you asked for.

The trick that makes it worth having

Diffusion models are famous for producing visible seams when you generate tileable content - the model simply doesn't know the edges wrap. A neat workflow in this pack's examples: make your texture seamless here, then run sampling with seamless (periodic) padding. Because the input is already seamless, the sampled output stays seamless. Two classical tools, and the tiling problem is dead before it ever happens.

Installing

Same install as the whole pack: ComfyUI Manager → search comfyui_quilting, or git clone plus pip install -e. No models to download. The only trap beyond overlap is remembering that version and blend_into_patch exist if you want the fancier patch matching and blended transitions described in the README - the defaults are fine for a first run.

CategoryBmad/CV/Quilting

Inputs (9)

NameTypeDefaultDescription
srcIMAGE
oriCOMBOH3 options: H, V, H & V
block_sizeINT-1-1–512
overlapFLOAT0.200.1–0.5
toleranceFLOAT0.100–2
seedINT00–18446744073709550000
versionINT31–3
blend_into_patchBOOLEANfalse
lookupoptIMAGE

Outputs (1)

NameTypeDescription
IMAGEIMAGE