Repolode
vincentsch

vincentsch/explainroo

Turns a written script into a narrated explainer video or product demo, with a local voice, word timing and canvas rendering, driven by a coding agent.

Open-source alternative to:SynthesiaVyond

Stars
598
Forks
38
Open issues
0
Last commit
13 hours ago

What is it?

explainroo produces explainer videos from a script. A coding agent writes a script.md file with the narration and a scenes.js file with canvas drawings that appear on specific words. The tool then generates the voice with Kokoro, aligns word timing with Whisper, renders frames in headless Chrome, and assembles an MP4 with ffmpeg.

The pipeline runs locally with no account or API key required for the default voice. It supports English, Spanish, French, Italian, Brazilian Portuguese, Hindi, Japanese and Mandarin Chinese narration, and ElevenLabs voices or self-recorded narration can be used instead. Each render can also produce subtitle files, a cover image, YouTube chapters, a GIF, or a transparent MOV.

The project also covers product demos: the agent rebuilds an app's screens from its code or website, and a pointer clicks through them. Six built-in visual looks and several aspect ratios for YouTube, Shorts, TikTok, Instagram and LinkedIn are included.

Key features

  • 01Generates narration with the local Kokoro voice model, with 54 voices and no API key.
  • 02Aligns each spoken word with Whisper so drawings appear on the right words.
  • 03Renders hand-drawn style scenes with Rough.js and 1,800 Lucide icons.
  • 04Outputs MP4, GIF, transparent MOV, subtitle files and a cover image.
  • 05Provides six built-in visual looks and multiple aspect ratios for different platforms.
  • 06Builds product demos by recreating app screens with a clicking pointer.

Use cases

  • Creating a short explainer video on a technical topic directly from a coding agent session.
  • Producing product demo videos for a web app without recording a screen.
  • Generating vertical videos with captions for TikTok, Reels or Shorts.
  • Making narrated diagrams with a transparent background to overlay in a video editor.

Quick start

  1. 1

    Clone the repository

    git clone https://github.com/vincentsch/explainroo.git
  2. 2

    Enter the project folder

    cd explainroo
  3. 3

    Install dependencies

    npm install
  4. 4

    Download the voice and timing models

    node bin/explainroo.js doctor --fetch

Things to know

  • Needs Node.js 20.11+, ffmpeg and Chrome or Chromium installed.
  • The first setup downloads about 400 MB of models.
  • Spanish, French, Italian, Portuguese and Hindi narration also need espeak-ng; Japanese and Chinese need Python with misaki.
  • Best results are reported with Claude Code and Opus 5.5, and it is designed to be driven by a coding agent.

Topics

FAQ

What is explainroo?
Turns a written script into a narrated explainer video or product demo, with a local voice, word timing and canvas rendering, driven by a coding agent. explainroo produces explainer videos from a script. A coding agent writes a script.md file with the narration and a scenes.js file with canvas drawings that appear on specific words. The tool then generates the voice with Kokoro, aligns word timing with Whisper, renders frames in headless Chrome, and assembles an MP4 with ffmpeg.
Is explainroo free to use? What license does it have?
explainroo is open source under the MIT license. Check the license terms before using it in commercial products.
Is explainroo still maintained?
Actively maintained. The last commit to explainroo was on Oct 19, 2026.
What can I use explainroo for?
Creating a short explainer video on a technical topic directly from a coding agent session. Producing product demo videos for a web app without recording a screen. Generating vertical videos with captions for TikTok, Reels or Shorts. Making narrated diagrams with a transparent background to overlay in a video editor.
How do I install explainroo?
Clone the repository: git clone https://github.com/vincentsch/explainroo.git Enter the project folder: cd explainroo Install dependencies: npm install Download the voice and timing models: node bin/explainroo.js doctor --fetch
Where can I get explainroo?
The source code and installation instructions are on GitHub: https://github.com/vincentsch/explainroo

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects