apyhub
FILE CONVERSION · FILE MANIPULATION

Convert PDF to PowerPoint API

What it does

PDF to PowerPoint Converter turns a PDF into a PPTX file. Send a PDF by file upload, public URL, or Base64-encoded content, and get back either a downloadable PowerPoint file or a download_url for the converted presentation.

Use the file-based endpoints when your app already has the PDF on hand, or the URL-based endpoints when the source document is stored elsewhere and reachable by a public .pdf link. The Base64 endpoints are useful when you need to pass document content between services without writing it to disk first. In every case, the input is a single PDF and the output is a PowerPoint presentation.

This is a straightforward fit for document workflows that need editable slides instead of static pages. For example, you can convert reports, decks, proposals, or exported PDFs into PowerPoint before a sales review, internal presentation, or manual slide editing step.

PDF to PowerPoint Converter accepts PDFs up to 10 MB. For direct file uploads, the PDF must be valid, and the /file/download endpoint requires it to be non-password-protected.

▣ ENDPOINT 01 / 06
POST
Convert PDF to PowerPoint (file upload → download)
https://api.eu.apyverse.com/apyhub/convert-pdf-to-powerpoint/file/download

QUICKSTART

GUIDE

Quickstart

Upload a PDF to convert it to PowerPoint.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-pdf-to-powerpoint/file/download" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/file.pdf"

What you'll get back

Returns a binary file stream (string with format: binary) containing the converted PowerPoint file. Save the response to a file.

# example:
# curl -X POST "https://api.eu.apyverse.com/apyhub/convert-pdf-to-powerpoint/file/download" \
#   -H "apy-token: $APY_TOKEN" \
#   -F "file=@/path/to/file.pdf" \
#   --output presentation.pptx
TRY ITLIVE · 150 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.
body*
PDF file to convert. Max 10 MB. Must be a valid, non-password-protected PDF.

About this endpoint

What it does

Converts an uploaded PDF file into a PowerPoint file and returns the converted file as a binary download.

Request Body

ParameterTypeMandatoryDescription
fileStringYesPDF file to convert. Max 10 MB. Must be a valid, non-password-protected PDF.

Response

Returns a binary file download containing the converted PowerPoint output. The success response is a binary payload with no JSON wrapper or response fields.

Body

Name
Type
Description
bodyREQUIRED
object

Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.

▣ ENDPOINT 02 / 06
POST
Convert PDF to PowerPoint (file upload → S3 URL)
https://api.eu.apyverse.com/apyhub/convert-pdf-to-powerpoint/file/url

QUICKSTART

GUIDE

Quickstart

Upload a PDF file to convert it into a PowerPoint presentation.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-pdf-to-powerpoint/file/url" \
  -H "apy-token: $APY_TOKEN" \
  -F "file=@/path/to/file.pdf"

What you'll get back

Returns a JSON object with an optional download_url string field containing the URL of the generated .pptx file.

{
  "download_url": "https://s3.amazonaws.com/bucket/presentation.pptx"
}
TRY ITLIVE · 150 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.
body*
PDF file to convert. Max 10 MB.

About this endpoint

What it does

Converts an uploaded PDF file into a PowerPoint presentation and returns a URL where the generated .pptx file can be downloaded.

Request Body

ParameterTypeMandatoryDescription
fileStringYesPDF file to convert. Max 10 MB.

Response

Returns a JSON object with a download_url string field containing a URI for the converted PowerPoint file.

ParameterTypeMandatoryDescription
download_urlStringNoDownload URL for the generated .pptx file.

Body

Name
Type
Description
bodyREQUIRED
object

Max 100MB total per request (all files combined). Larger? Use this API's URL-based endpoint instead, if it has one.

▣ ENDPOINT 03 / 06
POST
Convert PDF to PowerPoint (URL → download)
https://api.eu.apyverse.com/apyhub/convert-pdf-to-powerpoint/url/download

QUICKSTART

GUIDE

Quickstart

Download a PowerPoint file from a public PDF URL.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-pdf-to-powerpoint/url/download" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"file_url":"https://assets.apyhub.com/samples/sample.pdf"}'

What you'll get back

Returns a binary file response (string with format: binary), so the API sends the generated PowerPoint content directly rather than a JSON object.

TRY ITLIVE · 150 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
Publicly accessible PDF URL. Must point to a .pdf file.

About this endpoint

What it does

