Skip to content
pdfconversionapi

PPSX to TIFF API

POST /v2/convert/ppsx/to/tiff returns a single TIFF holding every slide the show plays, as ConvertAPI does by default. At ImageResolution=100 our museum loop became one 295,972-byte file with five 1,333 × 750 pages, each tagged 100 pixels per inch.

Endpoint
POST /v2/convert/ppsx/to/tiff
Accepts
ppsx
Sample timing
0.77 s median of 5 runsHow we measure
Request size
Up to 10 MB on the Free plan or 100 MB on paid plans, all files together

Request and response

Every sample below ran against the API before this page was published. Set PDFCONVERSIONAPI_KEY to your key and run it as is.

curl -sS -X POST \
  https://api.pdfconversionapi.com/v2/convert/ppsx/to/tiff \
  -H "Authorization: Bearer $PDFCONVERSIONAPI_KEY" \
  -F File=@pilot-house-welcome.ppsx \
  --form-string ImageResolution=100 \
  -o response.json

# FileData is base64. Save the first file in converted/,
# or print the JSON error.
if jq -e '.Files' response.json > /dev/null; then
  mkdir -p converted
  name=$(jq -r '.Files[0].FileName' response.json)
  jq -r '.Files[0].FileData' response.json \
    | base64 --decode > "converted/$name"
else
  cat response.json
fi
200 OK0.77 s median1 file, 289 KB
{
  "ConversionCost": 1,
  "ConversionTime": 0.77,
  "Files": [
    {
      "FileName": "pilot-house-welcome.tiff",
      "FileExt": "tiff",
      "FileSize": 295972,
      "FileData": "SUkqANfWAABkAAAAAQAAAGQA…"
    }
  ]
}

Response from our test run on 2026-11-03. ConversionTime shows the median of 5 runs. FileData is shortened here; the real response carries the whole file as base64.

The sample, converted

The same file the code sends. Download the input and the output and compare them yourself.

First page of pilot-house-welcome.tiff, rendered by the API
Input
pilot-house-welcome.ppsx (46 KB)
Output
pilot-house-welcome.tiff (289 KB)
Source
A six-slide welcome loop for a fictional harbor museum, set to advance by itself, with one hidden staff slide. We made it for this page. (CC0-1.0). How it was made
Made by
2026-11-04, API build 9eeeb0640aba

Parameters

Send these as form fields next to the file. Names are case-insensitive. If you set one of the documented options below that we don't support yet, the request fails with a 400 that names it instead of returning a file made without it.

ParameterWhat it does
MultiPageboolean, default truefalse returns one TIFF per slide instead, and those are written without compression: 6,746,891 bytes each at 150 DPI, while all five pages in one file take 483,522.
ImageResolutioninteger, default 150Pixel density of every page, and the resolution tag when you send it. 150 gives 1,999 × 1,125 pages whose tag says only 1 × 1, with no unit; 100 gives 1,333 × 750 tagged 100 × 100.Values: 36–600
PageRangestringSlides to include, counted without hidden ones. 2-3 gave a two-page TIFF of 195,938 bytes. A range of a single slide returns a one-page, uncompressed file.Values: e.g. 2-3
ImageWidthintegerExact page width, height in proportion.Values: 1–20,000
ConvertHiddenSlidesboolean, default falseAdd hidden slides as pages; the sample's TIFF then has 6 pages.
PasswordstringPassword of a protected show; a locked file without it returns 422.
FileNamestringName of the TIFF: pilot-house-welcome.tiff by default.
StoreFileboolean, default falseLink to the stored TIFF in place of the data, valid for 3 hours.

Not supported yet

Setting one of these to anything but its default returns 400.

OptionWhat to do instead
ConvertSpeakerNotesNotes are not printed on the pages; other values than Disabled return 400.
PageSizePages have the slide's 16:9 shape; PageSize returns 400.

What carries over, and what doesn't

Kept

  • All slides the show plays, in order, in one file
  • LZW compression on every page of the multi-page file
  • The resolution you send, written into each page: 100 × 100 pixels per inch in the sample
  • Red, green and blue at 8 bits each on every page, with no alpha channel

Lost or not yet supported

  • Compression, whenever the result is single pages: with MultiPage=false, or with a range of one slide.
  • The fade and the 8-second timing; TIFF pages are stills.
  • The speaker note and the hidden staff slide, unless you ask for hidden slides.
  • Calibri, which is drawn as Carlito with the same widths.

Limits

  • 2,000 pages per request at most.
  • 16,000 pixels per side and 100 million pixels per page.
  • 10 MB on the Free plan or 100 MB on paid plans per request; 120 seconds per conversion; each output file up to 512 MB.

Where teams use it

Filing a show in a TIFF-based archive

Document and records systems that store TIFF can take the whole loop as one item, one page per slide, instead of a .ppsx they can't preview.

Comparing two versions of a loop

Render last month's and this month's show at the same ImageResolution and compare the pages pixel by pixel to see exactly which slides changed.

Questions

Why are separate TIFF files so much bigger?

The multi-page file is LZW-compressed; single-page files are stored raw at 3 bytes per pixel. At 150 DPI one raw slide is 6,746,891 bytes, more than the whole 5-page compressed TIFF (483,522). Keep MultiPage on, or lower ImageResolution.

What DPI does the TIFF report?

Only the one you send. The sample, sent with ImageResolution=100, reports 100 × 100 pixels per inch. Without the option, pages are drawn at 150 pixels per inch and the resolution tag says only 1 × 1, with no unit.

How many pages will the TIFF have?

One per slide the show plays: 5 for the sample. ConvertHiddenSlides=true adds the staff slide for 6, and PageRange narrows it.

Convert your first PPSX file in a minute.