🎬 Whiteboard Animation API

A completely automated, AI-driven pipeline that generates full-length whiteboard explainer videos from a simple text prompt.

View Interactive API Docs (Swagger API)

How it works

This API uses an asynchronous job architecture. Generating a 3-minute video involves multiple AI models (Gemini, ChatGPT, ElevenLabs) and heavy video rendering, which can take several minutes.

  1. Create a project using POST /projects. This returns a project_id instantly.
  2. Poll GET /projects/{project_id} to monitor the pipeline's progress (0% to 100%).
  3. Once the status is completed, retrieve the final MP4 video via GET /projects/{project_id}/video.

Integration Example (Python)

import requests
import time

API_URL = "https://your-api-domain.com"

# 1. Start a new video project
response = requests.post(f"{API_URL}/projects", json={
    "topic": "Explain the mechanics of a black hole",
    "num_scenes": 5,
    "components_per_scene": 4,
    "fps": 30
})
project_id = response.json()["project_id"]
print(f"Project started: {project_id}")

# 2. Poll until finished
while True:
    status_res = requests.get(f"{API_URL}/projects/{project_id}").json()
    print(f"Status: {status_res['status']} ({status_res['progress_pct']}%) - {status_res['current_step']}")
    
    if status_res['status'] == "completed":
        print(f"Done! Watch your video here: {API_URL}/projects/{project_id}/video")
        break
    elif status_res['status'] == "failed":
        print(f"Failed: {status_res['error']}")
        break
        
    time.sleep(15)  # Wait 15 seconds before polling again