Generate a complete presentation deck with multiple slides asynchronously.
Use this endpoint when:
Workflow:
generation_id immediately (HTTP 202)GET /presentations/{generation_id}/status every 2-5 secondscompleted or partial, download from download_urlSlide ordering: Slides appear in the generated deck in the same order as your slides array.
Mixed templates: Each slide can use a different template_slide_id, allowing you to
combine slides from multiple templates into one deck.
Per-slide options: Override deck-level options for specific slides by providing
options within individual slide objects.
Status values:
pending - Queued for processingprocessing - Generation in progresscompleted - All slides generated successfullypartial - Some slides succeeded, some failedfailed - Generation failed completelyDocumentation Index
Fetch the complete documentation index at: https://duomi.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Production API key. Development/test deployments may also allow X-Org-Name.
Request schema for generating a complete presentation deck with multiple slides.
This endpoint processes asynchronously due to the potentially large workload.
It returns immediately with a generation_id that you use to poll for status.
Workflow:
/presentations/generate-deck with this request bodygeneration_id and status_url in responseGET /presentations/{generation_id}/status until status is completed or faileddownload_url in the status responseSlides ordering: Slides appear in the generated deck in the same order as the slides array.
Mixed templates: Each slide can use a different template slide, allowing you to combine slides from multiple templates into a single deck.
Ordered list of slides to generate. Minimum 1 slide required. Slides appear in the deck in this order.
1Organization name. If provided, must match the API key's organization. If omitted, the API key's organization is used.
"acme-corp"
Default generation options applied to all slides. Individual slides can override these by specifying their own options.
{
"allow_textbox_reposition": false,
"auto_paginate_tables": true,
"footer_font_name": "Arial",
"footer_font_size": 10,
"footer_text": "Confidential",
"show_slide_numbers": true,
"table_min_font_size": 8,
"textbox_min_font_size": 8
}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:
generation_id from this responsestatus_url (or GET /presentations/{generation_id}/status) every few secondscompleted, partial, or failed, generation is donedownload_url in the status response (for completed or partial)Unique identifier for this generation job. Use this to poll status and download the result.
"gen_abc123def456"
Initial status. Always 'pending' for new requests.
"pending"
Full URL to poll for generation status. Convenience field - you can also construct this as GET /presentations/{generation_id}/status.
"https://api.example.com/api/v1/presentations/gen_abc123def456/status"
Timestamp when the generation request was created.
Human-readable status message.
"Generation started. Poll status URL for progress."