SlideForge can convert a PDF back into an editable .pptx file — with real text boxes, shapes, and images — not a rasterized image pasted onto a slide. Upload a PDF exported from PowerPoint, Keynote, Google Slides, Canva, or LaTeX Beamer, and get an editable deck in seconds. $0.01 per page, fully automated via API.
The problem: PDFs are a dead end
You receive a competitor's deck as a PDF. A client sends last quarter's board presentation. Your design team exports to PDF “for safety.” Now you need to update one number, swap a logo, or translate it into German. You can't. The PDF is a sealed format.
The usual options are terrible:
- Adobe Acrobat “Export to PowerPoint” — rasterizes every element into background images. Text boxes are fake overlays. Fonts don't match.
- SmallPDF / iLovePDF / CloudConvert — same approach. OCR + image paste. Not editable in any meaningful way.
- Manual recreation — open the PDF, squint at the layout, rebuild it from scratch in PowerPoint. Takes hours per deck.
How SlideForge does it differently: vector extraction
SlideForge doesn't OCR your PDF. It reads the actual vector content stream — the same drawing commands that placed shapes, positioned text runs, and embedded images. The engine reconstructs these as real PowerPoint objects: text boxes with the original font and size, rectangles with the original fill colors, images at their source resolution.
The result: you open the .pptx in PowerPoint and click on any element. It's a real shape. You can edit the text, change the color, move it, delete it.
Step 1: Analyze (free)
Before converting, check what you're working with. The analyze endpoint inspects the PDF and returns metadata, page count, producer classification, and estimated cost — without creating a job or charging anything.
curl -X POST https://api.slideforge.dev/v1/deck/from-pdf/analyze \
-H "Authorization: Bearer sf_live_YOUR_KEY" \
-F "file=@quarterly-review.pdf"
# Response:
# {
# "page_count": 24,
# "producer": "Microsoft PowerPoint",
# "bucket": "powerpoint",
# "can_extract": true,
# "estimated_cost_usd": 0.24,
# "file_size_bytes": 4821504
# }The can_extract field tells you whether the PDF has vector content the engine can process. The bucket classifies the source application.
Step 2: Convert
curl -X POST https://api.slideforge.dev/v1/deck/from-pdf \
-H "Authorization: Bearer sf_live_YOUR_KEY" \
-F "file=@quarterly-review.pdf" \
-F "name=Q3 Review (converted)"
# Response (202 Accepted):
# {
# "job_id": "pdf-a1b2c3d4",
# "status": "generating",
# "page_count": 24,
# "estimated_cost_usd": 0.24
# }Poll GET /v1/jobs/{job_id} for progress. The response includes per-page extraction updates so you can show a progress bar. When complete, download the .pptx via pptx_url.
Python example
import requests, time
API = "https://api.slideforge.dev"
HEADERS = {"Authorization": "Bearer sf_live_YOUR_KEY"}
# 1. Upload and convert
with open("quarterly-review.pdf", "rb") as f:
resp = requests.post(
f"{API}/v1/deck/from-pdf",
headers=HEADERS,
files={"file": f},
)
job_id = resp.json()["job_id"]
# 2. Poll until complete (~1s per page)
while True:
status = requests.get(f"{API}/v1/jobs/{job_id}", headers=HEADERS).json()
if status["status"] == "complete":
print(f"Download: {status['pptx_url']}")
break
if status["status"] == "failed":
print(f"Error: {status.get('error')}")
break
time.sleep(2)What gets preserved
- Text — original font family, size, color, bold/italic. Each text run is a separate PowerPoint text run, not a merged blob.
- Shapes — rectangles, rounded rects, ovals, lines, arrows, freeform paths. Fill colors and outlines preserved.
- Images — embedded at source resolution. Raster images (logos, photos) extracted and placed at their original coordinates.
- Tables — reconstructed as PowerPoint table objects with individual cells.
- Layout — element positioning matches the original PDF coordinates, mapped to PowerPoint's 13.33” × 7.5” slide dimensions.
Supported PDF sources
The engine works best with PDFs exported from presentation tools:
- Microsoft PowerPoint
- Apple Keynote / Quartz PDFContext
- Google Slides
- Canva
- LaTeX Beamer
- LibreOffice Impress
The /analyze endpoint tells you whether a specific PDF is supported before you spend anything. Scanned PDFs (image-only) and text-heavy documents (reports, contracts) are on the roadmap but not yet supported.
Pricing
$0.01 per page. A 24-page deck costs $0.24. The analyze step is free. Failed extractions are refunded automatically.
Compare that to manual recreation (hours of designer time) or Adobe Acrobat Pro ($20/month for results you can't actually edit).
Via MCP
If you're using Claude Desktop or another MCP client, the upload_file tool accepts PDFs with purpose: "pdf". The agent handles the upload, polls for completion, and shows you the editable preview inline.
Get started
Sign up for $3 free credit (enough for 300 pages of PDF conversion), or read the quickstart to connect via MCP.