Converts a publicly accessible PDF file at the given URL into a downloadable PowerPoint file. You send the PDF URL in the request body and receive the converted file as binary output.

Request Body

ParameterTypeMandatoryDescription
file_urlStringYesPublicly accessible PDF URL. Must be a URI and point to a .pdf file.

Response

Returns a binary file as the success response. The output schema is a single binary string, so the endpoint responds with the converted PowerPoint content rather than a JSON object.

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 04 / 06
POST
Convert PDF to PowerPoint (URL → S3 URL)
https://api.eu.apyverse.com/apyhub/convert-pdf-to-powerpoint/url/url

QUICKSTART

GUIDE

Quickstart

Convert a PDF from a public URL into a PowerPoint by sending the file URL in the JSON body.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-pdf-to-powerpoint/url/url" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"file_url":"https://assets.apyhub.com/samples/sample.pdf"}'

What you'll get back

Returns a JSON object with an optional download_url string field — the generated PPTX file URL.

{
  "download_url": "https://s3.amazonaws.com/bucket/presentation.pptx"
}
TRY ITLIVE · 150 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*

About this endpoint

What it does

Converts a PDF accessible by URL into a PowerPoint file and returns the generated file’s download URL.

Request Body

ParameterTypeMandatoryDescription
file_urlStringYesThe URL of the PDF to convert. Must be a valid URI.

Response

Returns a JSON object with a download_url string field containing the URL of the generated PowerPoint file.

ParameterTypeMandatoryDescription
download_urlStringNoThe download URL for the generated PowerPoint file. Must be a valid URI.

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 05 / 06
POST
Convert PDF to PowerPoint (base64 → download)
https://api.eu.apyverse.com/apyhub/convert-pdf-to-powerpoint/base64/download

QUICKSTART

GUIDE

Quickstart

Convert a PDF sent as Base64 and download the resulting PowerPoint file.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-pdf-to-powerpoint/base64/download" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"pdf_base64":"JVBERi0xLjQKJcTl8uXr..."}'

What you'll get back

Returns a binary file (format: binary) as the response body.

<binary PowerPoint file>
TRY ITLIVE · 150 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*
Base64-encoded PDF content.

About this endpoint

What it does

Converts a PDF provided as base64-encoded content into a PowerPoint file and returns the result as binary data for download. The request body must include the base64 PDF string in pdf_base64.

Request Body

ParameterTypeMandatoryDescription
pdf_base64StringYesBase64-encoded PDF content.

Response

Returns a binary response containing the converted PowerPoint file for download.

ParameterTypeMandatoryDescription
(binary)StringYesBinary file content returned by the endpoint.

Body

Name
Type
Description
bodyREQUIRED
object
▣ ENDPOINT 06 / 06
POST
Convert PDF to PowerPoint (base64 → S3 URL)
https://api.eu.apyverse.com/apyhub/convert-pdf-to-powerpoint/base64/url

QUICKSTART

GUIDE

Quickstart

Convert a PDF, provided as a base64 string, into a PowerPoint presentation.

curl -X POST "https://api.eu.apyverse.com/apyhub/convert-pdf-to-powerpoint/base64/url" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"pdf_base64":"JVBERi0xLjQKJcTl8uXr..."}'

What you'll get back

Returns a JSON object with an optional download_url string field containing the URI of the generated PowerPoint file.

{
  "download_url": "https://s3.amazonaws.com/bucket/presentation.pptx"
}
TRY ITLIVE · 150 ATOMS
Loading your default key…
The full key is used to call the gateway and stays in this tab — never sent to orbit or saved.
body*

About this endpoint

What it does

Converts a PDF provided as a base64-encoded string into a PowerPoint file and returns a download URL for the generated presentation.

Request Body

ParameterTypeMandatoryDescription
pdf_base64StringYesThe PDF file encoded as a base64 string.

Response

Returns a JSON object with a download_url string field containing the URI where the generated PowerPoint file can be downloaded.

ParameterTypeMandatoryDescription
download_urlStringNoA URI to the generated .pptx file.

Body

Name
Type
Description
bodyREQUIRED
object
▣ COMMON ERRORS

Errors any endpoint can return

400bad_request

Required parameter missing or malformed body.

401unauthorized

API key missing, revoked, or not authorized for this service.

429rate_limited

Your plan's per-second rate exceeded. Retry with exponential backoff.

503upstream_busy

Backend temporarily unavailable. Try again in a few seconds.