Image Seamless Quilting MP
Make any image tile seamlessly (the reliable way)
- src
- lookup
- IMAGE
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,0does the full guess, and1/2pick 1/3 or 3/4 of the texture's shortest edge. Leaving it at-1is 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
srcis 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.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| src | IMAGE | — | |
| ori | COMBO | H | 3 options: H, V, H & V |
| block_size | INT | -1-1–512 | — |
| overlap | FLOAT | 0.200.1–0.5 | — |
| tolerance | FLOAT | 0.100–2 | — |
| seed | INT | 00–18446744073709550000 | — |
| version | INT | 31–3 | — |
| blend_into_patch | BOOLEAN | false | — |
| lookupopt | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |