Ppt Master
Generate natively editable PPTX from PDF / DOCX / URL / Markdown.
metahub onboarded this repo on the author's behalf.
If you own github.com/hugohe3/ppt-master on GitHub, claim the listing to take over publishing. Your claim preserves the existing eval history and badges; only the curator label is replaced with verified-publisher on your next publish.
Stars
22,425
Last commit
4 days ago
Latest release
vv2.8.0
Releases
2
- #plugin
- #ai-agent
- #aippt
- #office
- #powerpoint
- #powerpoint-generation
- #ppt
- #pptx
- #presentation
- #slide
- #slides
Release history
2Contents
English | 中文
<p align="center"> <sub>This project is kept free and open source with the support of <a href="https://www.packyapi.com/register?aff=ppt-master">PackyCode</a>, <a href="https://apikey.fun/register?aff=PPT-MASTER">APIKEY.FUN</a> and other sponsors.</sub> </p> <table> <tr> <td width="180"><a href="https://www.packyapi.com/register?aff=ppt-master"><img src="https://raw.githubusercontent.com/hugohe3/ppt-master/main/docs/assets/sponsors/packycode.png" alt="PackyCode" width="150"></a></td> <td>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 <a href="https://www.packyapi.com/register?aff=ppt-master">this link</a> and enter the promo code <strong>ppt-master</strong> during recharge to get 10% off.</td> </tr> <tr> <td width="180"><a href="https://apikey.fun/register?aff=PPT-MASTER"><img src="https://raw.githubusercontent.com/hugohe3/ppt-master/main/docs/assets/sponsors/apikey-fun.png" alt="APIKEY.FUN" width="150"></a></td> <td>Thanks to APIKEY.FUN for sponsoring this project! APIKEY.FUN is a professional enterprise-grade AI relay service committed to stable, efficient, and low-cost AI access for businesses and developers. The platform supports mainstream models including Claude, OpenAI, and Gemini, with prices as low as <strong>7% of official rates</strong>. Register through <a href="https://apikey.fun/register?aff=PPT-MASTER">our dedicated link</a> for an exclusive perk: <strong>up to 5% off on top-ups, permanently</strong>.</td> </tr> </table> <p align="center"> <a href="https://hugohe3.github.io/ppt-master/"><strong>Live Demo</strong></a> · <a href="https://www.hehugo.com/"><strong>About Hugo He</strong></a> · <a href="./examples/"><strong>Examples</strong></a> · <a href="./docs/faq.md"><strong>FAQ</strong></a> · <a href="./docs/roadmap.md"><strong>Roadmap</strong></a> · <a href="mailto:[email protected]"><strong>Contact</strong></a> </p> <h3 align="center">Download the new <a href="https://raw.githubusercontent.com/hugohe3/ppt-master/main/examples/ppt169_attention_is_all_you_need/exports/attention_is_all_you_need_narrated.pptx">narrated <em>Attention Is All You Need</em> deck</a> — play it in PowerPoint and every slide reads itself out loud. That's just the tip of what PPT Master can do.</h3> <h3 align="center">Of course, you can also download any of the six example decks below — opening the raw .pptx in PowerPoint is the fastest way to see this project's real capability ceiling.</h3> <table> <tr> <td align="center" width="33%"> <a href="https://hugohe3.github.io/ppt-master/viewer.html?project=ppt169_pritzker_2026"><img src="https://raw.githubusercontent.com/hugohe3/ppt-master/main/docs/assets/screenshots/preview_pritzker_2026.png" alt="Editorial magazine — Pritzker 2026 architecture review" /></a><br/> <sub><b>Editorial Magazine</b> — architecture photography, calm typographic grid<br/> <a href="https://hugohe3.github.io/ppt-master/viewer.html?project=ppt169_pritzker_2026">Flip online</a> · <a href="https://raw.githubusercontent.com/hugohe3/ppt-master/main/examples/ppt169_pritzker_2026/exports/pritzker_2026.pptx">Download .pptx</a></sub> </td> <td align="center" width="33%"> <a href="https://hugohe3.github.io/ppt-master/viewer.html?project=ppt169_global_ai_capital_2026"><img src="https://raw.githubusercontent.com/hugohe3/ppt-master/main/docs/assets/screenshots/preview_global_ai_capital.png" alt="Data journalism — Global AI Capital 2026" /></a><br/> <sub><b>Data Journalism</b> — Bloomberg-style dark dashboard, chart-driven<br/> <a href="https://hugohe3.github.io/ppt-master/viewer.html?project=ppt169_global_ai_capital_2026">Flip online</a> · <a href="https://raw.githubusercontent.com/hugohe3/ppt-master/main/examples/ppt169_global_ai_capital_2026/exports/global_ai_capital_2026.pptx">Download .pptx</a></sub> </td> <td align="center" width="33%"> <a href="https://hugohe3.github.io/ppt-master/viewer.html?project=ppt169_swiss_grid_systems"><img src="https://raw.githubusercontent.com/hugohe3/ppt-master/main/docs/assets/screenshots/preview_swiss_grid.png" alt="Swiss typographic grid — Grid Systems primer" /></a><br/> <sub><b>Swiss Grid</b> — strict modular grid, restrained type, red-accent<br/> <a href="https://hugohe3.github.io/ppt-master/viewer.html?project=ppt169_swiss_grid_systems">Flip online</a> · <a href="https://raw.githubusercontent.com/hugohe3/ppt-master/main/examples/ppt169_swiss_grid_systems/exports/swiss_grid_systems.pptx">Download .pptx</a></sub> </td> </tr> <tr> <td align="center" width="33%"> <a href="https://hugohe3.github.io/ppt-master/viewer.html?project=ppt169_glassmorphism_demo"><img src="https://raw.githubusercontent.com/hugohe3/ppt-master/main/docs/assets/screenshots/preview_glassmorphism_demo.png" alt="Glassmorphism SaaS — AI Agent engineering demo" /></a><br/> <sub><b>Glassmorphism SaaS</b> — translucent layers, gradient depth, product UI<br/> <a href="https://hugohe3.github.io/ppt-master/viewer.html?project=ppt169_glassmorphism_demo">Flip online</a> · <a href="https://raw.githubusercontent.com/hugohe3/ppt-master/main/examples/ppt169_glassmorphism_demo/exports/glassmorphism_demo.pptx">Download .pptx</a></sub> </td> <td align="center" width="33%"> <a href="https://hugohe3.github.io/ppt-master/viewer.html?project=ppt169_sugar_rush_memphis"><img src="https://raw.githubusercontent.com/hugohe3/ppt-master/main/docs/assets/screenshots/preview_sugar_rush_memphis.png" alt="Memphis pop — Sugar Rush festival" /></a><br/> <sub><b>Memphis Pop</b> — bold primaries, geometric patterns, playful energy<br/> <a href="https://hugohe3.github.io/ppt-master/viewer.html?project=ppt169_sugar_rush_memphis">Flip online</a> · <a href="https://raw.githubusercontent.com/hugohe3/ppt-master/main/examples/ppt169_sugar_rush_memphis/exports/sugar_rush_memphis.pptx">Download .pptx</a></sub> </td> <td align="center" width="33%"> <a href="https://hugohe3.github.io/ppt-master/viewer.html?project=ppt169_indie_bookstore_zine_guide"><img src="https://raw.githubusercontent.com/hugohe3/ppt-master/main/docs/assets/screenshots/preview_indie_bookstore_zine.png" alt="Risograph zine — Indie bookstore guide" /></a><br/> <sub><b>Risograph Zine</b> — duotone print, hand-made bookstore-culture feel<br/> <a href="https://hugohe3.github.io/ppt-master/viewer.html?project=ppt169_indie_bookstore_zine_guide">Flip online</a> · <a href="https://raw.githubusercontent.com/hugohe3/ppt-master/main/examples/ppt169_indie_bookstore_zine_guide/exports/indie_bookstore_zine_guide.pptx">Download .pptx</a></sub> </td> </tr> </table> <p align="center"> <sub>Generated with Claude Opus 4.7 + <code>gpt-image-2</code>. <a href="https://hugohe3.github.io/ppt-master/">Flip through all examples online →</a> · <a href="./examples/"><code>examples/</code> directory</a> · <a href="./docs/why-ppt-master.md">Why PPT Master?</a></sub> </p>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.
⚠️ PPT Master is a harness, not a complete agent.
harness + model = agent— the tool owns the workflow; the model sets the ceiling. To form a genuinely high-quality agent, use Claude with a large context window (~1M tokens) + AI image generation (gpt-image-2). Other models can run the pipeline but cannot reach the same quality ceiling. If results disappoint, upgrade the model — don't blame the harness.
Live Preview & Visual Edits — during generation, a browser preview at
http://localhost:5050opens automatically. Click any element, write what to change, hit Submit annotations, then return to the chat and say "apply my annotations" — the AI rewrites the SVG and re-exports the PPTX. Originally PPT Master was chat-only by design, but enough users asked for visual editing that we folded it in. Built on top of @WodenJay's PR #85 — thank you. See Live Preview Workflow →.
Template Replication — hand the AI any
.pptxyou like and say "replicate it as a template via/create-template" — you get a layout set PPT Master can invoke directly. Theme colors, fonts, master/layout structure, reusable images, even sprite-sheet crop relationships are extracted straight from OOXML, so covers, chapter dividers and decoration-heavy pages all reproduce reliably. You're no longer limited to the built-in templates: a company brand deck, a client's winning template, or any high-quality reference can become a private template in your own library. See Templates Guide →.
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 (
edge-ttsby default, optional cloud TTS providers for high-quality narration), 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 →.Voice Cloning — bring your own cloned voice from ElevenLabs / MiniMax / Qwen / CosyVoice and have the entire deck narrated in your voice (or a presenter's, with permission). Clone once in the provider's console, then pass the
voice_id— PPT Master reads every slide's notes in that voice and embeds the result back into the PPTX. See Use a cloned voice →.
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.
Why it's shaped this way — knowing how to use Python and AI agents will matter more and more. This project is meant to show how far you can go with just those two things. There's a learning curve if you're starting cold, but it's the curve worth climbing. Making a deck is just the excuse — what I'm really pushing is Python and agents.
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 |
Built by Hugo He
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 · 📧 [email protected] · 🐙 @hugohe3
Quick Start
1. Prerequisites
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 |
<details open> <summary><strong>Windows</strong> — see the dedicated step-by-step guide ⚠️</summary>TL;DR — Install Python, run
pip install -r requirements.txt, and you're ready to generate presentations.
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
brew install python
pip install -r requirements.txt
# Ubuntu / Debian
sudo apt install python3 python3-pip
pip install -r requirements.txt
</details>
<details>
<summary><strong>Edge-case fallback</strong> — 99% of users don't need this</summary>
Pandoc — only needed for legacy document formats: .doc, .odt, .rtf, .tex, .rst, .org, or .typ. .docx, .html, .epub, .ipynb are handled natively by Python — no pandoc required.
# macOS
brew install pandoc
# Ubuntu / Debian
sudo apt install pandoc
</details>
2. Pick an Agent
PPT 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.<br>• 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: prefer Claude Opus / Sonnet with a large context window and
gpt-image-2for images — see the note above for why.
🔑 Want to use Claude / GPT / Gemini but don't have access yet? Project sponsors PackyCode and APIKEY.FUN can help — both offer pay-as-you-go access to Claude, GPT, Gemini and more, no subscription required. PackyCode: 10% off with promo code ppt-master at top-up. APIKEY.FUN: prices as low as 7% of official rates; register via our link for an exclusive permanent discount of up to 5% on top-ups.
3. Set Up
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-master
Then install dependencies:
pip install -r requirements.txt
To update later (Option A / B): python3 skills/ppt-master/scripts/update_repo.py
Option C — Skill marketplace: the repo ships
.claude-plugin/marketplace.json, so it can be installed through the Claude Code plugin marketplace ecosystem:# Cross-agent CLI (Claude Code, Cursor, Codex, etc.) npx skills add hugohe3/ppt-master # Or inside Claude Code /plugin marketplace add hugohe3/ppt-master /plugin install ppt-master@ppt-masterBoth install paths above only fetch the skill files (not the full repo); you still need to
pip install -r requirements.txtfrom the installed location for the post-processing scripts to run.
4. Create
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: Native-shapes
.pptx(directly editable) saved toexports/<name>_<timestamp>.pptx. A copy ofsvg_output/is always snapshotted tobackup/<timestamp>/svg_output/for re-export / archival. Pass--svg-snapshotto additionally emit an SVG-image preview pptx alongside the native pptx inexports/(see FAQ). 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.
5. Image Acquisition (Optional)
Two paths for non-user images, mixable per row in the same deck:
For API-backed features, put credentials in .env. Clone installs can use cp .env.example .env; skill marketplace installs should use a persistent user config:
mkdir -p ~/.ppt-master
cp /path/to/installed/ppt-master/.env.example ~/.ppt-master/.env
PPT Master reads the current process environment first, then the first .env found in this order: current working directory, skill directory (e.g. ~/.agents/skills/ppt-master/.env), clone repo root, ~/.ppt-master/.env.
A) AI generation — image_gen.py. 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 works, but configure PEXELS_API_KEY / PIXABAY_API_KEY (both free) for higher-quality results. Without keys, search uses Openverse / Wikimedia Commons only; this is useful as a fallback, but image quality can be uneven because many results are ordinary user uploads. With keys, the default provider chain also appends Pexels / Pixabay, which materially improves modern stock photography, people, workplace, lifestyle, and illustration coverage. 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. For high-impact covers, product shots, portraits, and branded scenes, prefer this order: user-provided high-resolution assets / AI generation > web search with Pexels / Pixabay keys > zero-config web search.
Full reference:
image-generator.md(AI) ·image-searcher.md(web).
Documentation
| 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 |
| 🎨 | Templates Guide | Use, derive (the focus), and template boundaries; covers standard vs fidelity modes |
| 📐 | 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 | All example projects |
| 🏗️ | Technical Design | Architecture, design philosophy, why SVG |
| ❓ | FAQ | Model selection, cost, layout troubleshooting, custom templates |
Contributing
See CONTRIBUTING.md for how to get involved.
License
Acknowledgments
SVG Repo · Tabler Icons · Simple Icons · Phosphor Icons · Robin Williams (CRAP principles)
Contact & Collaboration
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
Star History
<a href="https://star-history.com/#hugohe3/ppt-master&Date"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=hugohe3/ppt-master&type=Date&theme=dark" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=hugohe3/ppt-master&type=Date" /> <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=hugohe3/ppt-master&type=Date" /> </picture> </a>Sponsors & Support
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
<a href="https://www.packyapi.com/register?aff=ppt-master"><img src="https://raw.githubusercontent.com/hugohe3/ppt-master/main/docs/assets/sponsors/packycode.png" alt="PackyCode" height="40" /></a> <a href="https://apikey.fun/register?aff=PPT-MASTER"><img src="https://raw.githubusercontent.com/hugohe3/ppt-master/main/docs/assets/sponsors/apikey-fun.png" alt="APIKEY.FUN" height="40" /></a> <a href="https://m.do.co/c/547f129aabe1"><img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/PoweredByDO/DO_Powered_by_Badge_blue.svg" alt="Powered by DigitalOcean" height="40" /></a>
Individual support
If PPT Master has been helpful to you, individual support of any amount helps keep the project moving and free.
<a href="https://paypal.me/hugohe3"><img src="https://img.shields.io/badge/PayPal-Sponsor-00457C?style=for-the-badge&logo=paypal&logoColor=white" alt="Sponsor via PayPal" /></a>
<img src="https://raw.githubusercontent.com/hugohe3/ppt-master/main/docs/assets/alipay-qr.jpg" alt="Alipay QR Code" width="220" />Made with ❤️ by Hugo He — if this project helps you, please give it a ⭐ and consider sponsoring.
<sub>Official distribution: <a href="https://github.com/hugohe3/ppt-master">GitHub</a> (primary) · <a href="https://atomgit.com/hugohe3/ppt-master">AtomGit</a> (mirror). Redistributions on other platforms are unofficial. MIT licensed — attribution required.</sub>
Reviews
No reviews yet. Be the first.
Related
CLI Anything
"CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/
Nature Skills
A growing collection of Claude skills for producing academic work at Nature-journal standard. Covers scientific figures (nature-figure), man
Pysheeet
Comprehensive Python programming reference covering syntax, concurrency, networking, databases, ML/LLM development, and HPC