Oct 22, 2026

Explain Any Topic as a Code-Drawn Video With anything2explainer

anything2explainer is a Claude Code / Codex skill that turns a topic into a black-canvas motion-graphics explainer with TTS voiceover, subtitles, and a chapter progress bar — research, narration, storyboard, parallel build agents, and QC around a Remotion template, with every frame drawn in code.

#tutorial#creative#presentation

Topic in, narrated explainer video out. The 3k-star Vincentwei1021/anything2explainer repository is a Claude Code / Codex skill that turns any topic into a black-canvas motion-graphics explainer with TTS voiceover, subtitles, and a chapter progress bar, in Chinese or English — every frame drawn in code with Remotion (React + TypeScript), no stock footage, no generative video model, no frames lifted from anyone else's work.

Why This Skill Matters

The README is clear that this is not a CLI. What ships is the whole method an AI coding agent needs to finish the film: a compilable Remotion template, a primitives and lighting library, tooling for voiceover, storyboard, rendering, and quantitative QC, written style and motion specs, a multi-agent division-of-labour protocol, and one complete reference film as the quality bar. The output is a 1280×720 H.264 MP4 at 30fps with synchronized voiceover, word-boundary-aligned subtitles, chapter cards, a top HUD, and a bottom chapter progress bar — plus the full paper trail: a research doc with sources, narration, storyboard, per-shot source code, and QC reports.

Length drives how much ground the film covers and the size of the whole pipeline. The README's table gives three tiers: 2–3 minutes (24–32 shots, 4–6 build agents, about an hour of wall clock), 3–5 minutes as the reference tier (40–50 shots, 8 agents, about two hours), and 5–8 minutes (60–80 shots, 10–14 agents, two to three hours). The reference film — RAG & Knowledge Bases — ships as both an English cut (5′02″, 44 lines / 785 words) and a Chinese cut (4′54″, 44 lines / 1490 characters) from one shared storyboard.

Installation

Clone and symlink into your agent's skills directory:

git clone https://github.com/Vincentwei1021/anything2explainer.git
ln -s "$PWD/anything2explainer" ~/.claude/skills/anything2explainer   # Claude Code
ln -s "$PWD/anything2explainer" ~/.codex/skills/anything2explainer    # Codex

Dependencies, per the README: Node 18 or newer (the template's npm install pulls Remotion 4.0.507 and React 19), ffmpeg for frame extraction and transcoding, and a Python virtual environment with edge-tts==7.2.8, numpy, pillow, and scipy — the README pins edge-tts because it tracks a Microsoft endpoint and breaks across upgrades. English narration additionally needs kokoro, soundfile, and espeak-ng; scipy is only used by the QC script frame_metrics.py. The shell scripts are zsh plus Python 3, developed and verified on macOS; the README says Linux should work, Windows is untested, and it documents a Raspberry Pi 5 setup with kokoro_onnx or piper as ARM-friendly TTS engines selected through TTS_ENGINE.

Real Workflow: A Five-Minute Explainer on Vector Databases

In Claude Code or Codex, the skill triggers itself from a plain request:

Make me an explainer video about vector databases.

It then walks the nine stages in SKILL.md: scaffold the Remotion project from the template; research (one agent writes a sourced doc with a list of numbers and analogies, every item with a URL); narration and timeline (the script, then TTS with per-word boundaries turned into a frame-accurate timeline and subtitle table); storyboard (one line per shot with frame range, beat, visuals, motion, hero element, and lighting); overlays and primitives (title, chapter cards, HUD, pipeline rail, plus 2–5 topic-specific icons); pilot (the first shot group, then a 30-second cut for you to judge the look); parallel build (the remaining groups, 5–7 shots per agent, each writing pure-function Remotion components); render with quantitative frame metrics; and QC and fixes (one QC agent per chapter, fix agents per group, re-verification, delivery notes).

The run stops at exactly four checkpoints: length and language before the script is written; narration sign-off before voiceover (once locked, frame numbers are hard-coded into every shot, so changing one word re-times the whole film — the README calls this the cheapest place to intervene); the voiceover engine, with defaults of edge-tts zh-CN-YunxiNeural for Chinese and kokoro-82m am_liam for English, or your own finished audio; and the first 30 seconds, where fixing the style costs one group instead of every group.

Tips

  • No GPU: Remotion renders through headless Chromium on the CPU; the Chinese default voice is a cloud call to a Microsoft endpoint, the English default is an 82M-parameter model that runs locally.
  • One visual style, on purpose, with a single switch — the backdrop bg in src/config.ts, 'dots' dot-field wave by default or 'stars' star field with fog. Anything else means editing reference/style-guide.md and src/ui.tsx.
  • Renders are reproducible: every animation is a pure function of the frame number with seeded randomness, and text fitting is computed rather than measured in the DOM.
  • Chapter count follows the content within length-set limits — under 3 minutes a single chapter with no chapter cards, 3–5 minutes 3–4 chapters of at least 60 s each, 5–8 minutes 4–6. A blank line in the narration is one paragraph and one shot.
  • The builtBy end credit reads built by Anything2Explainer skill; set it to '' to drop it. Parallel builds want 5 GB or more free on disk, and past about 12 tmux panes you dispatch in waves.

When Not to Use This

The license is the first boundary: the toolkit is PolyForm Noncommercial 1.0.0 — free for noncommercial use, commercial use requires prior authorization from the author — while the videos you make with it are yours. The README's own "not for" list is replicating an existing video, talking-head presenter footage, or films that are mostly live action; vertical 9:16 is not currently supported, since the template and every safe-area rule assume 1280×720 landscape. And it is Chinese and English only, each with its own pacing model, subtitle budget, and default voice.


See the leaderboard for more skills.