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/render/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/render/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/render/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_asset 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 300 free pages of PDF conversion, or read the quickstart to connect via MCP.