YouTube / local videos → polished PowerPoint presentations
A Claude Code skill with 10 analysis modes, 12 design themes, and 15+ languages
No more watching hours of video and manually building slides. Paste the links, pick a mode, get a presentation.
/video2ppt https://youtu.be/abc, ~/Videos/meeting.mp4 --mode tech
- 30-Second Quick Start
- Why video2ppt?
- How It Works
- Modes
- Design Themes
- Installation
- Usage
- Options Reference
- Supported Input
- Requirements
- FAQ
- Contributing
- License
# 1. Install the skill (one-time)
curl -o ~/.claude/commands/video2ppt.md \
https://raw.githubusercontent.com/Sadonim/video2ppt/main/video2ppt.md
# 2. Open any Claude Code session and type:
/video2ppt https://youtu.be/your-video-id
# 3. Done. Your .pptx is on the Desktop.That's it. Claude analyzes the video, picks the best mode, and generates a polished presentation. You can then modify slides conversationally: "Make slide 3 more detailed", "Add a comparison table on slide 5".
|
Manual workflow
Time: 2-4 hours |
video2ppt
Time: 1-2 minutes |
┌─────────────────────────────────────────────────────────────────────┐
│ INPUT │
│ YouTube URLs ─┐ │
│ Local Videos ─┤ │
│ Audio Files ─┘ │
└────────────────────────────────┬────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ TRANSCRIPT EXTRACTION │
│ │
│ YouTube ──→ yt-dlp (subtitles, manual preferred over auto) │
│ Local ──→ mlx-whisper (Apple Silicon optimized speech-to-text) │
└────────────────────────────────┬────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ CLAUDE ANALYSIS │
│ │
│ ┌──────────────┐ ┌──────────────────┐ ┌───────────────────────┐ │
│ │ Text cleanup │ │ Key insight │ │ Mode-specific │ │
│ │ & structuring │ │ extraction │ │ analysis │ │
│ └──────────────┘ └──────────────────┘ └───────────────────────┘ │
└────────────────────────────────┬────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ PPT GENERATION │
│ │
│ pptxgenjs ──→ Layout variety (cards, tables, flow diagrams) │
│ react-icons ──→ Contextual icons per slide │
│ Theme engine ──→ 12 design themes, 16:9 format │
└────────────────────────────────┬────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────────┐
│ ~/Desktop/VideotoPPT/presentation_tech_20260325.pptx │
└─────────────────────────────────────────────────────────────────────┘
Step-by-step details
-
Transcript extraction — yt-dlp grabs YouTube subtitles (manual preferred over auto-generated). For local files, mlx-whisper transcribes audio to text using Apple Silicon acceleration.
-
Text cleanup — Claude removes duplicates, fixes punctuation, corrects proper nouns, and structures the raw transcript into readable text.
-
Content analysis — Based on the selected mode, Claude analyzes the content from the right perspective: comparing viewpoints for
comparemode, extracting action items formeetingmode, identifying architecture patterns fortechmode, etc. -
Slide design — A pptxgenjs script is generated with proper layout variety (cards, tables, flow diagrams, stat callouts), icons via react-icons, and the selected color theme.
-
QA verification — Content is verified via python-pptx extraction. You can then request changes conversationally.
10 purpose-built analysis modes, each with tailored slide structures and default themes.
| Mode | Best For | Slides | Default Theme |
|---|---|---|---|
auto |
Let Claude decide based on content | Varies | Varies |
summary |
Quick overview of any video | 8-12 | Dark Business |
compare |
Comparing perspectives across 2+ videos | 10-15 | Dark Business |
lecture |
Teaching material with quizzes | 12-20 | Minimal Light |
meeting |
Meeting recap with action items | 6-10 | Minimal Light |
tech |
Technical architecture and code walkthroughs | 10-15 | Tech Green |
trend |
Market and industry trend reports | 12-18 | Dark Business |
proposal |
Pitch decks with ROI analysis | 10-14 | Coral Energy |
study |
Study guides with flashcards and review quizzes | 10-16 | Minimal Light |
executive |
C-level briefing, compressed to essentials | 5-8 | Dark Business |
creative |
Creative briefs and campaign decks | 8-12 | Coral Energy |
Mode selection guide
Recording a meeting? Use meeting — extracts decisions, action items, owners, and deadlines.
Preparing study material? Use lecture for teaching or study for personal review. Both include quizzes, but lecture is structured for presenting to others.
Comparing multiple sources? Use compare with 2+ video URLs. Claude identifies agreements, disagreements, and unique insights across sources.
Need a quick executive summary? Use executive — compresses even a 2-hour video into 5-8 dense slides.
Not sure? Use auto (the default). Claude analyzes the content and picks the best mode automatically.
12 themes, all WCAG 2.1 AA compliant. Inspired by the Toss Design System.
| Theme | BG | Accent | Best For |
|---|---|---|---|
| Dark Business | Navy #141B2D |
Blue #3182F6 |
Strategy, executive |
| Minimal Light | White #FFFFFF |
Black #191F28 |
Education, seminars |
| Tech Green | Navy #141B2D |
Green #03B26C |
Engineering, dev |
| Coral Energy | Navy #2F3C7E |
Coral #F96167 |
Marketing, pitches |
| Espresso Warmth | Brown #2C1810 |
Copper #D4864E |
Brand story, lifestyle |
| Arctic Frost | Navy #0B1929 |
Cyan #56CCF2 |
Data, analytics, SaaS |
| Obsidian Gold | Black #0A0A0A |
Gold #D4A843 |
Executive, luxury |
| Vivid Startup | White #FFFFFF |
Purple #6C5CE7 |
Startup pitch, hackathon |
| Scholar Ivory | Ivory #FAF8F5 |
Sienna #7B4B3A |
Academic, research |
| Forest Canopy | Green #0D1B0F |
Green #4CAF50 |
Sustainability, ESG |
| Sunset Horizon | Purple #1A0F1E |
Salmon #FF6B6B |
Creative, portfolio |
| Slate Modern | Grey #F4F5F7 |
Blue #0052CC |
Sprint review, status |
Override any mode's default theme with --style:
/video2ppt https://youtu.be/abc --mode executive --style "obsidian gold"Theme selection by audience
| Audience | Recommended Themes |
|---|---|
| C-suite / Board | Obsidian Gold, Dark Business |
| Engineers / Developers | Tech Green, Arctic Frost |
| Designers / Creatives | Sunset Horizon, Vivid Startup |
| Investors / VCs | Dark Business, Obsidian Gold |
| General public | Minimal Light, Slate Modern |
| Academic peers | Scholar Ivory |
curl -o ~/.claude/commands/video2ppt.md \
https://raw.githubusercontent.com/Sadonim/video2ppt/main/video2ppt.mdType /video2ppt in any Claude Code session. Done.
git clone https://github.com/Sadonim/video2ppt.git ~/video2ppt
ln -s ~/video2ppt/video2ppt.md ~/.claude/commands/video2ppt.mdGet updates with git pull.
brew install yt-dlp ffmpeg node
pip3 install mlx-whisper python-pptxFull dependency reference
| Tool | Purpose | Install |
|---|---|---|
yt-dlp |
YouTube subtitle extraction | brew install yt-dlp |
ffmpeg |
Audio/video processing | brew install ffmpeg |
mlx-whisper |
Local speech-to-text (Apple Silicon) | pip3 install mlx-whisper |
node |
PPT generation runtime | brew install node |
pptxgenjs |
PowerPoint creation | auto-installed per session |
react-icons |
Slide icons | auto-installed per session |
python-pptx |
QA verification | pip3 install python-pptx |
Type /video2ppt with no arguments. The skill walks you through three steps:
Step 1 — Paste your sources (comma-separated):
https://youtu.be/abc, https://youtu.be/def, ~/Videos/lecture.mp4
Step 2 — Claude recommends a mode. Press Enter to accept or type a different one:
Recommended: tech (technical presentation)
summary Key points summary
compare Multi-source comparison
lecture Educational material + quiz
meeting Meeting notes → action items
tech Technical architecture + code ◀
trend Trend report + strategy
proposal Proposal + ROI
study Study notes + review quiz
executive C-level briefing (compressed)
creative Creative brief
Enter=accept / type mode name to change
Step 3 — PPT is generated and saved:
~/Desktop/VideotoPPT/claude_code_notebooklm_tech_20260325.pptx
Skip all prompts by passing arguments directly:
# Single video, auto mode
/video2ppt https://youtube.com/watch?v=abc123
# Multiple videos with comparison
/video2ppt https://youtu.be/abc, https://youtu.be/def --mode compare
# Local file
/video2ppt ~/Videos/meeting.mp4 --mode meeting
# Mixed sources with topic override
/video2ppt https://youtu.be/abc, ~/Videos/lecture.mp4 --mode trend --topic "AI 2026"
# Full options
/video2ppt https://youtu.be/abc --mode executive --slides 6 --style "dark business" --output ~/Documents/briefing.pptxAfter generation, modify slides conversationally:
"Make slide 3 more detailed"
"Change the color scheme to light"
"Add a comparison table on slide 5"
"Merge slides 7 and 8"
| Option | Description | Default |
|---|---|---|
--mode |
Analysis mode (auto, summary, compare, ...) |
auto |
--topic |
Presentation title | Auto-extracted from content |
--audience |
Target audience context | General |
--slides |
Number of slides | Mode default |
--style |
Design theme | Mode default |
--lang |
Language: ko, en, ja, auto, or ko:en (translate) |
ko |
--output |
Save path | ~/Desktop/VideotoPPT/<topic>_<mode>_<date>.pptx |
15+ fully supported languages with auto-detection and translation mode.
--lang ko # Korean video → Korean PPT (default)
--lang en # English video → English PPT
--lang auto # Auto-detect language
--lang ko:en # Korean video → English PPT (translation)
--lang ja:ko # Japanese video → Korean PPT (translation)Supported languages (Tier 1 — fully tested)
| Code | Language | Whisper Quality |
|---|---|---|
ko |
Korean | High |
en |
English | Excellent |
ja |
Japanese | High |
zh |
Chinese (Simplified) | High |
es |
Spanish | Excellent |
fr |
French | Excellent |
de |
German | Excellent |
pt |
Portuguese | Excellent |
ru |
Russian | High |
it |
Italian | High |
hi |
Hindi | Good |
tr |
Turkish | High |
id |
Indonesian | Good |
vi |
Vietnamese | Good |
Tier 2 (basic support): ar, he, th, nl, pl, sv, uk, cs, ro, da, fi, hu, el, zh-Hant, and more.
Arabic and Hebrew are RTL beta — pure RTL text works, mixed RTL+LTR may need manual adjustment.
- Standard URLs:
https://youtube.com/watch?v=... - Short URLs:
https://youtu.be/... - Prefers manual subtitles (higher accuracy) over auto-generated
- Supports 70+ languages via YouTube auto-captions
- Video: mp4, mov, webm, mkv, avi, flv, wmv
- Audio: mp3, wav, m4a, flac, ogg, aac
- Transcription via mlx-whisper (Apple Silicon optimized)
Whisper model options
| Model | Accuracy | Speed | Use When |
|---|---|---|---|
large-v3-turbo |
High | Fast | Default, good for most videos |
large-v3 |
Highest | Medium | When accuracy matters most |
small |
Good | Very fast | Long videos (1hr+) |
- Claude Code CLI
- macOS with Apple Silicon (for mlx-whisper; Intel Macs can use openai-whisper)
- Node.js 18+
Does this use NotebookLM?
No. Both yt-dlp and NotebookLM use the same YouTube subtitle API, so transcript quality is identical. Claude handles the analysis directly, which is more flexible and also works offline for local files.
Can I use this on Intel Macs?
Yes. Replace mlx-whisper with openai-whisper:
pip3 install openai-whisperThen update the whisper command in the skill file accordingly.
What about non-Korean videos?
Use --lang en (or any language code). 15 languages are fully supported, 30+ have basic support. You can also translate: --lang ja:en converts a Japanese video into an English PPT.
Can I use my own PPT template?
Not yet. The skill generates presentations from scratch using pptxgenjs. Template support may be added in a future update.
How long does it take?
| Step | Duration |
|---|---|
| YouTube subtitle extraction | ~5 seconds |
| Local video transcription (mlx-whisper) | ~1-3 min per 10 min of audio |
| Claude analysis + PPT generation | ~30-60 seconds |
Contributions are welcome. Here are the most impactful ways to help:
Modes live inside video2ppt.md. Each mode defines its analysis perspective, slide structure, and default theme. To add one:
- Fork the repo
- Add your mode to the mode registry in
video2ppt.md - Define the analysis prompt, slide count range, and default theme
- Test with at least 3 different videos
- Open a PR with before/after examples
Themes define background color, accent color, text colors, and layout variants. To add one:
- Fork the repo
- Add your theme definition to the theme registry in
video2ppt.md - Include hex values and usage guidelines
- Test across multiple modes to verify readability
- Open a PR with screenshots
Found a bug or have a feature request? Open an issue.
If you maintain this repo, consider adding these GitHub topics for discoverability:
claude-code claude-code-skill powerpoint pptx youtube video-to-slides presentation ai-tools whisper transcript
MIT — use it however you want.