LLS Simple Image Composite
Overlay a logo, sticker, or element onto a background — with scale, rotation, and opacity
- background_image
- overlay_image
- output_image
Sometimes generation isn't the hard part - the hard part is putting one image on top of another at the right position, size, and angle. LLSSimpleImageComposite is the "composite an overlay onto a background" node, and it reads like the wish list for that exact job: translation, scale, rotation, opacity, alpha-aware blending, and a couple of anchor modes. It's the kind of node you reach for when a product shot needs a logo stamped on it, a sticker needs placing, or a face needs pasting back after an edit pass.
The output canvas is always the background_image's size - that's the frame of reference for everything. The overlay_image gets transformed according to your settings and composited on top; anything that pokes outside the background is clipped. If the overlay has an alpha channel, it's honored during blending.
The inputs that matter
x_offset/y_offset- where the overlay lands, in pixels.anchor_mode-top_leftorcenter. This is your reference point for positioning: center mode makesx_offset/y_offsetrelative to the overlay's center, which is the sane way to think about "put this in the middle."scale(0.01–32, default 1) androtation(-360 to 360) - withkeep_aspect(on by default) so scaling never distorts.opacity(0–1) - how strongly the overlay shows.rotation_origin_mode- independently controls whether rotation spins around the overlay's top-left or center. Separating it fromanchor_modeis a genuinely useful touch: position by center, rotate by top-left, no compromises.blend_mode- currently onlynormal, which is honest about scope.
The single output is output_image. Wire it into a Preview or Save Image.
Where it fits
The pack's own docs frame it for logos, stickers, and placing local elements - and it doubles as the manual composite step at the end of a repair workflow when you want pixel control over a paste. The README notes the node prefers Load Image-style upstream sources for its in-node live preview, so keep that in mind when building the graph.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/Gin3601/LLS-node
# restart ComfyUI
Or ComfyUI Manager → search "LLS-node". Pure tensor compositing, no models to download.
Gotchas
If you composite an opaque overlay, opacity is your only blending control - there's no mask input on this node, so feathered blending means feathering the overlay's alpha beforehand. And because the background defines the canvas, feeding a small background under a large overlay gets you clipping, not auto-resize; size the overlay (or the background) first. For beginners the biggest win is remembering anchor_mode = center exists - trying to center something by pixel arithmetic with top-left anchors is a one-way ticket to frustration.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| background_image | IMAGE | — | |
| overlay_image | IMAGE | — | |
| x_offset | INT | 0-8192–8192 | — |
| y_offset | INT | 0-8192–8192 | — |
| anchor_mode | COMBO | top_left | 2 options: top_left, center |
| rotation_origin_mode | COMBO | center | 2 options: top_left, center |
| opacity | FLOAT | 1.000–1 | — |
| blend_mode | COMBO | normal | 1 options: normal |
| scale | FLOAT | 1.000.01–32 | — |
| rotation | FLOAT | 0.0-360–360 | — |
| keep_aspect | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| output_image | IMAGE | — |