Back to Blog

Turn Markdown Docs into a PowerPoint Deck

Have a README or .md documentation file? Turn it into a .pptx presentation in one API call — or let an AI agent do it over MCP. Here's exactly how.

Posted by

If your documentation already lives in Markdown — a README.md, release notes, or an internal spec — you don't need to rebuild it slide by slide. The PowerPoint Engine API reads Markdown directly and returns a real .pptx file. This tutorial shows the markup rules, a REST example, and how to do the same thing from an AI agent over MCP.

How Markdown maps to slides

The generator uses a small, predictable set of rules so you stay in control of where slides break:

  • A single # Heading sets the deck title.
  • Every ## Heading starts a new slide.
  • ### Heading and deeper become sub-headings inside the current slide.
  • - or * lines become bullet points; numbered lists are kept as-is.
  • Fenced code blocks, links, **bold**, and inline code are cleaned up so no stray Markdown symbols leak onto the slide.
  • Horizontal rules (---) and front-matter are ignored.

Rule of thumb: one # title at the top, then one ## per slide.

1. Generate from a .md file (REST)

Read the file, send its contents as the markup field, and save the returned download URL. Here it is with curl and jq:

curl -s https://powerpointengine.io/api/powerpoint/generate \
  -H "Content-Type: application/json" \
  -d "$(jq -Rs '{markup: ., theme: "corporate"}' README.md)" \
  | jq -r '.result.downloadUrl'

Or in Python:

import json, requests

markup = open("README.md").read()
r = requests.post(
    "https://powerpointengine.io/api/powerpoint/generate",
    json={"markup": markup, "theme": "corporate"},
)
data = r.json()["result"]
print(data["slideCount"], "slides ->", data["downloadUrl"])

Themes: corporate, modern, minimal, colorful. The free tier returns a watermarked file; the Pro plan removes the watermark.

2. Let an AI agent do it (MCP)

The same engine is exposed as a Model Context Protocol server, so an AI assistant can build the deck for you. Connect it once:

claude mcp add --transport http powerpoint-engine \
  https://powerpointengine.io/api/mcp/mcp

Authorize in the browser (one click), then ask your agent to “turn this README into a presentation.” It calls the generate_presentation tool with your Markdown and hands back a download link. The get_account_status tool lets it check remaining credits first.

What it costs

Generation is billed in credits: 1 credit = up to 10 slides. A typical README turns into a handful of slides — one credit. Larger docs cost proportionally more. You can watch usage live on your dashboard, including which generation came from the API vs an MCP agent.

Try it

Paste a Markdown doc into the live tool to see the deck instantly, or read the full API documentation.