Skip to content

Sadonim/video2ppt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation


video2ppt
YouTube / local videos → polished PowerPoint presentations
A Claude Code skill with 10 analysis modes, 12 design themes, and 15+ languages

MIT License Claude Code Skill macOS Node.js 18+


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

Table of Contents


⚡ 30-Second Quick Start

# 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".


🤔 Why video2ppt?

Manual workflow

  1. Watch entire video (30-90 min)
  2. Take notes while watching
  3. Open PowerPoint
  4. Create slides one by one
  5. Format, align, pick colors
  6. Add charts and diagrams
  7. Review and polish

Time: 2-4 hours

video2ppt

  1. Paste the URL
  2. Pick a mode (or let Claude decide)
  3. Get a polished .pptx

 

 

 

Time: 1-2 minutes


🔧 How It Works

┌─────────────────────────────────────────────────────────────────────┐
│                         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
  1. 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.

  2. Text cleanup — Claude removes duplicates, fixes punctuation, corrects proper nouns, and structures the raw transcript into readable text.

  3. Content analysis — Based on the selected mode, Claude analyzes the content from the right perspective: comparing viewpoints for compare mode, extracting action items for meeting mode, identifying architecture patterns for tech mode, etc.

  4. 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.

  5. QA verification — Content is verified via python-pptx extraction. You can then request changes conversationally.


🎯 Modes

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.


🎨 Design Themes

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

📦 Installation

Option 1: Direct download (recommended)

curl -o ~/.claude/commands/video2ppt.md \
  https://raw.githubusercontent.com/Sadonim/video2ppt/main/video2ppt.md

Type /video2ppt in any Claude Code session. Done.

Option 2: Clone and symlink

git clone https://github.com/Sadonim/video2ppt.git ~/video2ppt
ln -s ~/video2ppt/video2ppt.md ~/.claude/commands/video2ppt.md

Get updates with git pull.

Dependencies

brew install yt-dlp ffmpeg node
pip3 install mlx-whisper python-pptx
Full 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

📖 Usage

Guided mode (interactive)

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

Power user mode (instant)

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.pptx

Post-generation editing

After 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"

📋 Options Reference

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

🌍 Language Support

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.


📥 Supported Input

YouTube

  • 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

Local files

  • 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+)

💻 Requirements

  • Claude Code CLI
  • macOS with Apple Silicon (for mlx-whisper; Intel Macs can use openai-whisper)
  • Node.js 18+

❓ FAQ

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-whisper

Then 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

🤝 Contributing

Contributions are welcome. Here are the most impactful ways to help:

Add a new mode

Modes live inside video2ppt.md. Each mode defines its analysis perspective, slide structure, and default theme. To add one:

  1. Fork the repo
  2. Add your mode to the mode registry in video2ppt.md
  3. Define the analysis prompt, slide count range, and default theme
  4. Test with at least 3 different videos
  5. Open a PR with before/after examples

Add a new design theme

Themes define background color, accent color, text colors, and layout variants. To add one:

  1. Fork the repo
  2. Add your theme definition to the theme registry in video2ppt.md
  3. Include hex values and usage guidelines
  4. Test across multiple modes to verify readability
  5. Open a PR with screenshots

Report issues

Found a bug or have a feature request? Open an issue.

Suggested topics for the repo

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


📄 License

MIT — use it however you want.

About

YouTube/local videos → polished PPT presentations. Claude Code skill with 10 analysis modes.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors