Zenkai Pose Map
One seed, one random pose map
- IMAGE
If you've ever built an OpenPose ControlNet workflow, you know the annoying part isn't the ControlNet - it's sourcing the pose image. Either you run a DWPose detection node on a reference photo and pray the pose reads, or you go hunting through folders for a skeleton that fits the shot you want. Zenkai Pose Map skips all of that. It picks a random pose map out of a folder and hands it to you as an IMAGE. That's the entire job, and it does it well.
It's part of the Zenkai family inside DJZ-Nodes, MushroomFleet's big grab-bag pack, and it's aimed at one workflow: batch generation with pose variety. Run the batch a few times, change the seed, and each run gets a different pose reference with zero effort from you.
How it works
The mechanism is almost embarrassingly simple, which is fine. The node lists the subfolders inside the pack's posemaps/ directory, seeds Python's random with your seed value, and does random.choice() over the image files (.jpg, .png, .jpeg) in the folder you picked. It converts the winner to RGB, normalizes it to 0–1 floats, and returns it as a batched IMAGE tensor.
No API calls, no model downloads, no pose detection pass. If the image in that folder is already a pose map (a skeleton render, an OpenPose output, whatever), that's what you get. The repo ships exactly one folder, posemaps/jojo, with four images - so out of the box you have one dropdown entry and a four-image pool.
The two inputs that matter
There are only two, and you only ever touch one:
- pose_folder - a dropdown of subfolders under
posemaps/. To get more variety than the bundled "jojo" set, drop your own folder of pose images in there and restart ComfyUI. - seed - the only thing that changes which image you get. Same seed plus same folder always returns the same pose map.
Output
A single IMAGE tensor ([1, H, W, 3]). Wire it into a ControlNet Apply node paired with an OpenPose/DWPose-style control model. One honest caveat: it supplies the condition image only. Your ControlNet model still has to actually support pose conditioning - union packs vary on which conditions they cover, so check before you blame the node.
Install
It ships with DJZ-Nodes, so install the pack once:
cd ComfyUI/custom_nodes
git clone https://github.com/MushroomFleet/DJZ-Nodes
cd DJZ-Nodes
pip install -r requirements.txt
Then restart ComfyUI. Or search "DJZ-Nodes" in ComfyUI Manager and let it do the same thing. This node itself is light - just PIL, numpy and torch - but the pack's requirements.txt drags in heavy stuff (opencv, librosa, numba, moderngl) that the other 100+ nodes use, so the install can take a while.
Gotchas
- Small pool trap: if your chosen pose folder has a single image, the seed does nothing and every run is the same pose. Add images or add folders.
- It doesn't detect poses. Drop raw photos in and you'll feed the ControlNet a photo, not a skeleton. This node is a picker, not a detector - the source images are on you.
- Because the dropdown is built by scanning the folder at startup, any new folder needs a ComfyUI restart to show up.
For a one-shot random pose this is all you need. If your actual problem is "I want a sequence of poses for a video," that's what its sibling Zenkai Video Pose is for.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| pose_folder | COMBO | 1 options: jojo | |
| seed | INT | 00–4294967295 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |