PowerPoint API — generate editable .pptx files via REST or MCP

Updated 2026-07-14 · ~8 min read · Guide

slideforge.dev is the PowerPoint API that binds your data verbatiminto 150+ consulting-grade layouts and validates every render. Editable .pptx from a REST call or an MCP tool — sub-second, $0.05 per slide, and a render that isn't usable never bills. In the rest of this guide I walk through how the API works, how it compares to python-pptx, SlideSpeak, Aspose, and Microsoft Graph, and when slideforge.dev is the right choice.

TL;DR

  • slideforge.dev is a hosted PowerPoint API with both REST and MCP surfaces. $0.05 per slide, usable-or-free. No subscription.
  • 150+ typed slide forms (KPI boards, waterfall bridges, Gantt plans, org structures, swimlane flows, funnels, comparison matrices, and more) — send typed fields, get the layout consultants would build.
  • Verbatim + validated: typed input renders deterministically with zero LLM; every response declares status, fidelity, and warnings. Prose briefs route automatically; your own python-pptx runs in a sandbox (/v1/render/code).
  • MCP-native: one URL, OAuth 2.1, works with Claude Desktop, Cursor, Windsurf, Cline, or any MCP client.
  • Output is a real .pptx file — editable shapes, not images or HTML export.

What you can build

AI agents that produce slides

An agent in Claude Desktop or Cursor calls create_slide(form="kpi_metrics", data={...}) with its own numbers and receives a native .pptx with an editable KPI dashboard in under 2 seconds — plus a machine-readable account (status, fidelity, warnings) it can trust without a human looking. To change something, it re-sends the modified intent — rendering is deterministic and an identical input is free.

SaaS products that export to PowerPoint

Your SaaS dashboard POSTs structured data to /v1/render/intent. A deck with the user's KPIs, trend charts, and status roll-up comes back in one call. No python-pptx layout code, no font debugging, no alignment math. Featured use case: Add PowerPoint export to your SaaS with one API call.

Scheduled reports and batch generation

A cron job POSTs to /v1/render/intent/deckevery Monday morning with last week's numbers. Five slide intents render in parallel, auto-compile into a single .pptx, and land in a shared drive. The call is synchronous — the response carries the deck .pptx URL. About 4 seconds end-to-end for a 5-slide deck — preview images included — about $0.25 per run.

How the slideforge.dev API works

  1. Sign up at slideforge.dev. Grab an API key from the console (for REST) or add the MCP URL to your Claude Desktop config (for OAuth).
  2. Pick an endpoint. For typed data use POST /v1/render/intent — pick a form, send the fields, they bind verbatim with zero LLM. For prose use POST /v1/render/auto (routed, bounded, free on refusal). For full control via python-pptx use POST /v1/render/code. All $0.05/slide.
  3. POST the request. Renders are synchronous — the response carries status, fidelity, and warnings; download the .pptx with your key via GET /v1/jobs/{job_id}/pptx.
  4. Refine (optional). Adjust the intent and re-send — rendering is deterministic, a changed input is a fresh $0.05, an identical input is free.
  5. Compile into a deck (optional). Call /v1/render/intent/deck with N slide intents (a form + typed fields, or a brief) to render in parallel and auto-compile into a single .pptx — synchronously, the .pptx URL is in the response.

Code example: KPI dashboard in one call

curl -X POST https://api.slideforge.dev/v1/render/intent \
  -H "Authorization: Bearer sf_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "form": "kpi_metrics",
    "headline": "Q3: all KPIs trending up",
    "data": {"metrics": [
      {"value": "$12.4M", "label": "Revenue", "trend": "+18%"},
      {"value": "847", "label": "New Clients", "trend": "+12%"},
      {"value": "94%", "label": "Retention", "trend": "+2pp"}
    ]}
  }'

# <1 second, $0.05. Response: status "complete", fidelity "verbatim".
# Download: GET /v1/jobs/{job_id}/pptx with the same Bearer key.

slideforge.dev vs python-pptx vs SlideSpeak vs Aspose vs Microsoft Graph

Feature
slideforge.dev
python-pptx
SlideSpeak
Aspose.Slides
MS Graph
Hosted API (no install)
Native MCP for Claude / Cursor / Windsurf
OAuth 2.1 for agent auth
Typed slide forms (150+ consulting layouts: waterfall, Gantt, org chart...)
Verbatim data binding (typed input renders with zero LLM)
Output validation (reconciliation, capacity, overflow)
Sub-second render
AI generate from text brief
Run your own python-pptx code (managed sandbox)
Native .pptx output (editable shapes)
Pricing
$0.05/slide, usable-or-free
Free
Subscription
Commercial license
Microsoft 365
Free tier
60 slides free
MIT
limited
trial
Office subscription

Detailed head-to-head: slideforge.dev vs python-pptx · slideforge.dev vs SlideSpeak

Which PowerPoint API should you pick?

Pick slideforge.dev if you're building an AI agent or a SaaS that produces slides, the deck ships unattended so the output must be verified — not just pretty — and you'd rather pay per slide than maintain layout code.

Pick python-pptx if you need self-hosted with zero dependencies, you have time to build and maintain layout code, and you're comfortable in XML territory.

Pick SlideSpeak or Aspose if you have existing workflows that predate MCP and you don't need agent-friendly integration.

Pick Microsoft Graph PowerPoint API if your slides live inside a user's Microsoft 365 account and you need permissions-centric access tied to user identity.

Pricing

  • Brief (default brief → slide): $0.05 per slide (<1s, deterministic, bounded, free on refusal)
  • Code render (python-pptx sandbox): $0.05 per slide
  • Identical input: free
  • Translate .pptx into one of 32 languages: $0.02 per slide
  • PDF to PPTX conversion: $0.01 per PDF page

60 free slides on signup. No subscription. USD wallet with $10 minimum top-up, volume discounts up to +20%.

Frequently asked questions

What is a PowerPoint API?

A PowerPoint API lets you generate, edit, or convert .pptx files programmatically without opening Microsoft PowerPoint. The three common patterns are: (1) a local library like python-pptx that you script from Python; (2) a cloud service like slideforge.dev, SlideSpeak, or Aspose that accepts a request and returns a .pptx; and (3) Microsoft Graph PowerPoint API that operates on files stored in Microsoft 365. slideforge.dev is the cloud-service pattern, with the addition of native Model Context Protocol (MCP) support for AI agents.

How does slideforge.dev compare to python-pptx?

python-pptx is a free MIT-licensed Python library — you control every shape, text box, and XML element by writing ~30–100 lines of layout code per slide, and nothing checks the output. slideforge.dev wraps that machinery behind 150+ typed slide forms (kpi_metrics, waterfall_bridge, org_structure, gantt_plan…): you send the data, it binds verbatim and validates the render. A KPI dashboard that takes ~60 lines of python-pptx is one POST with slideforge.dev, at $0.05/slide. And if you'd rather keep writing python-pptx, /v1/render/code runs your build() function in a sandbox with themes, chart widgets, and a geometry linter. Detailed comparison: slideforge.dev/compare/python-pptx.

Can I use this with Claude Desktop, Cursor, or other MCP clients?

Yes. slideforge.dev ships a native MCP server at https://api.slideforge.dev/mcp/ with OAuth 2.1. Add one URL to your Claude Desktop or Cursor config, sign in with Google on first use, and your agent can call create_slide, create_deck, plan_slide, browse_catalog, translate_deck, upload_asset, and manage_account. No API key needed for the OAuth flow. Full setup walkthrough: slideforge.dev/docs/mcp.

How do I modify slide metadata programmatically?

slideforge.dev returns a standard .pptx file that any PowerPoint-compatible library can read. For title, author, and custom properties, we set them on render per your parameters. For post-hoc edits, pipe the downloaded .pptx through python-pptx's core_properties API: prs.core_properties.title = 'new'. slideforge.dev does not lock the file — it's fully editable downstream.

Does the API support charts and tables?

Yes. The form catalog covers chart-grade layouts — waterfall bridges, bar rankings, trend charts, funnels, gauges, KPI boards — plus data tables and comparison matrices, all rendered as editable PowerPoint shapes (not images). Chart forms are validated on render: a waterfall whose deltas don't reconcile or a funnel that isn't monotonic is flagged instead of silently drawn wrong. Browse every form and its data shape at slideforge.dev/templates.

What about Microsoft Graph PowerPoint API or c# PowerPoint API?

Microsoft Graph PowerPoint API is best for editing files that already live in OneDrive / SharePoint under a user's Microsoft 365 account — it's permissions-centric, tied to user identity, and constrained to Microsoft's hosting. A c# PowerPoint API (via Microsoft.Office.Interop or Open XML SDK) requires a local Office installation or verbose XML manipulation. slideforge.dev is the right choice when you're building AI agents that produce slides from briefs or structured data, without tying to a user's Microsoft 365 session.

How do I convert a PDF to an editable PowerPoint via API?

slideforge.dev ships a dedicated PDF-to-PPTX endpoint that extracts vector shapes (text, paths, images) into real editable PowerPoint objects — not rasterized scans. Pricing is $0.01 per PDF page. The output .pptx preserves fonts, layout, and colors wherever the source PDF encodes them as vectors. It works on PDFs exported from presentation tools (PowerPoint, Keynote, Google Slides, Canva, Beamer); scanned PDFs aren't supported yet, and the free analyze step tells you before you spend anything.

What does it cost?

Two render modes — brief and code — both $0.05/slide. Brief (default brief → slide via /v1/render/auto or MCP create_slide(mode=brief)) is bounded, never escalates, and only charged on usable success (vague or unroutable briefs return an intent_unroutable envelope at zero cost). Code render (python-pptx in a sandbox, /v1/render/code or mode=code): $0.05/slide. Identical input is free. Translate a .pptx into one of 32 languages: $0.02/slide. No subscription — USD wallet with $10 minimum top-up and volume discounts up to +20% on $200+ deposits. 60 free slides on signup, no credit card required.

Get your first slide in under a minute.

60 free slides. No credit card required. Works with your existing stack.

Canonical: slideforge.dev/guides/powerpoint-api. SlideForge is published by Smart Data Brokers GmbH, Zurich. Not affiliated with slideforge.io, slideforge.fr, or unrelated GitHub repositories of the same name.