Nodes/tri3d-comfyui-nodes/Position pose part v5.1.0
ComfyUI Node

Position pose part v5.1.0

Stamp a cropped pose part back onto the original image by coordinates

By TRI3D-LC·Created 3 years ago·Updated about a year ago· 27
Position pose part v5.1.0
  • og_image
  • extracted_image
  • image
coordsxmin, xmax, ymin, ymax

A disarmingly simple node hiding in a pack full of complicated ones. tri3d_position_pose_part takes the original image, a cropped-out piece of it, and a coordinate string, then pastes the piece back at exactly those coordinates. That's the whole job. It's the "put it back" half of an extract-and-return workflow, and its companion tri3d-extract_pose_part (also in this pack) hands you the coordinates in the exact format this node wants.

The use case: you crop a pose part - say, a hand or a leg region - out of a pose or photo, process it in isolation (inpaint, warp, re-detail), and then need it back in place without touching the rest of the image. This is the paste step, and it's batch-safe and dumb in the good way.

How it works

Nothing clever under the hood, which is fine. It parses coords as four comma-separated integers - xmin, xmax, ymin, ymax - and does a plain numpy slice assignment:

og_image[ymin:ymax, xmin:xmax, :] = extracted_image

The extracted image is dropped in at that box, replacing whatever was there. The coords default string is literally "xmin, xmax, ymin, ymax", a placeholder, not a usable value.

The inputs that matter

  • og_image - the original (or current) image you want the part pasted onto.
  • extracted_image - the cropped piece. It should be sized to fit the box.
  • coords - a STRING like "120, 380, 200, 540". Format: xmin, xmax, ymin, ymax - note the order (xmin, xmax, then ymin, ymax). If you're coming from the extract_pose_part node, wire its coords output straight in and you're done.

Output: the composited IMAGE.

Installing it

This is part of the TRI3D-LC/tri3d-comfyui-nodes pack, so one install covers it:

cd ComfyUI/custom_nodes
git clone https://github.com/TRI3D-LC/tri3d-comfyui-nodes
cd tri3d-comfyui-nodes
pip install -r requirements.txt

or ComfyUI Manager → "tri3d-comfyui-nodes", restart, and it's under the TRI3D category.

Where people get burned

The one guaranteed failure: leaving coords at its default. That string doesn't parse as integers, so the node crashes with a ValueError the moment you run it. Anyone who's hit this has done so because they forgot the placeholder is a placeholder. Second, coordinate order - it's xmin, xmax, ymin, ymax, not the xmin, ymin, xmax, ymax most people type first. And third, if extracted_image isn't exactly xmax-xmin by ymax-ymin pixels, the slice just clips or stretches the paste - numpy won't resize it for you. Size the crop to the box, or use the companion extract node so the numbers line up by construction.

CategoryTRI3D

Inputs (3)

NameTypeDefaultDescription
og_imageIMAGE
extracted_imageIMAGE
coordsSTRINGxmin, xmax, ymin, ymax

Outputs (1)

NameTypeDescription
imageIMAGE