Skip to main content
POST
Generate single slide (async)

Authorizations

X-API-Key
string
header
required

Production API key. Development/test deployments may also allow X-Org-Name.

Body

application/json

Request schema for generating a single slide asynchronously.

Use this endpoint for quick single-slide generation. The route returns a generation ID immediately; poll the status endpoint for progress and the final download URL.

Note: If the slide is table-only and auto_paginate_tables is enabled, a large table may generate multiple pages (check total_pages_generated in the status response).

template_slide_id
string
required

The template slide ID to use. Obtain this from the template analysis endpoint after uploading and analyzing your template.

Example:

"slide_abc123def456"

slide_data
SlideDataInput · object
required

Content to populate the slide with. Structure depends on the template slide type (title slide, content slide, table slide, etc.).

Examples:
org_name
string | null

Organization name. If provided, must match the API key's organization. If omitted, the API key's organization is used.

Example:

"acme-corp"

options
GenerationOptions · object

Generation options. All fields are optional with sensible defaults.

Example:

Response

Generation started - poll status endpoint for progress

Response schema for async generation requests.

This response is returned immediately when you POST to /presentations/generate or /presentations/generate-deck, and when you PUT to /presentations/{id}/update-charts. The actual Aspose work happens in the background.

Next steps:

  1. Save the generation_id from this response
  2. Poll status_url (or GET /presentations/{generation_id}/status) every few seconds
  3. When status becomes completed, partial, or failed, generation is done
  4. Download from download_url in the status response (for completed or partial)
generation_id
string
required

Unique identifier for this generation job. Use this to poll status and download the result.

Example:

"gen_abc123def456"

status
string
required

Initial status. Always 'pending' for new requests.

Example:

"pending"

status_url
string
required

Full URL to poll for generation status. Convenience field - you can also construct this as GET /presentations/{generation_id}/status.

Example:

"https://api.example.com/api/v1/presentations/gen_abc123def456/status"

created_at
string<date-time>
required

Timestamp when the generation request was created.

message
string
default:Generation started

Human-readable status message.

Example:

"Generation started. Poll status URL for progress."