Abstract Image Background
The plain canvas that starts every abstract workflow — solid or gradient, seeded or hand-picked
- IMAGE
This is where every workflow in the AbstractImaGen pack starts. Abstract Image Background doesn't do anything clever - it makes a solid color or a gradient at any size you like, hands you a clean IMAGE, and lets you build on top of it. The clever part is why you'd want that at all, so let's get to that first.
The whole point of this pack is to generate abstract base images on the fly, feed them into VAE Encode, and run img2img at high denoise so the model keeps your composition but paints in the actual subject. Think of it as composition control without ControlNet: the shapes and color blocks you arrange become the structure, and the checkpoint fills in the detail. If your composition is a boring gray slab, that's what you'll get back. A seeded gradient background gives the diffusion model something interesting to anchor to, and because everything is deterministic per seed, you can lock a composition you like and vary only the prompt.
What you actually set
Four things matter for a beginner:
- width / height - 64 to 2048, stepping in 8s (that's the standard ComfyUI latent-friendly grid). Match the resolution you'll run your sampler at.
- seed - this is the reproducibility lever. Same seed, same gradient direction and colors, forever.
- randomize - flip this on and the node picks background type, colors, and gradient direction itself from the seed. Good for sketching; off when you want to art-direct.
- background_type -
solidorgradient. Gradient gets yougradient_direction(vertical, horizontal, radial, diagonal) plus separate start/end color modes and hex overrides.
Colors are chosen via solid_color_mode / gradient_color_mode_start / gradient_color_mode_end, each offering random plus red, green, blue, cyan, magenta, yellow, black, and white. Drop a hex code like #FF0000 into solid_color_hex and it overrides the mode whenever it's valid - the author's tooltip says so explicitly, and it holds. Leave the hex empty and the mode rules.
How it works
Under the hood it's pure NumPy and Pillow - no model, no GPU, no API. A solid fill is a numpy array painted one color; gradients interpolate between two colors per-pixel along the chosen direction (radial is a distance falloff, diagonal is a corner-to-corner lerp). It runs in milliseconds, which is the whole appeal: you're generating infinite canvas material for free, then spending your actual GPU budget on the denoise pass.
Install
ComfyUI Manager is the easy route: search AbstractImaGen in the Custom Nodes Manager, install, restart, and refresh the browser. The nodes land under the AbstractImage menu. Manual is the same as any custom node:
cd ComfyUI/custom_nodes
git clone https://github.com/wakattac/ComfyUI-AbstractImaGen
The requirements.txt asks for Pillow, numpy, scipy, and torch - torch comes with ComfyUI and the first three are almost certainly already installed. There are no model files to download and no API key to find. Restart ComfyUI after the clone and you're done.
Gotchas
Because this node is just a base layer, it doesn't validate anything about what you wire after it - if you feed a solid red square into img2img at denoise 0.2 you'll get a slightly redder square. That's not a bug, that's the workflow telling you to push denoise up toward 0.8–0.9 so the composition is a starting point, not a straitjacket. Also note the randomize toggle only varies things when you actually change the seed; reseed to reshuffle.
The output IMAGE wires straight into any layer node in this pack (or into VAE Encode on its own if you want a pure color study). That's the intended chain: Background → layers → postprocessing → VAE Encode → sampler.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| width | INT | 51264–2048 | Width of the generated image. |
| height | INT | 51264–2048 | Height of the generated image. |
| seed | INT | 00–18446744073709550000 | Seed for background randomness. |
| randomize | BOOLEAN | false | If true, randomize background type, colors, and gradient direction using the seed. Hex inputs override random colors if valid. |
| background_type | COMBO | solid | Choose between a solid color or gradient background. |
| solid_color_mode | COMBO | random | Color selection mode for solid background. |
| solid_color_hex | STRING | Hex code for solid color background (overrides Solid Color Mode if valid). Example: #FF0000 for red. | |
| gradient_color_mode_start | COMBO | random | Color selection mode for the gradient start color. |
| gradient_color_mode_end | COMBO | random | Color selection mode for the gradient end color. |
| gradient_start_hex | STRING | Hex code for gradient start color (overrides Start Color Mode if valid). Example: #00FF00 for green. | |
| gradient_end_hex | STRING | Hex code for gradient end color (overrides End Color Mode if valid). Example: #0000FF for blue. | |
| gradient_direction | COMBO | vertical | Direction of the gradient. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |