Skip to content

hugohe3/ppt-master

PPT Master — AI generates natively editable PPTX from any document

Version License: MIT GitHub stars AtomGit stars

English | 中文

This project is kept free and open source with the support of PackyCode and other sponsors.

PackyCode 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

Demo: generating a 12-page PPT from a WeChat article with Claude Opus 4.7

↑ 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 .pptx on 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?

Gallery

Magazine style — Garden building guide
Magazine — warm earthy tones, photo-rich layout
Academic style — Medical image segmentation research
Academic — structured research format, data-driven
Dark art style — Music video analysis
Dark Art — cinematic dark background, gallery aesthetic
Nature style — Wildlife wetland documentary
Nature Documentary — immersive photography, minimal UI
Tech style — Claude AI subscription plans
Tech / SaaS — clean white cards, pricing table layout
Product launch style — Xiaomi spring release
Product Launch — high contrast, bold specs highlight

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 · 📧 heyug3@gmail.com · 🐙 @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

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.orgcheck "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.txt
Edge-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 pandoc

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

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 B only): python3 skills/ppt-master/scripts/update_repo.py

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: Main native-shapes .pptx (directly editable) saved to exports/<name>_<timestamp>.pptx. The SVG snapshot _svg.pptx and a copy of svg_output/ are archived to backup/<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.

5. Image Acquisition (Optional)

Two paths for non-user images, mixable per row in the same deck:

A) AI generationimage_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 searchimage_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).


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

Contributing

See CONTRIBUTING.md for how to get involved.

License

MIT

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?


Star History

Star History Chart

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

PackyCode   Powered by DigitalOcean

Individual support

If PPT Master has been helpful to you, individual support of any amount helps keep the project moving and free.

Sponsor via PayPal

Alipay QR Code


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.

⬆ Back to Top

About

AI generates natively editable PPTX from any document — real PowerPoint shapes with native animations, not images · by Hugo He

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Contributors