LayerStyle: GradientOverlay
GradientOverlay — a two-color gradient wash over your layer
- background_image
- layer_image
- layer_mask
- image
Photoshop's Gradient Overlay layer style, ported straight in. You pick a start color and an end color, an angle, and this node paints a linear gradient across your subject's shape and blends it in. That's the whole idea - a color wash that follows the mask, not a flat rectangle slapped over the image.
Where it earns its keep: mood grading (a warm-to-cool wash across a portrait), a fake light-source tint, a colored backdrop panel behind text, or a sunset-style sky gradient over a masked region. It's a cheap, controllable way to push a color grade onto exactly the area you want, without touching the rest of the frame.
How it works
The mask (from layer_mask, or the layer's own alpha with invert_mask set correctly) defines where the gradient applies. Two color stops - start_color/start_alpha and end_color/end_alpha - get interpolated across the shape at the angle you set, then the whole gradient layer is blended onto the background at your chosen opacity and blend_mode. The per-stop alpha values matter more than they look: they let you fade one end of the gradient toward transparent instead of forcing a hard color-to-color blend, which is the difference between "colored wash" and "colored film."
The inputs and outputs that matter
start_color/end_color(hex, defaults#FFBF30and#FE0000) - the two stops. Loud amber-to-red defaults so you can immediately see where the gradient falls before you pick real colors.start_alpha/end_alpha(0–255, default 255 both) - per-stop opacity. Drop one toward 0 to fade that end out instead of hard-stopping at a color.angle(-180 to 180, default 0) - gradient direction. 0 is typically left-to-right; rotate to angle it however the light or mood calls for.invert_mask(default true) - flip this if the gradient's landing on the background instead of the subject.background_image,layer_image, optionallayer_mask, plusopacityandblend_mode(19 options on this node).
Output: a single composited image.
How to install it
Part of the ComfyUI Layer Style pack. ComfyUI Manager → search ComfyUI Layer Style → install → restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/chflame163/ComfyUI_LayerStyle
pip install -r ComfyUI_LayerStyle/requirements.txt
then restart. Shows up under 😺dzNodes → LayerStyle. No models needed.
Common issues & troubleshooting
Gradient's on the wrong region. invert_mask again - it's the single most common LayerStyle gotcha across the whole pack, and this node is no exception. Flip it if the wash lands on the background instead of your subject.
Colors look muddy instead of a clean gradient. Check blend_mode. normal gives you the gradient as-is; anything else (multiply, screen, and so on) mixes it with whatever's already under it, which is powerful but easy to overdo if you weren't expecting the mixing.
Barely visible effect. opacity is the first thing to check, followed by whether start_alpha/end_alpha are both dragged low - those stack multiplicatively with the layer opacity, so a low value on either one quietly kills the effect.
Node's missing entirely. That's the pack, not this node - LayerStyle's long dependency list means one broken library (transformers clashing with a stray TensorFlow install is the classic case) takes the whole pack down at import. Note there's also a GradientOverlay V2 in this pack with the same controls but a fuller, 30-mode blend list; if you're starting fresh and don't need to match an existing workflow, V2 is the one to reach for.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| background_image | IMAGE | — | |
| layer_image | IMAGE | — | |
| invert_mask | BOOLEAN | true | — |
| blend_mode | COMBO | 19 options: normal, multply, screen, add, subtract, difference, +13 | |
| opacity | INT | 1000–100 | — |
| start_color | STRING | #FFBF30 | — |
| start_alpha | INT | 2550–255 | — |
| end_color | STRING | #FE0000 | — |
| end_alpha | INT | 2550–255 | — |
| angle | INT | 0-180–180 | — |
| layer_maskopt | MASK | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |