Nodes/ComfyUI-AbstractImaGen/Abstract Image Pattern Layer
ComfyUI Node

Abstract Image Pattern Layer

Tiled patterns that read as texture, not wallpaper

By wakattac·Created about a year ago·Updated about a year ago· 1
Abstract Image Pattern Layer
  • image
  • IMAGE
seed0
randomizefalse
num_layers1
tile_size64
pattern_color_moderandom
pattern_color_hex
alpha255
shape_positionfull
blend_modenormal
feather_layerfalse
feather_sigma_min1.0
feather_sigma_max6.0

Abstract Image Pattern Layer is the one that makes your abstract base look designed instead of random. Where the other layer nodes scatter shapes or strokes across the canvas, this one builds a single small tile and repeats it edge-to-edge. Run it through the usual img2img pipeline - pattern → VAE Encode → KSampler at 0.8–0.9 denoise - and the tiling becomes a regular texture the model will happily lean on: fabric, ceramic, wallpaper, circuit boards, whatever the prompt wants to make of it.

That regularity is the whole trick, and it's why this node earns a place you might not expect. Abstract generators that go full chaos produce composition soup. A tiled base forces a rhythm, and rhythm is what makes an abstract image feel intentional. If you only stack shape and line layers you get noise; add one pattern layer and suddenly you have a motif.

Inputs that matter

  • tile_size - the size of the repeating tile, 16 to 512 in steps of 16. This is your scale control: small tiles = fine grain texture, big tiles = chunky graphic blocks.
  • num_layers - how many pattern layers to stack (1–10). Overlaying two tile sizes is a genuinely good look.
  • alpha - opacity of the pattern layer. Keep it high for a strong motif, low for a subtle background weave.
  • blend_mode - the same 12 blend modes as the rest of the pack. multiply over a light background gives a great under-print feel.

pattern_color_mode picks the color (random RGB, hex with pattern_color_hex, or named colors), shape_position can confine the tiling to a quadrant or the center, and randomize lets the seed choose tile scale, color, position, and blend mode for you.

How it works

The implementation is refreshingly direct. The node draws one tile as a transparent RGBA image with PIL - one to three small shapes (ellipse, rectangle, or line) placed inside it, colored from the pattern color mode - then stamps copies of that tile across the canvas with NumPy's np.tile and crops to the exact width/height. Because it's the same tile repeated, the pattern is perfectly seamless by construction; you don't have to fight edge wrapping like you would stitching textures manually. The layer then composites through your chosen blend function, with optional alpha feathering, and returns an IMAGE ready for the next node.

Install

This is one of the seven nodes in the AbstractImaGen pack. Easiest route is ComfyUI Manager: search AbstractImaGen, install, restart, refresh. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/wakattac/ComfyUI-AbstractImaGen

It depends only on Pillow, numpy, scipy, and torch - all standard ComfyUI companions. No models, no downloads, no config. After restarting, the node lives under AbstractImage/Layers.

Gotchas

  • tile_size is clamped to the 16-step grid (16, 32, 48, …). Type 50 and you'll get whatever the step snaps to - set sizes in multiples of 16.
  • pattern_color_hex only kicks in when pattern_color_mode is hex, same as the sibling layer nodes.
  • Because the whole tile is built from the seed, one seed change re-rolls the tile, the tiling, and the colors together. If you want to keep a motif you found and just shift its color, that's a job for the V1 generator's color salt - or just re-pick the color mode manually here.
CategoryAbstractImage/Layers

Inputs (13)

NameTypeDefaultDescription
imageIMAGE
seedINT00–18446744073709550000Seed for pattern randomness.
randomizeBOOLEANfalseIf true, randomize pattern size, colors, position, and blend mode using the seed.
num_layersINT11–10Number of pattern layers to add.
tile_sizeINT6416–512Size of the repeating pattern tile.
pattern_color_modeCOMBOrandomColor selection mode for pattern. 'random' uses implicit RGB.
pattern_color_hexSTRINGHex code for pattern color (used if Pattern Color Mode is 'hex').
alphaINT2550–255Alpha (transparency) for pattern (0 is fully transparent, 255 is fully opaque).
shape_positionCOMBOfullRestrict pattern to a specific position/quadrant.
blend_modeCOMBOnormalBlending mode to composite the pattern layer onto the base image.
feather_layerBOOLEANfalseApply Gaussian blur to the alpha channel of the pattern layer.
feather_sigma_minFLOAT1.00–20Minimum sigma for feathering (if applied).
feather_sigma_maxFLOAT6.00–20Maximum sigma for feathering (if applied).

Outputs (1)

NameTypeDescription
IMAGEIMAGE