Turn a research paper or codebase into a narrated, animated explainer video, rendered locally with code, not generated. Here's a video explaining PaperView, generated by PaperView: Status: v0.1 (early, first public release). Claude Code adapter only.
FAQ
paperview is a Claude Code plugin with 2 hand-picked skills for content work, indexed on Flowy. Install it with the command on its page. It includes gen, setup. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
> /plugin marketplace add ssrajadh/paperview> /plugin install ppv@paperview
ppv)Turn a research paper or codebase into a narrated, animated explainer video, rendered locally with code, not generated.
Here's a video explaining PaperView, generated by PaperView:
https://github.com/user-attachments/assets/9c2df835-8cea-4220-88e0-ae31b8c58a19
Status: v0.1 (early, first public release). Claude Code adapter only.
Every video below was generated by PaperView itself, explaining real papers and codebases:
| Source | Type | Watch |
|---|---|---|
| nanoGPT β GPT-2 in ~600 lines of Python | codebase | βΆ YouTube |
| Attention Is All You Need β the Transformer | paper | βΆ YouTube |
| PagedAttention / vLLM β paging the KV cache | paper | βΆ YouTube |
| SentrySearch β semantic search over video | codebase | βΆ YouTube |
| llama.cpp β ggml, GGUF & quantization | codebase | βΆ YouTube |
| Diffusion models β how AI turns noise into pictures, explained simply | paper Β· ELI5 | βΆ YouTube |
PaperView splits the job between the coding agent (the judgment) and a deterministic CLI (the mechanics):
ppv parses the source β text and figures via PyMuPDF, with real equations pulled from the arXiv LaTeX.ppv tts synthesizes the narration locally with Kokoro β no API keys, nothing leaves your machine.ppv render renders the scene plan deterministically with Remotion, typesetting math with KaTeX β real code, figures, and diagrams, not generated pixels.~/.paperview/runs/.Prerequisites: Claude Code, plus git, python3, node/npm, and ffmpeg on your PATH. /ppv:setup installs everything else (Python venv, Remotion deps, local models).
Run these inside an interactive Claude Code session.
1. Add the marketplace and install the plugin (one time):
/plugin marketplace add ssrajadh/paperview
/plugin install ppv@paperview
/reload-plugins
2. Bootstrap the toolchain (one time):
/ppv:setup
3. Generate a video β from a paper (a local PDF):
/ppv:gen ~/Downloads/attention_is_all_you_need.pdf, 3 minutes, focus on attention
β¦or from an arXiv id / link (the PDF is downloaded for you, equations pulled from the LaTeX):
/ppv:gen arxiv.org/abs/1706.03762, 3 minutes, expert
β¦or from a codebase / GitHub URL (the repo is cloned for you):
/ppv:gen https://github.com/ssrajadh/sentrysearch, 2 minutes, focus on the architecture
To update later, refresh the marketplace and reload (re-run /ppv:setup if a release changes the toolchain):
/plugin marketplace update paperview
/reload-plugins
git clone https://github.com/ssrajadh/paperview && cd paperview
claude --plugin-dir ./adapters/claude-code # load the plugin from the working tree
/ppv:setup
/ppv:gen ~/Downloads/attention_is_all_you_need.pdf, 3 minutes, focus on attention
NotebookLM's Video Overviews are great for a quick narrated summary. PaperView optimizes for something different β a faithful, reproducible explainer built from the source's real content:
| PaperView | NotebookLM Video Overviews | |
|---|---|---|
| Visuals | The source's own figures, real typeset equations (KaTeX), syntax-highlighted real code, and code-drawn diagrams | Narrated, mostly generated slides |
| Editable & reproducible | The agent emits a scene plan (plain JSON) you can inspect and tweak; rendering that plan is deterministic β same plan, same video | One-shot cloud generation, not exposed or editable |
| Where it runs | Render and narration are local (Remotion + Kokoro); no upload to a video-generation cloud | Cloud service β sources are processed by Google |
| Codebases | First-class β reads the real source and pastes actual snippets | Built around documents |
| Control | Steer length, focus, depth, and voice; the scene plan is editable JSON; fully open source | Prompt-level steering |
In short: reach for NotebookLM when you want a fast overview; reach for PaperView when you want the paper's actual equations and figures β or a codebase's actual code β in a video you can reproduce, tweak, and run offline.
ppv doctor # health-check the toolchain
ppv parse <pdf|md|txt> --out <dir> # text + figures (PDF, Markdown, or text source)
ppv validate <scenes.json> [--assets <dir>] # fast-fail plan check (no TTS/render cost)
ppv tts <scenes.json> --out <dir> # narration WAVs + durations.json
ppv render <scenes.json> --workdir <dir> --out <mp4> [--resolution 810p|540p] [--draft] [--crf N] [--progress]
Run ppv components for the component library and ppv schema for the full plan JSON Schema
(ppv tts --list-voices lists the narration voices).
PaperView itself is licensed under Apache-2.0 (see LICENSE).
It builds on third-party tools that carry their own licenses, which govern what you may do with the rendered pipeline β read them before any commercial or at-scale use:
Privacy: PaperView runs entirely locally and collects no data β no analytics, telemetry, or phone-home. See PRIVACY.md.
.claude-plugin/
marketplace.json
.gitignore
adapters/
claude-code/
.claude-plugin/
plugin.json
skills/
gen/
SKILL.md
setup/
SKILL.md
CONTRIBUTING.md
core/
ppv/
__init__.py
cache.py
cli.py
ingest.py
mathx.py
providers.py
render.py
schema.py
text_norm.py
tts.py
pyproject.toml
remotion/
package-lock.json
package.json
src/
components/
index.tsx
SceneErrorBoundary.tsx
index.ts
layout.ts
PaperVideo.tsx
plan.default.json
Root.tsx
theme.tsx
tsconfig.json
examples/
attention_is_all_you_need.plan.json
README.md
LICENSE
PRIVACY.md
README.md
scripts/
setup.shΒ© 2026 Flowy Β· Free and open source
Built for Claude Code Β· Not affiliated with Anthropic