Skip to content
pdfconversionapi

ODP to PNG API

POST /v2/convert/odp/to/png draws each visible slide of an OpenDocument presentation as a lossless PNG. With ImageWidth=800, our composting workshop returned four 800 × 450 images, from 35,317 bytes for the cycle diagram to 72,737 for the table.

Endpoint
POST /v2/convert/odp/to/png
Accepts
odp
Sample timing
0.792 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/odp/to/png \
  -H "Authorization: Bearer $PDFCONVERSIONAPI_KEY" \
  -F File=@compost-workshop.odp \
  --form-string ImageWidth=800 \
  -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.792 s median4 files, 216 KB
{
  "ConversionCost": 1,
  "ConversionTime": 0.792,
  "Files": [
    {
      "FileName": "compost-workshop-1.png",
      "FileExt": "png",
      "FileSize": 46926,
      "FileData": "iVBORw0KGgoAAAANSUhEUgAA…"
    },
    {
      "FileName": "compost-workshop-2.png",
      "FileExt": "png",
      "FileSize": 72737,
      "FileData": "iVBORw0KGgoAAAANSUhEUgAA…"
    },
    {
      "FileName": "compost-workshop-3.png",
      "FileExt": "png",
      "FileSize": 35317,
      "FileData": "iVBORw0KGgoAAAANSUhEUgAA…"
    },
    … 1 more files
  ]
}

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 compost-workshop-1.png, rendered by the API
Input
compost-workshop.odp (40 KB)
Output
compost-workshop-1.png (46 KB)compost-workshop-2.png (71 KB)compost-workshop-3.png (34 KB)compost-workshop-4.png (64 KB)
Source
Five OpenDocument slides for a composting workshop at a fictional community garden, with a table, a diagram drawn from shapes and one hidden slide. We made them 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
ImageWidthintegerExact width; 800 gives 800 × 450 for these 16:9 slides.Values: 1–20,000
ImageHeightintegerExact height, width in proportion.Values: 1–20,000
ImageResolutioninteger, default 150Used without a size: 1,653 × 930 at 150, where the table slide is 169,610 bytes. Sent explicitly, it is stored in the PNG.Values: 36–600
BackgroundColorstring, default whiteConvertAPI documents it for ODP with White as the default. It is accepted, but each slide paints its own background over the whole image, so red gave exactly the same pixels as leaving it out, at 800 wide and at the default 150 DPI.
TransparentColorstringOne exact color becomes transparent: white on the diagram slide at 800 wide cleared 60.8% of the pixels.
PageRangestringSlides to draw, skipping hidden ones: 3 returns only the diagram.Values: e.g. 3, 1-2
ConvertHiddenSlidesboolean, default falseInclude the hidden facilitator checklist as page 4.
PasswordstringOpens a password-protected .odp; our locked copy drew its table slide with it.
FileNamestringReplaces compost-workshop in the names.

Not supported yet

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

OptionWhat to do instead
ConvertSpeakerNotesNot drawn; values other than Disabled return 400.
PageSizeImages take the slide's shape; PageSize returns 400 "PageSize is not supported yet for ODP files".

What carries over, and what doesn't

Kept

  • Text on colored boxes with no compression noise
  • Soft shadows under the diagram boxes and arrows
  • The table's colored header cells and alternating row shading
  • The bin picture next to its four bullet points

Lost or not yet supported

  • Small files: the table slide at 1,653 × 930 is 169,610 bytes as PNG.
  • The note under the diagram slide.
  • The hidden facilitator slide, unless ConvertHiddenSlides=true.

Limits

  • 2,000 slides per request.
  • 16,000 pixels per side; 100 million pixels per image.
  • 10 MB on the Free plan or 100 MB on paid plans per request; 120 seconds per conversion, then 504.

Where teams use it

Diagrams for a wiki or a how-to page

Lift the four-step cycle diagram out of the workshop slides as a PNG for a garden's wiki. Lossless edges keep the white labels on colored boxes clean.

Slides for documentation with transparency

Key out the white page with TransparentColor=white and place the diagram on any background in a guide or a poster.

Questions

Does BackgroundColor change the slides?

No. Each slide is drawn with its own white or cream background, which reaches every edge of the image, so BackgroundColor=red returned the same pixels as no option at all. Use TransparentColor=white if you want the white area gone.

Which slides do I get?

The 4 visible ones. Slide 4 of the file, the facilitator checklist, is hidden, so the bin slide is page 4 here. With ConvertHiddenSlides=true you get 5 images.

How do I make thumbnails?

Set ImageWidth, for example 320, and the height follows the 16:9 slide. For a fixed box, send both ImageWidth and ImageHeight and the slide is fitted inside.

Convert your first ODP file in a minute.