The Pose Editor lets you manipulate an 18-keypoint OpenPose skeleton to define character poses, then use AI to generate new sprite frames based on those poses. Use it when you want precise control over a single frame. To generate a whole animation in one go, see the Spritesheet Generator.

Accessing the Pose Editor¶
Click Pose Editor in the sidebar. You need at least one character created in the Character Designer before you can generate posed frames, and a GPU with WebGL support for the canvas.
Interface Overview¶
The Pose Editor is divided into two main areas:
- Left: Skeleton Canvas -- An interactive canvas where you manipulate the 18-joint skeleton.
- Right: Character & Pose Library -- Character selection, frame navigation, generation controls, and preset/saved poses.
The Skeleton Canvas¶
Manipulating Joints¶
- Click and drag any joint (colored circle) to move it.
- By default, joints are constrained by Forward Kinematics (FK): dragging a joint rotates it around its parent while maintaining bone length. All child joints move rigidly with it.
- Hold Ctrl while dragging to enter free-move mode, which allows you to change bone length (breaking the FK constraint).
Canvas Toolbar¶
The toolbar above the canvas provides these controls:
| Button | Description |
|---|---|
| Grid | Toggle the grid overlay on/off |
| Snap | Enable/disable snapping joints to the grid |
| Scale Up | Scale the entire skeleton up by 5% |
| Scale Down | Scale the entire skeleton down by 5% |
| Mirror | Flip the skeleton horizontally (swaps left/right joints) |
| Reset | Reset to the default T-pose |
| Export | Open the export dialog for OpenPose JSON |
Selecting a Character¶
In the Character section on the right:
- Choose a character from the dropdown. Only characters created in the Character Designer appear here.
- The character's processed sprite is shown as a semi-transparent overlay on the skeleton canvas.
Frame Navigation¶
When a character is selected, you can navigate between the T-pose (frame 0) and any saved animation frames using the Previous/Next arrows below the character preview. The selected frame serves as the reference image for the next AI generation.
Generating a Posed Frame¶
- Select a character from the dropdown.
- Arrange the skeleton into the desired pose (manually or by selecting a preset).
- Optionally enter Pose details in the text field (e.g., "the character should look left", "hands closed", "mouth open").
- Click Apply Pose.
The system:
- Renders the skeleton to a pose reference image.
- Sends both the current frame (T-pose or selected saved frame) and the pose image to the AI provider configured for the project.
- Pixel-snaps the AI output to match the character's grid size and color count.
- Remaps pixels to the character's exact palette.
- Displays the result in the Result preview.
Note
The Gemini image models accept the frame and the pose image as references, but they treat the skeleton as guidance rather than a strict constraint. Add Pose details text for anything the skeleton cannot express. See AI Providers.
Saving a Frame¶
After generation, click Save Frame below the result preview. The frame is added to the character's frame list and can be used in the Spritesheet Editor.
Pose Library¶
Preset Poses¶
The Pose Library includes built-in preset poses organized by animation type:
| Category | Frames |
|---|---|
| Walk | Walk Frame 1, Walk Frame 2, Walk Frame 3, Walk Frame 4 |
| Jump | Jump Frame 1, Jump Frame 2, Jump Frame 3, Jump Frame 4 |
| Attack | Attack Frame 1, Attack Frame 2, Attack Frame 3, Attack Frame 4 |
| Idle | Idle Frame 1, Idle Frame 2, Idle Frame 3, Idle Frame 4 |
Click any preset to apply it to the skeleton. The skeleton is automatically scaled and positioned to match your current pose's body proportions.
Saved Poses¶
You can save custom poses for reuse:
- Arrange the skeleton into a pose.
- Click Save Current in the Saved Poses section.
- Enter a name and optional pose details.
- Click Save.
Saved poses are stored per-project. Click a saved pose to load it. Hover over a saved pose and click the trash icon to delete it.
Exporting OpenPose JSON¶
Click Export in the toolbar to open the export dialog. From here you can:
- Copy to Clipboard -- Copy the OpenPose JSON to your clipboard for use in external tools.
- Download JSON -- Save the data as a
pose-openpose.jsonfile.
The exported JSON follows the standard OpenPose format with 18 body keypoints, compatible with Stable Diffusion ControlNet and other pose-conditioned generation tools.
json
{
"people": [{
"pose_keypoints_2d": [x0, y0, c0, x1, y1, c1, ...],
"face_keypoints_2d": [],
"hand_left_keypoints_2d": [],
"hand_right_keypoints_2d": []
}]
}
OpenPose Keypoint Reference¶
The skeleton uses 18 keypoints in the standard OpenPose format:
| Index | Keypoint | Index | Keypoint |
|---|---|---|---|
| 0 | Nose | 9 | Right Knee |
| 1 | Neck | 10 | Right Ankle |
| 2 | Right Shoulder | 11 | Left Hip |
| 3 | Right Elbow | 12 | Left Knee |
| 4 | Right Wrist | 13 | Left Ankle |
| 5 | Left Shoulder | 14 | Right Eye |
| 6 | Left Elbow | 15 | Left Eye |
| 7 | Left Wrist | 16 | Right Ear |
| 8 | Right Hip | 17 | Left Ear |
Tip
When posing, focus on the major joints first (shoulders, elbows, hips, knees) and adjust extremities afterward. Use preset poses as starting points and tweak from there.