Open source · Powered by Claude

Turn any topic into a narrated explainer video.

Chalkboard is a pipeline of agents that writes a script, verifies it, generates Manim animation code, synthesizes a voiceover, and renders everything to a final .mp4. Fully automated.

MIT · Closed beta · Cloud or local · No vendor lock-in
Rendered output · 1920×1080 · chalkboard theme
sample · binary search
Binary search, flip to the middle
CC 0:00 / 0:12

A pipeline of agents. One video.

Each stage runs as its own agent with retry logic. A failure in one step doesn't cascade. It loops and corrects.

01
Init
02
Script
03
Verify
04
</>
Animation
05
Visual QA
06
Render
median run · 3m 40s · medium effort retries allowed · up to 3 per stage parallel safe · sandboxed via Docker

Not just a wrapper. A whole studio.

Everything you'd normally paste prompts into four different tools for, handled in one repeatable run.

01

stage · verify

Every claim gets checked before it gets rendered.

A dedicated verifier agent reads the draft script, annotates numerical claims, dates, and causal statements, and rewrites anything that won't hold up. The corrected draft is what moves on.

fact_check.jsonl
"Binary search runs in O(log n) time."
cite · CLRS ch. 2 · verified
"Binary search was invented by John von Neumann."
disputed · attribution unclear; first correct algorithm published by Bottenbruch and Lehmer around 1960; rewriting…
"Requires the input array to be sorted."
cite · Knuth TAOCP vol. 3 · verified
02

stage · animate

Manim scene code, written for you.

The generator reads the approved script beat by beat and emits valid Manim, positioned, timed, and tagged with chapters. Code that won't compile bounces back for a revision before a frame is rendered.

scene_binary_search.py
class BinarySearch(Scene):
    def construct(self):
        arr = [3, 7, 12, 19, 25, 31, 47]
        boxes = VGroup(*[Square() for _ in arr])
        boxes.arrange(RIGHT, buff=0.15)
        # chapter: introduce the array
        self.play(LaggedStart(*[Write(b) for b in boxes]))
03

stage · visual qa

Claude watches the render, not just the code.

After rendering, frames are sampled at fixed intervals. Claude flags overlapping text, elements that run off the canvas, unreadable contrast, and obscured labels, then dispatches another render with targeted fixes.

qa_report · 6 frames sampled
19 PASS t=0:04
overlapping… midpoint FLAG t=0:11
mid PASS t=0:17
1 flag · reshooting frame 011 with offset Y +0.4 · eta 14s
04

stage · finalize

Captions and chapters, ready on day one.

Every video produces an .srt, embedded chapter atoms, and a pasteable YouTube chapter list. No extra post production pass.

binary-search.srt · 3 of 7
0:00 Here's a sorted list of seven numbers. Ch 1 · Setup
0:12 Binary search works like a dictionary, flip to the middle. Ch 2 · Idea
0:28 Each step cuts the search space in half. Ch 3 · Analysis

Tune the script before it's a video.

Pick an audience, a tone, a template, and a theme. Your prompt doesn't change, but Chalkboard retargets the output.

Audience

Tone

Template

Theme

Narrator

Effort

script preview · binary search · beginner · casual
est. 1m 20s · 160 wpm render · ~3m 40s

What the final cut looks like.

Short explainer videos with captions, chapters, and a full source script. Watch them in your library or download the assets.

Three ways in. Pick yours.

Chalkboard is in closed beta. Build with our API, sign in with an invite code, or drop your name on the waitlist.

REST · v1
01

Build with the API.

Generate videos from your code. Bearer auth, idempotency, signed webhooks. Test-mode keys for cheap CI smoke-tests.

Hosted API access is part of the closed beta, so keys need an invite. No invite? The same pipeline runs locally from the open-source CLI with your own Claude key. No account, no waiting.

01 Get a key

Sign in with an invite, then create a key at /account.

# Save the raw key. It's shown once.
CHALKBOARD_KEY=chk_live_aB3xY8…
02 Create a job
$ curl https://chalkboard.studio/api/v1/jobs \
    -H "Authorization: Bearer $CHALKBOARD_KEY" \
    -H "Content-Type: application/json" \
    -d '{"topic":"How hash tables work"}'
03 Subscribe to the result
# Webhook on completion (recommended)
# Set up at /account → Webhooks
# POST signed JSON to your URL.

# Or stream events live (alternative)
$ curl https://chalkboard.studio/api/v1/jobs/$RUN_ID/events \
    -H "Authorization: Bearer $CHALKBOARD_KEY"
Fastest
02

Join the closed beta.

Sign in with an invite code and start making videos right away. We've set everything up for you.

Free while in beta. Invite code required, everything else is handled for you.
New invites weekly
03

No code? Get notified.

Invites open in batches. We'll email when yours does.

You're on the list. We'll email you when the next batch opens.

Or run it yourself. Chalkboard's open source. github.com/nicglazkov/Chalkboard ↗ · self-hosted CLI

Your next explainer video is four minutes away.

Sign in with an invite code to run it in our cloud, or clone the repo and run everything on your own machine with your own Claude key.

Tweaks Live