Image to PPT API

Image to PPT API with editable PowerPoint output

Send a PNG or JPG with your API key and get back a PPTX whose text is editable and whose visuals are separate layers: the same conversion that powers the EditablePPT web app.

Quickstart in three requests

Create an API key, upload an image, poll until the job succeeds, then export the PPTX. Replace <ID> with the id returned by the first request.

# 1. Upload a PNG or JPG and start the conversion
curl -X POST "https://editableppt.com/api/image-conversions?quality=standard&title=Slide%201" \
  -H "Authorization: Bearer $EDITABLEPPT_API_KEY" \
  -H "Content-Type: image/png" \
  --data-binary @slide.png
# → {"code":0,"message":"ok","data":{"id":"<ID>","status":"processing",...}}

# 2. Poll every few seconds until status is success or failed
curl "https://editableppt.com/api/image-conversions?id=<ID>" \
  -H "Authorization: Bearer $EDITABLEPPT_API_KEY"

# 3. Download the editable PPTX
curl -X POST "https://editableppt.com/api/image-conversions/export" \
  -H "Authorization: Bearer $EDITABLEPPT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ids":["<ID>"],"title":"Slide 1"}' \
  -o slide.pptx

Built for automated slide pipelines

Editable output, not a screenshot

Text comes back as native PowerPoint text boxes with matched size and color; icons, photos and cards become separate image layers.

Two quality modes

Standard for fast text and image layers, Layered for five depth layers with word art kept as its own layer. Pick one per request with the quality parameter.

Pay per image with credits

Each request spends credits from your account: 40 for Standard and 80 for Layered. Failed and canceled jobs are refunded automatically.

The image to PPT API lets your product, script or workflow do what the EditablePPT converter does in the browser. Upload a slide image, a poster, a screenshot or a scanned page; EditablePPT recognizes the text, matches its style, removes it from the background and separates the remaining artwork into layers. When the job finishes, export one image or up to 20 converted images as a single PPTX deck.

Conversion is asynchronous because recognition, background cleanup and layer separation take time: about 1–2 minutes in Standard mode and 3–5 minutes in Layered mode. Start a job, store the returned id and poll its status. Call the API only from your own server, never from a public web page or mobile app, because every request spends your account's credits.

How to use the image to PPT API

  1. 1

    Create an API key

    Sign in, open Settings > API Keys and create a key. It starts with sk_ and is sent as a Bearer token.

  2. 2

    Start a conversion

    POST the raw image bytes to /api/image-conversions with an optional quality and title. The response contains the job id.

  3. 3

    Poll and export

    GET the job until its status is success, then POST its id to /api/image-conversions/export to download the .pptx file.

API reference

Endpoints and parameters

Every endpoint except export returns a JSON envelope with code, message and data fields. A code of 0 means success; any other code means the request failed, and message says why. Export returns the PPTX file itself.

Authentication

Every request needs your API key in the Authorization header. Keys belong to your account and spend its credits; revoke a key in Settings > API Keys if it leaks.

Authorization: Bearer sk_...

Start a conversion

Send the raw image as the request body, not as multipart form data. Query parameters:

  • quality: standard (default) or layered for five depth layers. Any other value runs Standard.
  • refine=1: with layered, also splits buttons and small backplates out of large cards.
  • title: optional name for the job and the exported file, up to 120 characters.
POST https://editableppt.com/api/image-conversions

Check status

Returns the job and its current state.

  • status: pending, processing, success, failed or canceled.
  • progress: 0–100, with stage naming the current step.
  • error: the reason when status is failed; the job's credits are refunded.
GET https://editableppt.com/api/image-conversions?id=<ID>

Export PPTX

Send a JSON body with ids (1–20 successful job ids) and an optional title. The response is the .pptx file, with one slide per job in the order given.

POST https://editableppt.com/api/image-conversions/export

{"ids":["<ID-1>","<ID-2>"],"title":"My deck"}

Cancel a job

Stops a job that is still running and refunds its credits. Use it when a user abandons an upload or your own timeout expires.

DELETE https://editableppt.com/api/image-conversions?id=<ID>

Errors and limits

Use the HTTP status to decide whether to retry.

  • 401: missing or invalid API key.
  • 402: not enough credits. Top up, then retry.
  • 400 or 413: not a PNG or JPG, over 25 megapixels, or larger than 20 MB.
  • 503: conversion capacity is busy. Retry after a short delay.

Related presentation workflows

Image to PPT API FAQ

Which image formats and sizes does the API accept?

PNG and JPG/JPEG, up to 20 MB and 25 megapixels per request. Send one image per conversion, then combine several finished jobs into one deck when you export.

How long does a conversion take?

Standard jobs usually finish in 1–2 minutes. Layered jobs take about 3–5 minutes, and fine card splitting adds a few more. Poll every 3–5 seconds instead of holding a connection open.

How is API usage billed?

With the same credits as the web app: 40 per Standard image and 80 per Layered image. Credits are deducted when the job starts and refunded if it fails or you cancel it. A request without enough credits returns HTTP 402.

Can I combine several images into one PowerPoint?

Yes. Pass up to 20 successful job ids to the export endpoint in the order you want the slides, and you get a single PPTX.

Is the output really editable?

Recognized text is native, editable text. Visual elements are separate pictures with transparency that can be moved, resized or deleted. Charts and tables are not rebuilt as native charts or tables, so review complex slides before you ship them.