English | 中文
This project is kept free and open source with the support of PackyCode and other sponsors.
![]() |
Thanks to PackyCode for sponsoring this project! PackyCode is a reliable and efficient API relay service provider, offering relay services for Claude Code, Codex, Gemini, and more. PackyCode provides special discounts for our project users: register using this link and enter the promo code ppt-master during recharge to get 10% off. |
Live Demo · About Hugo He · Examples · FAQ · Contact
↑ A 12-page natively editable deck, generated end-to-end from a single WeChat article URL using Claude Opus 4.7. No manual design. No image export. Every shape, text box, and chart is clickable and editable in PowerPoint.
Drop in a PDF, DOCX, URL, or Markdown — get back a natively editable PowerPoint with real shapes, real text boxes, and real charts. Not images. Click anything and edit it.
Animations — exported decks support page transitions and per-element entrance animations as real OOXML, not embedded video. By default, elements cascade in automatically on slide entry — no clicking needed. Plays natively in PowerPoint and Keynote, no extra tooling. See Animations & Transitions →.
Narration & Video — generate per-slide voice narration from the speaker notes (90+ locales via
edge-tts), embed the audio back into the PPTX, and let PowerPoint export the deck as an MP4 video — synced narration + transitions, no third-party tools. See Audio Narration & Video Export →.
How it works — PPT Master is a workflow (a "skill") that works inside AI IDEs like Claude Code, Cursor, VS Code + Copilot, or Codebuddy. You chat with the AI — "make a deck from this PDF" — and it follows the workflow to produce a real editable
.pptxon your computer. No coding on your side; the IDE is just where the conversation happens.What you'll do: install Python, install an AI IDE, drop in your material.
PPT Master is different:
- Real PowerPoint — if a file can't be opened and edited in PowerPoint, it shouldn't be called a PPT. Every element PPT Master outputs is directly clickable and editable
- Transparent, predictable cost — the tool is free and open source; the only cost is your AI model usage. As AI tools move to usage-based billing, you pay exactly what you consume — no separate PPT subscription added on top
- Data stays local — your files shouldn't have to be uploaded to someone else's server just to make a presentation. Apart from AI model communication, the entire pipeline runs on your machine
- No platform lock-in — your workflow shouldn't be held hostage by any single company. Works with Claude Code, Cursor, VS Code Copilot, and more; supports Claude, GPT, Gemini, Kimi, and other models
AI presentation tools roughly fall into four categories. PPT Master only does the last one:
| Category | Output | Editable element-by-element in PowerPoint? |
|---|---|---|
| Template fill-in | PPTX built from a fixed template | Partially — limited by the template |
| Image-based | One large image per slide, packed into PPTX | ❌ each slide is a picture |
| HTML presentation | Web-based deck | ❌ not a PPTX |
| Native editable (PPT Master) | Real DrawingML shapes, text boxes, charts | ✅ click any element to edit |
See live examples → · examples/ — 22 projects, 309 pages · Why PPT Master?
I'm a finance professional (CPA · CPV · Consulting Engineer (Investment)) who regularly reviews and edits presentation decks. I wanted AI-generated slides to remain editable in PowerPoint, not flattened into images — so I built this.
🌐 Personal website · 📧 heyug3@gmail.com · 🐙 @hugohe3
You only need Python. Everything else is installed via pip install -r requirements.txt.
| Dependency | Required? | What it does |
|---|---|---|
| Python 3.10+ | ✅ Yes | Core runtime — the only thing you actually need to install |
TL;DR — Install Python, run
pip install -r requirements.txt, and you're ready to generate presentations.
Windows — see the dedicated step-by-step guide ⚠️
Windows requires a few extra steps (PATH setup, execution policy, etc.). We wrote a step-by-step guide specifically for Windows users:
📖 Windows Installation Guide — from zero to a working presentation in 10 minutes.
Quick version: download Python from python.org → check "Add to PATH" during install → pip install -r requirements.txt → done.
macOS / Linux — install and go
# macOS
brew install python
pip install -r requirements.txt
# Ubuntu / Debian
sudo apt install python3 python3-pip
pip install -r requirements.txtEdge-case fallbacks — 99% of users don't need these
Two external tools exist as fallbacks for edge cases. Most users will never need them — install only if you hit one of the specific scenarios below.
| Fallback | Install only if… |
|---|---|
| Node.js 18+ | You need to import WeChat Official Account articles and curl_cffi (part of requirements.txt) has no prebuilt wheel for your Python + OS + CPU combination. In normal setups web_to_md.py handles WeChat directly through curl_cffi. |
| Pandoc | You need to convert legacy formats: .doc, .odt, .rtf, .tex, .rst, .org, or .typ. .docx, .html, .epub, .ipynb are handled natively by Python — no pandoc required. |
# macOS (only if the above conditions apply)
brew install node
brew install pandoc
# Ubuntu / Debian
sudo apt install nodejs npm
sudo apt install pandocPPT Master runs in any tool with agent capability — read/write files, execute commands, and sustain multi-turn conversation.
| Type | Examples | Notes |
|---|---|---|
| IDE-native agent | • VS Code architecture (VS Code itself, plus forks & derivatives): Cursor, Trae, Codebuddy IDE, Windsurf, Void, etc. • Other architectures: Zed, etc. |
Editor with a built-in agent |
| IDE plugin / extension | GitHub Copilot, Claude Code (VS Code / JetBrains extension), Cline, Continue, Roo Code, etc. | Installed inside hosts like VS Code or JetBrains |
| CLI agent | Claude Code CLI, Codex CLI, Aider, Gemini CLI, etc. | Runs in the terminal; suits scripting, remote, or server use |
Model recommendation: Claude Opus / Sonnet works best and is most tested. Other mainstream models (GPT, Gemini, Kimi, MiniMax, etc.) also work, but SVG absolute-coordinate layout precision varies.
🔑 Want to use Claude / GPT / Gemini but don't have access yet? Project sponsor PackyCode can help — whether you lack an API key, can't connect directly, have no way to subscribe, or just don't want to pay a full monthly fee for occasional use, PackyCode lets you call Claude, GPT, Gemini and more on a pay-as-you-go basis, no subscription required. Enter promo code ppt-master when topping up for 10% off.
Option A — Download ZIP (no Git required): click Code → Download ZIP on the GitHub page, then unzip.
Option B — Git clone (requires Git installed):
git clone https://github.com/hugohe3/ppt-master.git
cd ppt-masterThen install dependencies:
pip install -r requirements.txtTo update later (Option B only): python3 skills/ppt-master/scripts/update_repo.py
Provide source materials (recommended): Place your PDF, DOCX, images, or other files in the projects/ directory, then tell the AI chat panel which files to use. The quickest way to get the path: right-click the file in your file manager or IDE sidebar → Copy Path (or Copy Relative Path) and paste it directly into the chat.
You: Please create a PPT from projects/q3-report/sources/report.pdf
Paste content directly: You can also paste text content straight into the chat window and the AI will generate a PPT from it.
You: Please turn the following into a PPT: [paste your content here...]
Either way, the AI will first confirm the design spec:
AI: Sure. Let's confirm the design spec:
[Template] B) Free design
[Format] PPT 16:9
[Pages] 8-10 pages
...
The AI handles everything — content analysis, visual design, SVG generation, and PPTX export.
Output: Main native-shapes
.pptx(directly editable) saved toexports/<name>_<timestamp>.pptx. The SVG snapshot_svg.pptxand a copy ofsvg_output/are archived tobackup/<timestamp>/for visual reference and pptx rebuild without re-running the LLM. Requires Office 2016+.
AI lost context? Ask it to read
skills/ppt-master/SKILL.md.
Something went wrong? Check the FAQ — it covers model selection, layout issues, export problems, and more. Continuously updated from real user reports.
Two paths for non-user images, mixable per row in the same deck:
A) AI generation — image_gen.py. Copy .env.example to .env, set IMAGE_BACKEND plus the provider's *_API_KEY (OPENAI_API_KEY, GEMINI_API_KEY, etc.), and the pipeline calls it automatically. Run python3 skills/ppt-master/scripts/image_gen.py --list-backends for the full backend list. gpt-image-2 is currently the best default.
B) Web image search — image_search.py. Zero-config, no API key. Searches openly-licensed images across Openverse and Wikimedia Commons; when PEXELS_API_KEY / PIXABAY_API_KEY (both free) are configured, the default provider chain also appends Pexels / Pixabay. The default is quality-first: CC0, Public Domain, Pexels / Pixabay no-attribution licenses, CC BY, and CC BY-SA are considered together, and Executor adds a small inline credit whenever the selected image requires attribution. Use --strict-no-attribution only when a slide cannot tolerate any credit line. Note: web image search is best treated as a fast fallback. Image quality, resolution, composition, and topic fit depend on the open image sources themselves, so results are usually less polished than user-provided high-resolution assets or AI-generated images. For high-impact covers, product shots, portraits, and branded scenes, prefer source images or AI generation.
Full reference:
image-generator.md(AI) ·image-searcher.md(web).
| Document | Description | |
|---|---|---|
| 🆚 | Why PPT Master | How it compares to Gamma, Copilot, and other AI tools |
| 🪟 | Windows Installation | Step-by-step setup guide for Windows users |
| 📖 | SKILL.md | Core workflow and rules |
| 🎨 | Create a Custom Template | Standalone workflow for building your own brand or industry template |
| 📐 | Canvas Formats | PPT 16:9, Xiaohongshu, WeChat, and 10+ formats |
| 🎬 | Animations & Transitions | Page transitions and per-element entrance animations |
| 🎙️ | Audio Narration & Video Export | TTS narration in 90+ locales, embed audio, export as MP4 |
| 🛠️ | Scripts & Tools | All scripts and commands |
| 💼 | Examples | 22 projects, 309 pages |
| 🏗️ | Technical Design | Architecture, design philosophy, why SVG |
| ❓ | FAQ | Model selection, cost, layout troubleshooting, custom templates |
See CONTRIBUTING.md for how to get involved.
SVG Repo · Tabler Icons · Simple Icons · Phosphor Icons · Robin Williams (CRAP principles)
Looking to collaborate, integrate PPT Master into your workflow, or just have questions?
- 💬 Questions & sharing — GitHub Discussions
- 🐛 Bug reports & feature requests — GitHub Issues
- 🌐 Learn more about the author — www.hehugo.com
PPT Master is currently built and maintained primarily by me. Every new template, bug fix, and documentation update takes ongoing resources — currently shared by the sponsors and individual supporters below.
Corporate sponsors
Individual support
If PPT Master has been helpful to you, individual support of any amount helps keep the project moving and free.
Made with ❤️ by Hugo He — if this project helps you, please give it a ⭐ and consider sponsoring.
Official distribution: GitHub (primary) · AtomGit (mirror). Redistributions on other platforms are unofficial. MIT licensed — attribution required.








