Cozy Pose Face Reference
Cozy Pose Face Reference
- pose
If you've ever tried to build a character face sheet the hard way - hunt down fifteen reference photos, run each through a face-landmark detector, manually fix the ones where the detector invented a second chin - you know how tedious the preprocessor roulette gets. Cozy Pose Face Reference skips all of it. It's a tiny node that drops a pre-drawn OpenPose-style face skeleton onto your graph, positioned wherever you want it in the frame, ready to feed straight into a ControlNet. No models, no key, no downloads. Pick a position, get a pose.
Why it exists
Same reason as its sibling in this pack, Cozy Pose Body Reference: reference sheets need canonical skeletons, not detector output. A character consistency sheet - the 3×5 grid of head angles you use for face-controlnet conditioning or as character-LoRA training data - only works if every panel's landmarks are the same face geometry. Extract those landmarks from real photos and the proportions drift panel to panel. These are hand-authored and symmetrical, so your sheet stays structurally consistent, and your character LoRA (or IP-adapter-style face pass) only has to handle identity, not fight a warped skeleton.
How it works
Read the source and it's hilariously small: a string builder and a PNG loader. It maps your two position choices onto a filename - vertical north/center/south becomes n/s/nothing, horizontal west/half-west/center/half-east/east becomes w/hw/c/he/e - then opens poses/face/<size>/<that>.png, converts it to a normalized float tensor, and hands you an IMAGE. Fifteen baked PNGs per resolution, each already drawn in the right spot of the canvas. That's the whole mechanism. It runs in a blink.
The inputs that matter
- vertical_position -
north,center,south. Where the head sits top-to-bottom. - horizontal_position -
west,half-west,center,half-east,east. Five columns across the frame. Combined with vertical, that's your full 3×5 = 15 grid. - size -
512or1024. Match the resolution to your pipeline; the larger set has more headroom for SDXL-era face ControlNets.
The output is a single pose (IMAGE). Done.
Wiring it up
Send pose into the image input of an Apply ControlNet node. You want a controlnet that speaks face landmarks - on SD 1.5 that's the openpose_faceonly variant (or openpose_full if you want the body context too), and union models usually have a pose mode that covers it. The important habit: skip the preprocessor. This image is already the conditioning map. If you route it back through a face-landmark detector you're just paying for a worse version of the same thing. The typical endgame is a sheet: either render each panel and composite them into a 3×5 reference grid, or train a character LoRA on the sheet directly.
Installing it
ComfyUI Manager → Install Custom Nodes → search "Cozy Reference Pose Generator" (that's the pack title; this node and Cozy Pose Body Reference ship together), install, restart. Or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/cozymantis/pose-generator-comfyui-node
The README's pip install -r requirements.txt step is essentially ceremonial here - the deps are torch, numpy, and pillow, all of which any working ComfyUI already has. No model files, no external downloads, nothing to configure.
Gotchas
The main trap is expecting too much. This is not a face detector and it doesn't animate anything - you get 15 fixed positions, period. No rotation sliders, no eyebrow tweaks, no expression control; the "angle" variety comes entirely from choosing grid positions. If you need a specific expression or a 30° turn, you're better off with an edit model on the 2026 stack or a real detector. And the position in the frame is cosmetic for ControlNet purposes - what actually matters is which skeleton you picked, so keep your grid mapping consistent when you build the sheet. It's a niche tool with one job, but for that one job it's the least fiddly thing on the market.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| vertical_position | COMBO | center | 3 options: north, center, south |
| horizontal_position | COMBO | center | 5 options: west, half-west, center, half-east, east |
| size | COMBO | 2 options: 512, 1024 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| pose | IMAGE | — |