File: README.md
PPT Master — AI generates native PowerPoint from any document
English | 中文
This project is kept free and open source with the support of Kimi, PackyCode, APIKEY.FUN, RunAPI, YouYun ZhiSuan and other sponsors.
Thanks to Kimi for sponsoring this project! Kimi K3 is the world's first open 3T-class model, featuring native vision and a 1-million-token context window. With PPT Master, K3 can understand source materials such as PDFs, DOCX files, and web pages, identify key points, structure the narrative, and generate a natively editable PPTX that you can continue refining in PowerPoint.
Try Kimi Code, or access the API through the Kimi Open Platform (中文站 | Global).
| 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. | |
|---|---|
| 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 7% of official rates. Register through our dedicated link for an exclusive perk: up to 5% off on top-ups, permanently. | |
| Thanks to RunAPI for sponsoring this project! RunAPI is an efficient and stable API platform — a single API Key gives you access to 150+ leading models, including OpenAI, Claude, Gemini, DeepSeek, and Grok, at prices as low as 10% of official rates, with exceptional stability and seamless compatibility with tools like Claude Code. RunAPI offers an exclusive perk for PPT Master users: register and contact an administrator via our dedicated link to claim ¥7 in free credit. | |
| Thanks to YouYun ZhiSuan for sponsoring this project! YouYun ZhiSuan is UCloud's AI cloud platform, providing one-stop API services for mainstream domestic and international models, all accessible with a single key. The platform features cost-effective CodingPlan packages for domestic models (including GLM5.2, Deepseek-v4, and more), along with official channels for stable access to overseas models, meeting diverse development needs. It's compatible with mainstream AI coding tools like Claude Code and Codex, as well as general API calls. The platform supports enterprise-level high concurrency, 24/7 technical support, and self-service invoicing. Register through this link to receive up to ¥10 in free credits. This project has been built into an Agent — PPT Master — ready to use without local deployment. |
Editable is already table stakes — what sets PPT Master apart is native depth. It hands you a real PowerPoint: slide masters, native shapes, data-backed charts and tables — not flat text boxes, and not a filled-in template. It also does more than lay slides out nicely — it reasons the argument into shape first, then designs; and that native depth keeps converging with PowerPoint itself, adding more of its native capabilities release after release. In form, it's a workflow that runs inside any agent-capable AI tool: hand the AI your topic or material, and it generates on your machine — your data stays local, no platform or model lock-in. How it works and where the limits are → Product Positioning.
|
Editorial Magazine — architecture photography, calm typographic grid
Flip online · Download .pptx |
Data Journalism — Bloomberg-style dark dashboard, chart-driven
Flip online · Download .pptx |
Swiss Grid — strict modular grid, restrained type, red-accent
Flip online · Download .pptx |
| --- | --- | --- |
|
Glassmorphism SaaS — translucent layers, gradient depth, product UI
Flip online · Download .pptx |
Memphis Pop — bold primaries, geometric patterns, playful energy
Flip online · Download .pptx |
Risograph Zine — duotone print, hand-made bookstore-culture feel
Flip online · Download .pptx |
Drop in your source material, and what you get back isn't a static layout you can edit — it's a complete deck with real PowerPoint behavior: native slide transitions, opt-in entrance / emphasis / motion-path / exit animations (off by default), speaker notes that can become audio narration and even video, charts and tables that can ship as real data-backed PowerPoint objects, and it can follow your own PPT template — present it as-is, and keep refining. How to use each capability → Getting Started.
Product Positioning
Editable is now table stakes — the real question is how much of PowerPoint you actually get. PPT Master delivers PowerPoint's native object model itself, and in depth: native shapes and connectors with working adjustment handles, data-backed charts and tables on demand, and the full text / picture / fill / effect model — click any element and keep editing it as a native PowerPoint object; and through the template / structured route, it can hand you a deck with real slide masters and layouts (p:sldMaster / p:sldLayout inheritance).
And that depth is a direction of travel, not a fixed checklist. PPT Master's north star is to keep converging with PowerPoint itself: an ongoing effort to build and integrate more of PowerPoint's native capabilities, release after release, closing the gap between what an AI can generate for you and what you could build by hand in PowerPoint. The PowerPoint ↔ SVG Mapping Guide is the honest, feature-by-feature record of how far that reaches today — and SmartArt is a deliberate omission, not a gap.
In form, it's a workflow (a "skill") that runs inside any agent-capable AI tool: tell it in chat — "make a deck from this PDF" — and it runs the workflow on your machine and exports a natively editable .pptx. No coding on your side; you do exactly three things — install Python, install an AI tool, drop in your material.
Generating a new deck from source documents is the main pipeline, but not the only route. PPT Master can also distill reusable brand / style / layout / deck templates from your references, fill an existing .pptx with new content while preserving its design, and add native transitions, animations, and narration to a finished deck — each route with an explicit contract for what gets preserved.
On top of that native depth, this form comes with three promises:
- Transparent, predictable cost — free and open source; the only cost is your AI model usage, with no PPT subscription on top
- Data stays local — apart from AI model communication, the entire pipeline runs on your machine
- No platform lock-in — any agent-capable AI IDE can drive it; Claude, GPT, Gemini, Kimi, and other models all work
Why you'd choose it, and where it isn't the right fit → Why PPT Master; the long-term capability boundaries behind these promises → Project Positioning.
[!IMPORTANT]
This is a tool, not a wishing well
harness + model = agent— PPT Master only owns the workflow; the model sets the ceiling. Recommended: Kimi K3 (or Claude) with a large context window (~1M tokens) + AI image generation (gpt-image-2or Googlegemini-3.1-flash-image); other models can run the pipeline, with a quality gap.And don't expect a finished, perfect deck in one shot. The tool's value is taking most of the tedious work off your plate; the polishing that's left is yours — a natively editable deck exists precisely so you can keep working on it, not a flat image you can't touch. The cheaper the model, the more there is to do; if results disappoint, upgrade the model first, then check your usage against Getting Started and the example projects.
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.
Knowing how to use Python and AI agents will matter more and more, and this project is also 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.
You Might Also Like
[ResearchStudio-](https://github.com/microsoft/ResearchStudio)
A Microsoft open-source project I recently joined — from paper to talk video, poster, and blog, automating the last mile of research dissemination.
📦 Repo: microsoft/ResearchStudio · 📄 Paper: arXiv:2607.04438
BibTeX — if you use ResearchStudio-Reel in your research
@article{xiao2026researchstudioreel,
title = {ResearchStudio-Reel: Automate the Last Mile of Research from Paper to Poster, Video, and Blog},
author = {Lingao Xiao and Yalun Dai and Yangyu Huang and Qihao Zhao and Wenshan Wu and Hugo He and Ruishuo Chen and Jin Jiang and Qianli Ma and Jiahuan Zhang and Xin Zhang and Ying Xin and Yang Ou and Yan Xia and Scarlett Li and Longbo Huang and Zhipeng Zhang and Yang He and Yap Kim Hui and Yan Lu},
journal = {arXiv preprint arXiv:2607.04438},
year = {2026},
url = {https://arxiv.org/abs/2607.04438}
}Quick Start
1. Prerequisites
All you need to install is Python 3.10+. Everything else comes with one line — pip install -r requirements.txt — after you download the project in Step 3.
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 → done; dependencies are installed in Step 3.
macOS / Linux — install and go
# macOS
brew install python
# Ubuntu / Debian
sudo apt install python3 python3-pipEdge-case fallback — 99% of users don't need this
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 pandoc2. Pick an Agent
PPT Master runs in any tool with agent capability — read/write files, execute commands, and sustain multi-turn conversation.
Never used one of these? Don't worry — in this project they play exactly one role: an AI chat window that can read and write files. Pick any tool from the table, install it, and you'll only ever use its chat panel. No coding involved.
Author's pick: Claude Code — the environment this project is developed and tested on most thoroughly, as the CLI or the VS Code / JetBrains extension.
| Type | Examples | Notes |
|---|---|---|
| IDE-native agent | • VS Code architecture (VS Code itself, plus forks & derivatives): Cursor, Trae, Codebuddy IDE, Windsurf, etc.• Other architectures: Zed, etc. | Editor with a built-in agent |
| IDE plugin / extension | Claude Code (VS Code / JetBrains extension), GitHub Copilot, Cline, etc. | Installed inside hosts like VS Code or JetBrains |
| CLI agent | Claude Code CLI, Codex CLI, Gemini CLI, etc. | Runs in the terminal; suits scripting, remote, or server use |
Model recommendation: for the best results, use Kimi K3 (or Claude) to drive the pipeline, paired with AI image generation —
gpt-image-2(OpenAI) orgemini-3.1-flash-image(Google). Kimi Code, the project sponsor, is a great pick for pay-as-you-go access.
🔑 Want to use Claude / GPT / Gemini but don't have access yet? Project sponsors PackyCode, APIKEY.FUN and RunAPI offer pay-as-you-go access to Claude, GPT, Gemini and more — no subscription required, with exclusive discounts for our users (details at the top of this page).
🔀 Juggling several providers? Once you hold keys from more than one of them, cc-switch — a cross-platform desktop app — lets you one-click switch API providers for Claude Code, Codex, Gemini CLI and more, no manual config editing.
3. Set Up
Option A — Git clone (recommended; requires Git installed): the preferred path, since a clone can pull the latest version at any time.
git clone https://github.com/hugohe3/ppt-master.git
cd ppt-masterThen install dependencies:
pip install -r requirements.txtOption B — Download ZIP (no Git required; best for a quick trial): click Code → Download ZIP on the GitHub page, then unzip, and install dependencies with pip install -r requirements.txt. A ZIP has no Git history, so it can't git pull — see Updating Later. If that download is too large or fails, grab the skill-only package ppt-master-skill-*.zip (~56 MB, fully functional but without the bundled example decks) from the Releases page instead.
Updating Later
Git clone installs:
python3 skills/ppt-master/scripts/update_repo.pyThe script pulls the latest version and syncs Python dependencies when requirements.txt changes.
Download ZIP installs:
ZIP folders do not include Git history, so they cannot run git pull. To update, download the latest ZIP, unzip it into a new folder, copy your old .env and projects/ folder into the new folder, then run:
pip install -r requirements.txtOption C — Skill marketplace: the repo ships
.claude-plugin/marketplace.json, so it can be installed through the Claude Code plugin marketplace ecosystem:bash# 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
First, open the project folder in your agent: the goal is to point the AI at the ppt-master directory you unzipped / cloned in the previous step. In an IDE-type tool, use File → Open Folder — the AI chat panel is usually in the sidebar; in a CLI agent, cd ppt-master first, then launch it. Everything from here on happens in the chat.
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.pdfPaste 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...]By default—unless you explicitly request quick generation—the AI first confirms
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.
Quick generation (skip the confirmation round trip): say so explicitly and the AI goes straight to authoring and export.
You: Quickly generate a 5-page deck from projects/q3-report/sources/report.pdf — no need to confirm with meWhatever you state explicitly is followed; whatever you leave unspecified the agent decides on its own instead of asking. It still converts sources, fills factual gaps, applies the shared visual baseline, and uses images/icons/native shapes/charts/tables/PowerPoint-native inline or block formulas as needed — it drops interaction and durable planning, not presentation capability. It is one-pass and non-resumable, and there is no svg_final/ preview. Full guide → Quick mode.
Output: The SVG pipeline has one PPTX converter: it reads
svg_output/and writes a directly editable native DrawingML deck toexports/<name>_<timestamp>.pptx. The default Generate flow runsfinalize_svg.pyand produces self-contained previews insvg_final/; PowerPoint's manual Convert to Shape command is outside the supported contract. Explicit quick generation skips Strategist, confirmation,design_spec.md,spec_lock.md, andfinalize_svg.py: whatever you state explicitly is followed, and whatever you leave unspecified the agent decides directly in one active context. It still converts sources, researches factual gaps, applies shared mode/style/aesthetic guidance, prepares required images/icons, authors formulas as native inline or block markers, considers native shapes and data visualizations, hand-authors SVG, passes the lockless Quick final quality check, and exports the final PPTX. It writes no substitute plan and cannot resume after context loss. Formula markers compile their LaTeX payload to editable OMML for PowerPoint 2010+; block groups and inline<tspan>runs keep ordinary SVG previews that are replaced during export. Formula rendering and editability in Keynote, WPS, LibreOffice, and other non-PowerPoint clients are not part of this contract. Ordinary export capabilities remain available as needed, including native chart/table replacement, notes, motion, narration, and diagnostics; notes, custom object animation, and narration start off, and the agent may enable them when the request or deck needs them. A default-path Quick export writes the normal postflight report and snapshotssvg_output/tobackup/<timestamp>/svg_output/; an explicit output path keeps the ordinary no-backup behavior. By default charts and tables export as individually editable SVG-derived DrawingML shapes, which prioritize cross-app visual consistency. Pass--native-charts-and-tablesto replace eligible groups with PowerPoint-native Chart/Table objects backed by data, which provide Edit Data and object-specific controls but may render differently across apps; this variant is saved asexports/<name>_<timestamp>_native_charts_tables.pptx. Both chart/table export variants are editable—the distinction is the PowerPoint object model, not editability itself.
Already have a
.pptxyou want to reuse? Hand the AI that deck plus your material and ask it to "fill this deck with the new content" — it fills text, table, and chart data into your existing design and exports only the pages you pick, staying natively editable. See the FAQ and template-fill workflow.
Something went wrong? If the AI loses context, ask it to read
skills/ppt-master/SKILL.md; for everything else, 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 image in the same deck:
A) AI generation — use the agent host's native image tool when available, or image_gen.py with IMAGE_BACKEND plus the provider's *_API_KEY. Host-native generation needs no separate provider image API key; ask the agent to use its own image tool. Run python3 skills/ppt-master/scripts/image_gen.py --list-backends for the configured-provider path. gpt-image-2 is currently the best default.
B) Web image search — image_search.py. Zero-config works; configure PEXELS_API_KEY / PIXABAY_API_KEY (both free) for consistently higher-quality results:
- Without keys, search uses Openverse / Wikimedia Commons only — 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
- Licensing is handled automatically: CC0, Public Domain, Pexels / Pixabay no-attribution licenses, CC BY, and CC BY-SA are all considered together, and Executor adds a small inline credit whenever the selected image requires attribution. Use
--strict-no-attributiononly 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
The API keys above all live 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/.envPPT 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.
Full reference:
image-generator.md(AI) ·image-searcher.md(web).
Documentation
| Document | Description | |
|---|---|---|
| 📘 | Getting Started | First deck in 3 steps, plus how to use templates, live preview, animations, narration, voice cloning (new users start here) |
| 🆚 | Why PPT Master | Why choose it, and where it's not the right fit |
| 🧭 | Project Positioning | Long-term positioning, product promises, and capability boundaries |
| 🪟 | Windows Installation | Step-by-step setup guide for Windows users |
| 📖 | SKILL.md | Core workflow and rules |
| 📐 | Canvas Formats | PPT 16:9, Xiaohongshu, WeChat, and 10+ formats |
| 🛠️ | 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 |
Full documentation index → docs/
Contributing
See CONTRIBUTING.md for how to get involved.
License
Acknowledgments
SVG Repo · Tabler Icons · Simple Icons · Phosphor Icons · Robin Williams (CRAP principles)
See third-party icon notices for pinned versions, licenses, attribution, compatibility overlays, and trademark boundaries.
Related Tools
cc-switch — one-click switching of API providers across Claude Code / Codex / Gemini CLI and more.
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
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
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.
File: docs/README.md
Documentation Index
User-facing documentation lives in this directory: English files are the canonical source, with synchronized Chinese translations in zh/. Workflow and technical references consumed by the AI itself live under skills/ppt-master/.
Getting Started
| Document | Description |
|---|---|
| Getting Started | First deck in 3 steps, plus templates, live preview, animations, narration, voice cloning |
| Windows Installation | Step-by-step setup guide for Windows users |
| FAQ | Model selection, cost, layout troubleshooting, custom templates — updated from real user reports |
Capabilities in Depth
| Document | Description |
|---|---|
| Audio Narration | Speaker notes to per-slide narration: providers, voice cloning, timing, PPTX embedding |
| Transitions & Animations | Default behavior and customization for page transitions and per-element object animations |
| Templates Guide | Creating and applying brand / style / layout / deck templates |
Architecture & Internals
| Document | Description |
|---|---|
| Technical Design | Architecture, design philosophy, why SVG → DrawingML |
| PowerPoint–SVG Mapping | Feature-by-feature mapping between PowerPoint constructs and the pipeline |
| Templates Architecture | Design of the brand / style / layout / deck template system |
Project Direction
| Document | Description |
|---|---|
| What Is a PPT? | The presentation medium, user jobs, delivery contexts, native object model, templates, and quality layers |
| Why PPT Master | Why choose it, and where it's not the right fit |
| Project Positioning | Long-term positioning, product promises, capability boundaries, and admission criteria |
| Roadmap | Delivered capabilities, current priorities, and explicitly deferred directions |
Contributor Rules
| Document | Description |
|---|---|
| Style Rules | Contributor style rules for prompt references and Python scripts |
File: docs/getting-started.md
Getting Started
The short path to your first deck, how to use everything around it — templates, live preview, animations, narration, voice cloning — and where to look when something goes wrong. Sections follow roughly the order you meet them in a real run. Each is the quick version; follow the Full guide → link for depth.
- Start from a template
- Generate your first deck
- Live preview & visual edits
- Animations & transitions
- Narration & video
- Use a cloned voice
- When something goes wrong
Start from a template
Optional. By default PPT Master uses free design — you don't need a template, and you can skip to the next section. Reach for one when a deck must reuse a brand identity, a communication/design method, a fixed layout set, or a recurring deck application.
Two ways to reuse an existing .pptx, depending on what you want back:
| You want… | Route | What happens |
|---|---|---|
| Use this deck's native slide shells with new content | Fill Native PPTX | Clones the selected source slides and patches text / table / chart data directly in OOXML. The source design remains native; output is a new filled deck bound to the available slide shells. |
| Build a reusable design system, then generate a new deck | Create Template → Generate PPTX | Creates a validated Brand, Style, Layout, or Deck workspace from the reference, then authors a fresh deck. The new story, structure, and page count can differ from the source. |
For the first, give the AI your .pptx plus your material (or a topic) and ask it to "fill this deck with the new content" — see the template-fill workflow. The rest of this section covers create-template.
To build a reusable workspace from an existing PowerPoint, explicitly request the Create Template route. A raw .pptx plus new material otherwise belongs to Fill Native PPTX; it is not a Generate template workspace. Create the workspace first:
You: Create a reusable Deck template from projects/brand/our_deck.pptx via /create-templateCreate Template analyzes the reference, confirms whether the result is a Brand, Style, Layout, or Deck, and then authors or materializes a new validated workspace. The importer supplies source evidence; the final workspace owns templates/design_spec.md plus any prototypes and assets required by its kind. Brand and Style are roster-free; Layout and Deck own structured SVG prototypes. If you want a PowerPoint review file for Layout or Deck, run the optional preview export; it creates exports/_template_preview.pptx on demand. The workspace root is what you point to at generation time.
During the create-template brief, choose library (the existing default) or project. Both require templates/ and use optional images/, icons/, and on-demand exports/; empty optional directories are omitted. Project scope requires an initialized target project; library scope alone adds global registration.
A created template lives in one of two places:
| Location | Path | Notes |
|---|---|---|
| Registered in the skill library | skills/ppt-master/templates/<kind>// |
Portable workspace plus global registration, so it appears when you ask "what templates are available?" |
| Under projects | projects/<name>/ |
The same portable workspace without global registration |
Default Generate shows the template choice inside Stage 1, beside the communication contract. The initial communication recommendation is written without reading any template. Ordinary requests start with free design; explicit template intent or any exact root starts in template mode, and the user can always switch. To offer another result, supply its exact workspace-root path in chat: an unregistered root appears in the specified-root dropdown, while an exact registered match resolves back to its kind dropdown. Exactly one supplied root may be preselected; multiple supplied roots remain unselected candidates. One confirmation closes communication and template choice together. Only then are selected workspaces validated and installed; template-aware planning begins in final Stage 2. A bare template name never resolves to a workspace. The complete workspace can be copied or migrated between the library and projects/ without restructuring it; only library registration changes.
You: Make a deck from sources/report.pdf with template skills/ppt-master/templates/layouts/presentation_core/Full guide → Templates Guide
Generate your first deck
The whole loop is three steps. Install first — you only need Python; see Quick Start.
- Drop your source material into
projects/— a PDF, DOCX, Markdown file, a URL, or just text you'll paste. - Tell the AI in chat what to turn into a deck. Stage 1 then lets you confirm the communication contract together with free design or template use; add one exact workspace root when you want template mode and that path preselected:text
You: Make a deck from projects/q3-report/sources/report.pdf You: Turn this text into a deck: - Get an editable
.pptxatexports/<name>_<timestamp>.pptx— real DrawingML shapes, text boxes, and charts you can click and edit in PowerPoint, Keynote, WPS, or LibreOffice.
Before generation, Stage 1 confirms the communication contract, canvas/format, and free-design/template choice together. The AI then installs any selected workspace; final Stage 2 reads that installed state and confirms page count, the visual system, template application, and production choices. From there it handles content analysis, layout, image acquisition, SVG generation, and export — the core loop everything else builds on. To skip interactive confirmation, see Quick mode below.
Quick mode
The default flow runs its combined Stage-1 communication/template choice followed by final Stage 2. To skip that interaction, explicitly ask for quick generation:
You: Quickly generate a deck from sources/report.pdf — no need to confirm with me
You: Turn this into a deck, skip the confirmation, about 8 pages, dark corporate lookWhatever you state explicitly is followed; whatever you leave unspecified the agent decides directly, without coming back to ask. The page count and the look in the second example still hold — quick mode drops the round trip, not your say. State nothing, and the agent decides everything.
Quick mode never opens the Confirm UI template selector. Give it up to one exact
Brand / Style / Layout / Deck workspace root per kind and it validates,
installs, and uses them directly; give it no exact root and it uses free design.
A bare template name or style phrase is still only a design brief. Quick keeps
its lockless flat export, so Layout / Deck prototypes guide the authored pages
but do not compile into reusable native Master / Layout objects.
It does not skip capabilities: source conversion, research on identified factual gaps, shared aesthetic guidance, image / icon preparation, and native-shape / chart / table authoring still run as needed. Structural formulas are authored directly as native PowerPoint markers rather than prepared as image assets. If a required asset is missing, it still stops and asks you for it instead of substituting unrelated material.
Quick is a one-pass profile, not a shortened resumable workflow. It creates no Strategist record, design_spec.md, spec_lock.md, or substitute page plan; its content/design/resource decisions exist only in the active AI context. If that context is lost before delivery, start Quick again. Operational manifests, quality reports, postflight, and the cold Python audit log may remain, but they cannot reconstruct why the AI designed the deck that way. The profile reduces interaction and durable planning, not the available presentation toolbox or the intended quality bar.
Full guide → quick-generate profile
Live preview & visual edits
A browser preview opens at the URL reported by the launcher while the deck is being generated. It prefers http://localhost:5050 and uses the next free port when 5050 is occupied.
- Watch pages render live as the AI produces them.
- Edit directly, no AI — select an element to change its text, color, font, or size in the side panel; drag it to reposition, or nudge with the arrow keys (
Shift= 10px).Ctrl+Zundoes. Edits preview instantly and write tosvg_output/when you click Apply changes. - Or annotate for the AI — click an element, type what you want changed, hit Submit annotations, then say "apply my annotations" in chat and the AI rewrites that region and re-exports the PPTX.
PPT Master was chat-only by design; visual editing was folded in after enough users asked for it (built on @WodenJay's PR #85).
Full guide → Live Preview Stage
Animations & transitions
Exported decks carry page transitions and optional per-element object animations
as real OOXML—not embedded video. The default is a fade page transition with
no element animation; opt in with -a auto, one of the 203 nativeentrance_* / emphasis_* / path_* / exit_* presets, or ananimations.json sidecar. The 29 former short names remain accepted only as
compatibility inputs; new animation choices use canonical prefixed names.
Animation settings are strict: unknown effects or Start modes, invalid timing values, and missing sidecar targets fail instead of silently becoming another effect. Before the result replaces an existing output, PPT Master reads the candidate package back and checks timing placement, IDs, shape targets, effects, durations, and Start modes. Microsoft PowerPoint is the primary motion-validation target; other presentation apps can open the PPTX but may map individual animation effects differently.
Full guide → Animations & Transitions
Narration & video
Turn the speaker notes into per-slide voice narration, embed the audio back into the PPTX, and let PowerPoint export the deck as a synced-narration MP4 — no third-party tools.
You: Generate narration for this deck and re-export with audio embedded.
You: Generate narration audio for this deckNarration defaults to edge-tts (about 90 locales); optional cloud providers cover higher-quality voices. The AI recommends a voice for the deck's language and asks once before generating.
Full guide → Audio Narration & Video Export
Use a cloned voice
Bring your own cloned voice from ElevenLabs / MiniMax / Qwen / CosyVoice and have the whole 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.
Full guide → Use a cloned voice
When something goes wrong
The FAQ is the living troubleshooting reference — continuously updated from real user reports. Quick pointers for the most common situations:
| Situation | First thing to try |
|---|---|
| The AI drifts or forgets a step | Ask it to re-read skills/ppt-master/SKILL.md, skills/ppt-master/workflows/routing.md, and the selected route authority. |
| Visual quality disappoints | Switch to a large-context Claude model + gpt-image-2 — the harness sets the floor, the model sets the ceiling. |
| Text overflows or elements overlap | Re-run that page, or fix it in live preview; see the FAQ. |
| No image-generation API key | Use the host's native image tool when available; otherwise zero-config web search still works. See the FAQ. |
| Animations or some effects look off in another app | Microsoft PowerPoint is the primary motion-validation target. Keynote / WPS / LibreOffice can open the .pptx, but may remap or omit individual effects or Start semantics; validate motion-critical delivery in PowerPoint. |
| A long deck might blow the context window | Generation can run in split mode; details in the FAQ. |
For model choice, cost, chart editability, custom templates, and more, the FAQ is the place to look.