Poses are custom character images generated from a text prompt. Use them as the first frame or last frame of an animation to control exactly how an animation starts or ends.
List Poses
GET /api/v1/characters/:characterId/poses
List all poses for a character, including built-in and custom-generated poses.
Example
curl https://www.autosprite.io/api/v1/characters/char_abc123/poses \
-H "x-api-key: vspk_your_key_here"
Response
{
"poses": [
{
"id": "pose_001",
"label": "Original",
"imageUrl": "https://... (presigned URL)",
"prompt": null,
"sourceType": "upload",
"presetId": null,
"createdAt": "2025-01-15T10:30:00Z"
},
{
"id": "pose_002",
"label": "Sword Raised",
"imageUrl": "https://... (presigned URL)",
"prompt": "character holding sword above head",
"sourceType": "generate",
"presetId": null,
"createdAt": "2025-01-15T11:00:00Z"
}
]
}
Generate a Pose
POST /api/v1/characters/:characterId/poses
Generate a new custom pose using AI. The pose preserves the character's appearance while depicting them in the described position.
Cost: 5 credits.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
prompt | string | Yes | Description of the pose (max 600 chars) |
name | string | No | Display name for the pose (max 40 chars) |
Example
curl -X POST https://www.autosprite.io/api/v1/characters/char_abc123/poses \
-H "x-api-key: vspk_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"prompt": "character holding sword above head in attack stance",
"name": "Sword Raised"
}'
Response
Status: 202 Accepted
{
"jobId": "job_pose_001"
}
Poll the Jobs API with this jobId to check when the pose is ready.
Errors
| Status | Code | When |
|---|---|---|
| 400 | Various | Missing or invalid prompt |
| 402 | INSUFFICIENT_CREDITS | Not enough credits |
| 403 | PLAN_REQUIRED | Paid subscription required |
| 404 | NOT_FOUND | Character not found |
Using Poses in Animations
Once you have a pose, use its ID as poseId (first frame) or lastFramePoseId (last frame) when generating animations:
curl -X POST https://www.autosprite.io/api/v1/characters/char_abc123/spritesheets \
-H "x-api-key: vspk_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"animations": [
{
"kind": "attack",
"poseId": "pose_001",
"lastFramePoseId": "pose_002"
}
]
}'
Using lastFramePoseId or loop: true automatically upgrades the animation to legendary quality for better results.
Create a "sword raised" pose, then use it as the lastFramePoseId for an attack animation. The animation will smoothly transition from the idle position to the attack stance.
