Presentation Generation
Generation turns an analyzed template slide into a real.pptx. The template provides the visual system. Your request provides the content, the layout payload, and any overrides you want to apply.
Run template analysis first. Generation uses each slide’s analyzed
slideId as template_slide_id.1. Supported Layouts
Layouts describe how content is arranged on the slide. Your template should contain a slide that structurally matches one of these patterns.
Do not use a two-column
content array for arbitrary layouts. The current renderer routes two-column content for table + chart and table + table layouts; chart + chart and text + text are not treated as distinct left/right content regions.
The sections below describe the content blocks used inside those layouts.
2. Content Blocks
Content blocks are the JSON objects placed insideslide_data.content.blocks. Use them to fill the matching regions in a template slide.
For a single-column layout,
content is one column object:
text block, bullets is an array of strings. Each string renders as one bullet paragraph in the matching text region.
For a two-column layout, content is an array of column objects. The optional column header is only used by two-column templates that include header textboxes marked LHS_header and RHS_header, where LHS means left-hand side and RHS means right-hand side.
Table Blocks
Author table rows, dynamic columns, logos, reusable styles, conditional formatting, and pagination.
Chart Blocks
Author bar and column charts with series, axes, legends, labels, and data rows.
Text Blocks
Author slide text, text sections, bullets, and formatting overrides.
3. Template Inheritance
By default, generation inherits from the template. If you omit formatting fields, the renderer uses the fonts, sizes, colors, table styling, chart presets, placeholder positions, and master layouts already encoded in the.pptx.
Use overrides only where the generated content needs to differ from the template.
The common pattern is: let the template carry the brand, then override only data-driven styling such as status colors, risk flags, chart series colors, or one-off title sizing.
4. Generate Slides
There are two generation modes:
Both modes use the same slide object shape:
For layout guidance, option fields, defaults, and deck inheritance rules, see Layout & Rendering Controls.
What you can specify in slide_data
Formatting objects commonly accept:
Generate One Slide
Usegenerate for one logical slide. The endpoint returns immediately with a generation_id; poll status until the generated file is ready.
Single-slide request example
Single-slide request example
total_pages_generated, slide_results, file size, and a signed download_url. total_pages_generated can be greater than 1 when a table-only slide paginates.
Generate a Deck
Usegenerate-deck for multi-slide output. The endpoint returns immediately with a generation_id; poll status until the deck is ready.
Slides render in the same order as the slides array. Each slide can use a different template_slide_id, including slides from different analyzed templates in the same organization.
Deck request example
Deck request example
Poll Status
status is terminal.
Completed example:
slide_results for async deck jobs. A partial result can still include a downloadable .pptx.
Download
Use the signeddownload_url when available. To download through the API instead:
presentation_id can be either:
gen_xxxfrom slide generationgen_xxxfrom deck generationpres_xxxfrom older direct-return generation output, if present
completed or partial.
Page Counts and Indexes
Pagination can make output slide counts differ from request slide counts:total_slides_requestedis the number of logical slides in the request.total_pages_generatedis the number of actual PowerPoint slides in the output file.slide_results[].pages_generatedtells you which logical slides expanded.- Chart update
slide_indexvalues refer to the output presentation, so paginated table-only slides can shift later indexes.
Related Guides
Table Blocks
Rows, cells, logos, reusable styles, conditional formatting, and pagination.
Chart Blocks
Chart types, categories, series, legends, axes, labels, and data rows.
Text Blocks
Slide text, text sections, bullets, and formatting overrides.
Slide Input
Full JSON shapes for text, tables, charts, agendas, and formatting.
Layout & Rendering Controls
Layout compatibility, aspect ratio, pagination, fitting, footers, and slide numbers.
Examples
Complete payloads for common slide and deck patterns.