π¬ Studio42 PatchDrop
Drop a patch onto an image β feathered, blended, rotated, exactly where you want
- original_image
- patch_image
- patch_mask
- result_image
- placement_mask
- preview_image
Studio42 PatchDrop is the second half of the pack's lift-and-drop pair: it takes a patch image and places it onto an original image at pixel-precise coordinates, with masks, blend modes, opacity, feathering, scaling, rotation, and shape-aware placement. It's the node that makes a pasted-in element look placed instead of pasted.
The classic workflow: lift a patch with PatchLift Loader (which hands you x/y/width/height), do something to it, and wire the coordinates straight in here. But it also stands alone - drop a logo, replace a face region, composite a cutout from the Background Remover. If you're building a workflow where "put thing here, exactly" is the requirement, this is the node.
What you set
- original_image and patch_image - the base and the element.
- patch_x / patch_y - drop coordinates, Β±2048/4096.
- patch_mask - optional MASK for transparency control (essential for non-rectangular patches or cutouts).
- patch_width / patch_height - target size (16β1024), with resize_patch controlling whether the patch is actually resized to fit and preserve_aspect to keep proportions.
- patch_shape - rectangle, circle, or rounded_rectangle, with corner_radius.
- blend_mode - 9 modes (normal, multiply, screen, overlay, soft_light, hard_light, difference, lighten, darken).
- opacity - 0β1.
- feather_edges - 0β50, the "make the seam disappear" control. This plus a soft blend mode is how pasted things stop looking pasted.
- scale (0.1β3) and rotation (Β±360Β°).
- position_mode -
use_coordinates,center, ormanual(the last two override with presets ormanual_x/manual_y).
What comes out
result_image (the composite), placement_mask (the mask of where the patch actually landed - great for debugging or reuse), and preview_image (with overlay indicators).
The honest tips
- Feather 5β15 and
soft_light/overlayare the pack's own recommended starting point for integrated patches;normal+ opacity for straight placement. - Keep
resize_patchoff when you want the original quality preserved. position_mode: use_coordinatesis what respects the PatchLift outputs; the other modes override them.
Installing it
Same pack, 24oiduts-ComfyUI:
- ComfyUI Manager: search 24oiduts, install, restart.
- Manual:
then restart.cd ComfyUI/custom_nodes/ git clone https://github.com/GeekyGhost/24oiduts-ComfyUI pip install -r 24oiduts-ComfyUI/requirements.txt
Pillow/numpy only. The GitHub README is a stale Studio42 template with a "WIP" banner - ignore it.
Troubleshooting
- Patch lands in the wrong place -
position_modeisn'tuse_coordinates, or you're feeding manual x/y that override it. - Hard edges - no feather, or the mask is missing for non-rectangular shapes. Add
feather_edgesand a proper patch mask. - Patch stretched -
resize_patchon withpreserve_aspectoff; either is fine, just know which you want.
The drop node you'd actually keep in a workflow - coordinates in, placed-and-integrated image out.
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| original_image | IMAGE | β | |
| patch_image | IMAGE | β | |
| patch_x | INT | 0-2048β4096 | β |
| patch_y | INT | 0-2048β4096 | β |
| patch_maskopt | MASK | β | |
| patch_widthopt | INT | 25616β1024 | β |
| patch_heightopt | INT | 25616β1024 | β |
| patch_shapeopt | COMBO | rectangle | 3 options: rectangle, circle, rounded_rectangle |
| blend_modeopt | COMBO | normal | 9 options: normal, multiply, screen, overlay, soft_light, hard_light, +3 |
| opacityopt | FLOAT | 1.000β1 | β |
| feather_edgesopt | INT | 00β50 | β |
| corner_radiusopt | INT | 205β100 | β |
| scaleopt | FLOAT | 1.000.1β3 | β |
| rotationopt | FLOAT | 0-360β360 | β |
| position_modeopt | COMBO | use_coordinates | 3 options: use_coordinates, center, manual |
| manual_xopt | INT | 0-2048β4096 | β |
| manual_yopt | INT | 0-2048β4096 | β |
| resize_patchopt | BOOLEAN | false | β |
| preserve_aspectopt | BOOLEAN | true | β |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| result_image | IMAGE | β |
| placement_mask | MASK | β |
| preview_image | IMAGE | β |