Seamless Tile
The A1111 'Tiling' checkbox, finally ported to ComfyUI
- model
- MODEL
If you ever made textures for a game, a website background, or a wrapping pattern, you know the ritual: generate, tile it in your head, spot the seam, regenerate. The SeamlessTile node kills that loop at the source. It's the Automatic1111 "Tiling" checkbox - the one people in the webui era checked and instantly got tileable wallpaper - rebuilt as a ComfyUI node, with one upgrade A1111 never had: you can tile on X, on Y, or both, independently.
What it actually does
Drop it between your checkpoint and the sampler. In a normal workflow that's Load Checkpoint → SeamlessTile → KSampler's model input. It walks every Conv2d layer in your model and changes the padding mode from constant (which is what "no tiling" means - the edges just stop) to circular, so the convolution treats the image as if the left edge wraps around to the right edge. That's the whole trick, and it's why the node is so small. The X/Y split comes from tjm35's asymmetric-tiling-sd-webui, which the README credits.
Two inputs matter, and both are dropdowns so you can't get them wrong:
tiling-enable(both axes),x_only,y_only, ordisable. Most textures wantenable. But if you're making something that only ever repeats horizontally - a wallpaper roll, a banner, a strip -x_onlyis the honest setting. Forcing Y-wrapping on a texture that doesn't need it can subtly warp verticals.copy_model-Make a copyorModify in place. ComfyUI shares one loaded model across every node that holds it. "Modify in place" rewrites that shared model, so anything downstream that reuses it suddenly tiles too, whether you asked for it or not. Make a copy is the safe default; leave in-place for when you're sure the model isn't used elsewhere.
The output is a MODEL, wired straight into your sampler.
Install
ComfyUI Manager → Install Custom Nodes → search "Seamless tiling" (the pack is titled "Seamless tiling Node for ComfyUI"). Or the manual way:
cd ComfyUI/custom_nodes
git clone https://github.com/spinagon/ComfyUI-seamless-tiling
Restart ComfyUI. There are no pip dependencies beyond what ComfyUI already ships and no model files to download - it's pure torch plumbing over torch.nn.functional.pad.
Where people get burned
The #1 confusion is expectations. A real r/comfyui thread on exactly this: someone installed it to make a seamless texture out of Flux output, and the reply that got the point across was "the seamless tiling node is not for generating seamless textures." Right. This node changes how the model samples - so the image that comes out is tileable. It does nothing to an image you already have. If you want to make an existing render tileable, that's a different tool entirely (often just the OffsetImage trick from this same pack plus a bit of inpainting).
The second gotcha is model architecture. This works by patching Conv2d layers, and community reports confirm it works well on SDXL and Flux - but it does nothing on Qwen Image, which is a DiT with a transformer backbone that doesn't have those conv layers to patch. If your seamless generation just ignores the node entirely, check whether you're on a pure-DiT model. At 5 impressions this isn't a big page, but it's the node you actually want 90% of the time in this pack - it's the one that does the real work.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| tiling | COMBO | 4 options: enable, x_only, y_only, disable | |
| copy_model | COMBO | 2 options: Make a copy, Modify in place |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |