Skip to main content
POST
/
api
/
v1
/
presentations
/
{presentation_id}
/
exports
Export a presentation
curl --request POST \
  --url https://slides-api.getalai.com/api/v1/presentations/{presentation_id}/exports \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "formats": [
    "link"
  ]
}
'
{
  "generation_id": "<string>"
}
Export an existing presentation to PDF, PPT, or get a shareable link. This is an async operation.

Path Parameters

ParameterTypeDescription
presentation_idstringID of the presentation to export

Request Body

ParameterTypeDefaultDescription
formatsarray["link"]Formats to export: link, pdf, ppt

Response

{
  "generation_id": "abc123-def456-..."
}
Poll GET /generations/{generation_id} until status is completed.

Example

Export to Multiple Formats

curl -X POST "https://slides-api.getalai.com/api/v1/presentations/xyz789-.../exports" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "formats": ["link", "pdf", "ppt"]
  }'

Status Response

{
  "generation_id": "abc123-...",
  "generation_type": "presentation_export",
  "status": "completed",
  "presentation_id": "xyz789-...",
  "formats": {
    "link": {
      "status": "completed",
      "url": "https://app.getalai.com/view/..."
    },
    "pdf": {
      "status": "completed",
      "url": "https://storage.../presentation.pdf"
    },
    "ppt": {
      "status": "completed",
      "url": "https://storage.../presentation.pptx"
    }
  }
}
Download URLs are signed and valid for 24 hours. Download promptly or call this endpoint again to get fresh URLs.

Authorizations

Authorization
string
header
required

Your Alai API key. Get one from your account settings at app.getalai.com

Path Parameters

presentation_id
string
required

Body

application/json
formats
enum<string>[]

Formats to export: 'link' (shareable URL), 'pdf', 'ppt'

Available options:
link,
pdf,
ppt

Response

Successful Response

generation_id
string
required

Unique identifier to poll for generation status via GET /generations/{generation_id}