Walking Pose Generator
A walk cycle as OpenPose skeletons, procedurally — no model, no ControlNet preprocessing
- IMAGE
Walking Pose Generator renders a stick-figure walk cycle as colored OpenPose-style skeletons - the exact visual language ControlNet's pose model speaks - without a single neural network running. It's pure math: a base 18-keypoint pose is drawn, then each frame nudges the legs, arms and torso with sine-wave offsets so the figure looks like it's actually striding, and the frames come out batched as one IMAGE. Deterministic, instant, zero VRAM. If you've ever wanted a clean synthetic pose reference to drive pose-conditioned generation, this is the cheapest way to get one.
Where this fits: in a ControlNet workflow you normally need DWPose/OpenPose preprocessing to turn a real photo into a skeleton. This node skips that entire chain - it is the skeleton. Feed its output straight into ControlNet's pose model as the conditioning image and you get a character whose stance you fully control, since you know exactly what the pose is. It's also handy as a motion reference for video pipelines or as a placeholder to prototype a graph before you swap in real pose extraction.
Three inputs, all self-explanatory: num_frames (2–16, default 8) sets how many frames the cycle gets, and canvas_width / canvas_height (256–2048, default 512) set the output size. The skeleton uses the standard OpenPose color scheme and limb topology, drawn with OpenCV polygons for the bones and circles for the joints on a black background.
The gotcha that will actually bite you: the keypoints are hardcoded around a 512-ish canvas. The figure's torso sits near x=256 with limbs reaching out a fixed distance. If you set the canvas to 2048, the walker doesn't get bigger - it just floats in the top-left area of a huge empty frame. So keep the canvas near 512 (or scale externally) unless you want the extra letterbox space on purpose. Also worth knowing: this is a stylized procedural skeleton, not a humanoid with anatomically perfect proportions - the arms are straight-ish and the head is a single keypoint, which is plenty for ControlNet but not a substitute for a real pose capture.
Two practical notes. First, the output is a batch of frames, and many downstream nodes want a single frame - GetFirstFrame from the same pack handles that, or slice the batch. Second, this is the character/animation corner of AnotherUtils, so it fits naturally alongside the pack's sprite and character-constructor nodes if you're building game-art pipelines.
Install is the usual AnotherUtils one-liner: ComfyUI Manager → search "AnotherUtils", or cd ComfyUI/custom_nodes && git clone https://github.com/marcoc2/ComfyUI-AnotherUtils, then restart. It needs OpenCV (cv2) and numpy, both of which ship with standard ComfyUI, and there's no model file to hunt down - which, honestly, is the best part of this node.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| num_frames | INT | 82–16 | — |
| canvas_width | INT | 512256–2048 | — |
| canvas_height | INT | 512256–2048 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | IMAGE | — |