Nodes/ComfyUI_Lam/姿态编辑器
ComfyUI Node

姿态编辑器

The LAM pose editor

By yanlang0123·Created 2 years ago·Updated 11 days ago· 77
姿态编辑器
    • 姿态图
    • 手部图
    • 画板图
    • 宽度
    • 高度
    • 头部遮罩组
    • 整体遮罩组
    • 坐标(w,h,x,y)组
    • 背景图
    • 正词组
    • 反词组
    image
    index0
    width512
    height512

    LAM.OpenPoseEditorPlus (姿态编辑器, "pose editor") is the lam pack's interactive pose editor: a browser canvas where you draw a human skeleton - and hands, and a background, and per-part prompts - and it hands ControlNet-ready pose images plus a pile of structured outputs back to your graph. If you've used the classic OpenPose Editor node and wished it had more knobs, this is that node with extra knobs.

    ControlNet's OpenPose branch is the standard way to pin a character's stance (the KB's controlnet essay lists it alongside depth and canny as one of the "production conditions"), and the whole point of an editor is that you don't have to find a photo with the exact pose you want - you draw it. Where this node goes further than the usual editor is the pipeline thinking: it doesn't just emit a pose image. It also produces masks, bounding boxes, background, and prompt lists, all coordinated, which is what makes it usable in the pack's loop/detail workflows where each detected person gets an individual detail pass.

    How it works

    The frontend is the pack's "paint-board" canvas (registered as a ComfyUI web extension). Pose keypoints you draw are serialized into the workflow's node inputs (wPose_*), and the Python side reconstructs them: it renders the skeleton onto a canvas with draw_bodypose, places hand images from the pack's docs/hands/ library (with scale, flip, and angle per hand), composites any drawn background, and computes per-person masks and bounding boxes. Optionally it can detect a pose from a photo instead of hand-drawing: point the image input at an example image and it runs a real OpenPose body estimator - downloading body_pose_model.pth from the lllyasviel Annotators repo on first use.

    Inputs and output

    • image - dropdown of images in your input folder (used for pose detection or as the painter reference).
    • index - selects which saved pose/painter state to use.
    • width / height - canvas dimensions (default 512×512).
    • Outputs (the big list): 姿态图 (pose image), 手部图 (hands image), 画板图 (canvas image), width, height, 头部遮罩组 (head masks, MASKS), 整体遮罩组 (full-body masks), 坐标组 (boxes as w,h,x,y, BOXS), 背景图 (background image), 正词组 (positive prompt list, LIST), 反词组 (negative prompt list).

    The pose image feeds an OpenPose ControlNet's conditioning; the masks/boxes/prompt lists feed per-region loops.

    Install

    In yanlang0123/ComfyUI_Lam - Manager search "ComfyUI_Lam", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/yanlang0123/ComfyUI_Lam
    

    restart. First pose-detection run downloads body_pose_model.pth (~200MB) automatically. This node is heavier than the pack's text utilities - it uses OpenCV and pulls the pose estimator - but it doesn't need the full install.bat requirements list for the basic drawing flow.

    Where people get tripped up

    The UI is the learning curve: pose state lives in the node's saved settings (a settings_nodes.json in the pack config), and the index input selects among saved painter states - forget to bump index and you'll keep rendering an old pose. Also, the editor expects you to understand OpenPose's 18-keypoint body format; a half-drawn skeleton produces a pose image with dangling limbs, which ControlNet will faithfully reproduce (garbage in, garbage out, as the controlnet essay warns about weak conditioning). And the hand images come from the pack's own library, so custom hand poses need you to drop PNGs into docs/hands/. It's the most complex node in this pack - budget an evening to learn it, and it'll reward you with pose control few stock editors give you.

    Categorylam

    Inputs (4)

    NameTypeDefaultDescription
    imageCOMBO1 options: example.png
    indexINT00–99999
    widthINT5120–99999
    heightINT5120–99999

    Outputs (11)

    NameTypeDescription
    姿态图IMAGE
    手部图IMAGE
    画板图IMAGE
    宽度INT
    高度INT
    头部遮罩组MASKS
    整体遮罩组MASKS
    坐标(w,h,x,y)组BOXS
    背景图IMAGE
    正词组LIST
    反词组LIST