Home

Spritekick API

Generate the same character references and animations as Spritekick Studio.

OpenAPI 3.1 JSON
API access

Create named keys from your account. You can show, hide, copy, and revoke each key separately.

Send the key only in the Authorization: Bearer header. Read-only and read/write scopes are available.

Base URL: https://spritekick.com/api/v1

Sign in to create a key
Quick start

Start with the catalog. It is the source of truth for every supported option.

curl https://spritekick.com/api/v1/catalog \
  -H 'Authorization: Bearer YOUR_API_KEY'

Create a character with the same camera and style choices shown in Studio.

curl https://spritekick.com/api/v1/characters \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"name":"Kiko","description":"A fox courier","orientation":"platformer","style":"pixel"}'

After its reference job completes, create an animation.

curl https://spritekick.com/api/v1/characters/CHARACTER_ID/animations \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"pose":"walk","quality":"standard"}'

Read the animation until sheet.status is ready, then download sheet.links.png, sheet.links.sheetZip, sheet.links.frames, sheet.links.manifest, sheet.links.godot, or sheet.links.video (the raw video, cut to the character) with the same key. Pending downloads return 202 with Retry-After. The optional links.viewer opens Studio for review.

You do not have to poll. Every generation started through the API emails your account address when it lands or fails, with a link straight to it. Work started in Studio is not emailed: the page you started it on already follows it.

Endpoints
MethodPathAction
GET/catalogList cameras, styles, qualities, and animations.
GET/tokensRead the account token balance.
GET/charactersList your characters, objects and textures.
POST/charactersCreate a character, object or texture and generate its reference.
PATCH/characters/{characterId}Set visibility to public or private. New characters are public.
GET/characters/{characterId}Read one character and its reference status.
DELETE/characters/{characterId}Delete a character and all its animations.
POST/characters/{characterId}/referenceGenerate a missing or failed reference.
GET/characters/{characterId}/reference.pngDownload the reference image, or a texture's full tile.
GET/characters/{characterId}/texture.pngDownload a texture tile at one size (`?size=1024` to `32`).
GET/characters/{characterId}/animationsList a character's animations.
POST/characters/{characterId}/animationsGenerate a standard, premium, or custom animation.
GET/animations/{animationId}Read animation progress, measurements and export status.
GET/animations/{animationId}/sheet.pngDownload the default transparent PNG sheet.
GET/animations/{animationId}/sheet.zipDownload the default PNG sheet with its manifest.
GET/animations/{animationId}/frames.zipDownload default PNG frames and manifest.
GET/animations/{animationId}/manifest.jsonRead the default sheet manifest.
GET/animations/{animationId}/godot.zipDownload the default export as a Godot 4 SpriteFrames folder.
GET/animations/{animationId}/video.mp4Download the default export's raw video, cut to the character.
POST/animations/{animationId}/rendersRequest an export with Studio settings.
GET/renders/{renderId}Read export status and download links.
GET/renders/{renderId}/sheet.pngDownload an export's PNG sheet.
GET/renders/{renderId}/sheet.zipDownload an export's PNG sheet with its manifest.
GET/renders/{renderId}/frames.zipDownload an export's frame ZIP.
GET/renders/{renderId}/manifest.jsonRead an export's manifest.
GET/renders/{renderId}/godot.zipDownload an export as a Godot 4 SpriteFrames folder.
GET/renders/{renderId}/video.mp4Download an export's raw video, cut to the character.
PATCH/animations/{animationId}Name or favorite an animation.
DELETE/animations/{animationId}Delete an animation.
POST/animations/{animationId}/revisionsGenerate a revision with a change note.
GET/jobs/{jobId}Read generation status and progress.
POST/jobs/{jobId}/feedbackRate a completed generation.
Full contract

The machine-readable contract documents every request body, option, scope, status code, and response shape.

Exports cost no tokens. Use POST /animations/ANIMATION_ID/renders with frame rate (8, 10, 12, 15 or 24), sprite height (32, 48, 64, 96, 128, 192 or original), scale percentage (1–100), grid or row layout, and cycle or full clip. Defaults match Studio: 15 fps, original size, 100% scale, grid, measured cycle. Sampling follows the character style.

Custom trim ranges are not supported in v1. New exports are limited to 10 per minute per key. Cached exports are free to read; non-default exports expire after 7 days. The raw video is the animation cut to the export's clip and to one rectangle that holds the character, at its own frame rate; only the clip setting changes it. The uncut source animation cannot be downloaded through the API. The Markdown reference and OpenAPI contract give the exact field names and download steps.

This page is also published as Markdown, for a coding agent that would rather read one file than a rendered document. Fetch /api/docs.md, or ask for it here with Accept: text/markdown.