Overview and quickstart

Sketchie turns a prompt or a document into a whiteboard explainer video, and hands you back both the rendered video and its editable scene graph. This is the reference for the HTTP API, the CLI, the TypeScript SDK, and the MCP server.

API access is included on every paid plan. Create an API key from Settings in the app once you are on a plan. API generations draw from your plan minutes at the same rate as the app. There is no separate API price.

Authentication

Every request is authenticated with your API key as a Bearer token. Create a key in the app under Settings, then send it on the Authorization header:

Request header
Authorization: Bearer sk_...

The key is shown once, at creation. Keep it secret. The base URL for every endpoint is https://sketchie.ai/api.

Quickstart

1. Create an explainer

Send your topic as input and an optional target length as length (a friendly "M:SS" string like "0:30" or "1:00", in 30-second steps). Omit length for automatic length.

Terminal
curl -X POST https://sketchie.ai/api/v1/explainer \
  -H "Authorization: Bearer sk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "input": "Explain how DNS resolves a domain name",
    "length": "0:30"
  }'

The call returns 202 Accepted immediately with a queued record. Rendering runs in the background and takes a few minutes.

202 Accepted
{
  "id": "10f00eee-d2d6-4a1b-b708-f0391faaa85b",
  "status": "queued",
  "prompt": "Explain how DNS resolves a domain name",
  "lengthSeconds": 30,
  "voice": "sketchie:sulafat",
  "language": "en",
  "aspect": "16:9",
  "videoUrl": null,
  "sceneGraph": null
}

2. Poll for the result

Fetch the explainer by id until its status reaches a terminal state. The lifecycle is queued then generating then rendering then ready (done) or failed.

Terminal
curl https://sketchie.ai/api/v1/explainer/10f00eee-d2d6-4a1b-b708-f0391faaa85b \
  -H "Authorization: Bearer sk_..."

When it is ready, the record carries the video URL and the editable scene graph:

200 OK
{
  "id": "10f00eee-d2d6-4a1b-b708-f0391faaa85b",
  "status": "ready",
  "videoUrl": "https://sketchie.ai/media/....mp4",
  "sceneGraph": { "scenes": [ ... ] }
}

Friendly and classic field names. input and length are the friendly request fields. The older prompt (string) and lengthSeconds (a number, a positive multiple of 30) are still accepted as aliases, so existing integrations keep working. When both are sent, the friendly field wins.

Where to go next

  • API reference . Every endpoint, with request and response shapes.
  • Voices . The default narrator, the six-voice catalog, and playable previews.
  • Languages . The 34 supported narration languages.
  • CLI and SDK . The sketchie command line and the @sketchie/sdk TypeScript client.
  • MCP setup . Use Sketchie as tools in Claude Desktop, Claude Code, and the Claude app.