💀Image Position Blend
Stick a logo, sticker, or watermark on anything without leaving the graph
- Layer image
- Background image
- Layer mask (optional)
- blended_image
The name is the whole manual. Image Position Blend takes a Layer image, drops it onto a Background image, and lets you slide it, spin it, scale it, or mirror it before the two get composited. That's it - one node, one output, no hidden API calls, no models to download. It's the thing you keep doing in Photoshop (or that awkward manual-edit round trip the community is always suggesting for fixing generations) now done inline in your workflow.
The pack's entire README is a single line - "You can easily adjust the position, rotation, and mirror effect of image A on image B in the editor" - plus a GIF of the node being dragged around. If you've ever installed a WAS Node Suite to get one blending utility, this is the focused alternative: a tiny pack that does exactly one job instead of shipping a hundred nodes you'll never open.
Why you'd reach for it
Core ComfyUI's ImageCompositeMasked will paste one image onto another with an x/y offset and a resize toggle, but it has no rotation, no mirror, and no free scale multiplier. Which is fine until you want a watermark at a 15-degree tilt, a logo flipped to face the other way, or a face pasted onto a body with the sizing done in one place. This node bundles position, rotation, scale, and mirror into a single pass, so you stop stitching four nodes together for what is conceptually one transform.
Good real-world spots for it: watermarking an output before Save Image, stamping a logo onto a product shot, compositing a subject onto a new background after a background-removal node, or placing a generated face onto a reference body for a follow-up img2img pass. In every case it slots in after VAE decode and before your Save Image / preview.
How it works
It's pure pixel math - no sampler, no model load, no VRAM pressure. It takes your layer image, applies the transform you set, and alpha-blends it over the background to produce one blended_image out. Because it never touches the diffusion model, it runs essentially instantly and is easy to iterate on: nudge, look, nudge again.
The two inputs that matter are Layer image and Background image (both IMAGE), and the transform is governed by a handful of controls. The Layer mask (optional) input is the one that earns its keep - wire a mask in and you get proper alpha control (soft, feathered edges) instead of a hard rectangle stamped onto your background.
The few inputs you actually set
- x_position / y_position - pixel offsets for sliding the layer around. Range is ±4096, which covers any sane canvas. Start at 0 and nudge; they're offsets, not fractions.
- scale - a straight multiplier: 1.0 is unchanged, 2.0 doubles it, 0.5 halves it.
- rotation - degrees, from -360 to 360. Positive spins one way, negative the other; your layer preview makes the direction obvious fast.
- mirror -
None,Horizontal, orVertical. The flip people actually want nine times out of ten is Horizontal.
Everything flows to the single blended_image output, which you wire into Save Image, a preview, or onward into another compositing step. If you're using the mask input, generate it with a background-removal node or mask-blur your layer for a feathered blend - plain masks paste hard edges.
Installing it
ComfyUI Manager is the easy route - open it, search "Image Position Blend", install, restart. The manual route works too:
cd ComfyUI/custom_nodes
git clone https://github.com/S4MUEL-404/ComfyUI-Image-Position-Blend
# restart ComfyUI
No dependencies, no model files, nothing extra to fetch. This is a handful of torch ops, which is exactly why it's this light.
Where people get burned
There's not much to trip on, honestly, but a couple of honest notes. The docs are one sentence, so the node itself is the spec - drag it in, add a preview, and poke the sliders; you'll have it dialed in a minute. And this is a genuinely obscure pack (a handful of impressions on comfy.icu, no community threads to speak of), so don't expect a support forum if a ComfyUI update ever breaks it - your options are "wait for an update" or reinstall, in that order. If the layer comes out wrong-sized, fix it with scale rather than resizing upstream; that keeps the transform all in one place. Oh, and the skull in the node title is just the author's aesthetic - the pack is not, despite appearances, cursed.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| Layer image | IMAGE | — | |
| Background image | IMAGE | — | |
| x_position | INT | 0-4096–4096 | — |
| y_position | INT | 0-4096–4096 | — |
| mirror | COMBO | None | 3 options: None, Horizontal, Vertical |
| rotation | FLOAT | 0-360–360 | — |
| scale | FLOAT | 1.000.01–100 | — |
| Layer mask (optional)opt | MASK | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| blended_image | IMAGE | — |