Skip to content

Explainer Studio

A command-line studio for narrated explainer videos with a clean, editorial house style.

You write a script in Markdown. The studio narrates it with text-to-speech, aligns every word to the audio, and turns each scene into a HyperFrames HTML composition timed to the narration. It then renders a mastered 1920×1080 MP4 for YouTube, with captions and chapter markers. It runs on Windows, Linux and macOS (macOS is untested).

script.md ──► narration (Kokoro, local; or Chatterbox / ElevenLabs) ──► word timings (Whisper)
          ──► scenes/<id>.html (HyperFrames + GSAP, timed to cues) ──► cached per-scene renders
          ──► out/<slug>.mp4  (−14 LUFS)  +  out/<slug>.srt  +  out/<slug>.chapters.txt

What you get

  • The script is the source of truth. Words, scene order and YouTube chapter titles all come from one script.md.
  • Visuals follow the voice. Mark a word with {cue} in the script and the scene animates exactly when it is spoken. Re-record the narration and the visuals re-time themselves.
  • Fast iteration. Narration is cached per paragraph and renders are cached per scene, so a small edit re-does only what changed.
  • A house style. Fonts, colours and page furniture come from brand/, shared by every episode.
  • YouTube-ready output. Loudness-mastered audio, an .srt caption file and a chapter list.
  • Reels too. The same pipeline renders 9:16 video with burned-in captions.

Where to start

episodes/demo-paris-commune/ in the repository is a complete worked example (38 seconds, four scenes). Open its script.md and scenes/ next to these pages.

Using it with a coding agent

The studio is designed to be driven by Claude Code or another coding agent. The repository includes AGENTS.md (loaded through CLAUDE.md) with the conventions, and a make-explainer-video Claude skill that walks the agent through the whole workflow, from script to final render. See Working with a coding agent for how to use them.