LayerUtility: ImageBlendAdvance V3
ImageBlendAdvance V3
- layer_image
- background_image
- layer_mask
- image
- mask
This is the compositor you reach for when the layer needs to move. Plain ImageBlend stacks two same-size images and blends them; ImageBlendAdvance adds full transform - position, scale, rotation, mirroring, aspect ratio - so you can drop a smaller element onto a background exactly where you want it. Placing a logo, dropping a cut-out subject into a scene, positioning a sticker, compositing a rendered object onto a plate: this is the node. V3 is the current iteration of it.
The mechanism is transform-then-blend. It takes the layer_image, applies whatever geometric transform you dial in, and then composites the result onto the background_image using the chosen blend mode and opacity, respecting a mask if you supply one. So in one node you get both the "where does it go and how big" and the "how do the pixels combine."
The controls split into two groups. Placement: x_percent and y_percent set the layer's center as a percentage of the background (50/50 is dead center - this percentage-based positioning is why it survives resolution changes), scale resizes it, aspect_ratio stretches it, rotate spins it, and mirror flips it horizontally or vertically. transform_method picks the resampling filter - lanczos is the sharp default and what you want most of the time; bilinear/bicubic are softer; nearest for pixel art. anti_aliasing (0–16) smooths transformed edges so a rotated or scaled layer doesn't get jaggies. Blending: blend_mode is the full 30-mode Photoshop set (normal, multiply, screen, overlay, and so on), and opacity fades it. invert_mask defaults to true - the usual source of "my mask is backwards."
Inputs are the layer_image (required) plus optional background_image and layer_mask. Interesting detail: the background is optional, so you can use this purely to transform and mask a layer against transparency if you skip it. Two outputs: image (the composite) and mask (the layer's mask after the transform, which is gold when you want to keep compositing or feed the placed region into an inpaint).
Install is the pack standard: search "ComfyUI Layer Style" in ComfyUI Manager, or cd ComfyUI/custom_nodes && git clone https://github.com/chflame163/ComfyUI_LayerStyle, then pip install -r requirements.txt and restart. No model downloads.
The one habit that saves you grief: because positioning is by percentage of the background, this node is forgiving about resolution changes but unforgiving about a missing mask - feed it a rectangular layer_image with no layer_mask and you'll composite the whole rectangle, hard edges and all. If you're placing a cut-out subject, pass its mask into layer_mask. And pick Advance over plain ImageBlend only when you actually need the transform; if the layer already fits, the simple node is less to configure. The standing LayerStyle warning applies too - if the node won't appear after install, the pack hit an import error (a dependency version clash, the pack's signature problem), so check the console, run "Try Fix," and reinstall requirements.
Inputs (14)
| Name | Type | Default | Description |
|---|---|---|---|
| layer_image | IMAGE | — | |
| invert_mask | BOOLEAN | true | — |
| blend_mode | COMBO | 30 options: normal, dissolve, darken, multiply, color burn, linear burn, +24 | |
| opacity | INT | 1000–100 | — |
| x_percent | FLOAT | 50.00-999–999 | — |
| y_percent | FLOAT | 50.00-999–999 | — |
| mirror | COMBO | 3 options: None, horizontal, vertical | |
| scale | FLOAT | 1.000.01–100 | — |
| aspect_ratio | FLOAT | 1.000.01–100 | — |
| rotate | FLOAT | 0.00-999999–999999 | — |
| transform_method | COMBO | 6 options: lanczos, bicubic, hamming, bilinear, box, nearest | |
| anti_aliasing | INT | 00–16 | — |
| background_imageopt | IMAGE | — | |
| layer_maskopt | MASK | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |
| mask | MASK | — |