---
title: "Estimate skeleton"
method: POST
path: "/estimate-skeleton"
tags: ["Animate"]
---

# Estimate skeleton

`POST /estimate-skeleton`

Estimates the skeleton of a character, returning a list of keypoints to use with the skeleton animation tool.

Supported image sizes: 
- 16x16
- 32x32
- 64x64
- 128x128
- 256x256

Using the Python client:
```python
import pixellab

client = pixellab.Client(secret="YOUR_API_TOKEN")

response = client.estimate_skeleton(
    image=image_of_the_character_on_a_transparent_background,
)
response.keypoints
```

## Request body

- EstimateSkeletonRequest — Request model for estimate skeleton endpoint
  - `image` Base64Image — A base64 encoded image. Attributes: type (Literal["base64"]): Always "base64" to indicate the image encoding type base64 (str): The base64 encoded image data
    - `type` 'base64' — Image data type
    - `base64` string, required — Base64 encoded image data

## Response `200`

Successfully generated image

- EstimateSkeletonResponse
  - `usage` Usage, required
    - `type` 'usd' | 'generations'
    - `usd` number, nullable
    - `generations` number, nullable
  - `keypoints` Keypoint[], required
    - `x` number, required
    - `y` number, required
    - `label` string, required
    - `z_index` number, required

## Other responses

- `401` — Invalid API token
- `402` — Insufficient credits
- `422` — Validation error
- `429` — Too many requests
- `529` — Rate limit exceeded

---

[API](https://skmtc.dev/pixellab/apis/pixel-lab-api.md) · [All operations](https://skmtc.dev/pixellab/apis/pixel-lab-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pixellab/pixel-lab-api/revisions/eb7a18b195ba/schema)
