Tiling Mode JK๐
One dropdown to make your textures tile โ or not
- TILING
If you've ever tried to make a seamless texture with SDXL or Flux, you know the drill: you patch the attention so the sampler treats the canvas as a torus, generate, pray the seams vanish. JakeUpgrade's Tiling Mode node is the boring middle bit of that workflow - a single dropdown that hands the tiling setting to whatever patcher you're using, so you can toggle it without digging through node internals.
It does nothing on its own. It's a four-way selector that outputs one string, named TILING:
- enable - full seamless wrap, both axes
- x_only - wraps horizontally, not vertically
- y_only - wraps vertically, not horizontally
- disable - normal generation
Why you'd bother
The output string is designed to feed straight into a seamless-tiling patcher node - in JakeUpgrade's own seamless-texture workflows that's SeamlessTile, patched into the model before the KSampler. x_only is the setting for skyline or backdrop loops where you only need horizontal wrap; y_only is for things like a water surface that should repeat down the screen but not sideways. If you're running a batch that alternates tiling and non-tiling passes, or you've built a workflow where the mode should be controllable from one spot instead of buried in a patcher, this is the node that makes it a single click.
Installing it
It ships with the JakeUpgrade pack:
cd ComfyUI/custom_nodes
git clone https://github.com/jakechai/ComfyUI-JakeUpgrade
cd ComfyUI-JakeUpgrade
pip install -r requirements.txt # Windows standalone: install.bat
Or search "JakeUpgrade" in ComfyUI Manager. Restart, and Tiling Mode JK๐ shows up under JK > Misc. No models to download for this one.
The real gotcha
The dropdown is the easy part; the patcher is the fiddly part. The original ComfyUI-seamless-tiling pack stopped working with recent ComfyUI and went inactive, so JakeUpgrade now ships its own modified SeamlessTile.py in the pack's replacement folder - you copy that over the old one to keep seamless workflows alive. If your workflow throws an import error around SeamlessTile, that's why, and it's the fix.
Also worth knowing: seamless tiling is a patch on the model's attention, so it's sensitive to which sampler and steps you use - low step counts often leave visible seams anyway, and adding a bit of overlap-and-stitch in post is normal. And if you're here because your images keep accidentally tiling at high resolution, that's a different problem: generating way past a model's native resolution produces repetition artifacts, and the fix there is upscaling in a second pass, not this node.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| tiling | COMBO | disable | Tiling mode for image generation |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| TILING | STRING | โ |