Documentation Index
Fetch the complete documentation index at: https://duomi.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Slide Input
Slide input has two layers:- The request wrapper tells the API which template slide or slides to use.
slide_datatells the renderer what content to place into each selected template slide.
Single-Slide Request
POST /api/v1/presentations/generate starts an async job for one logical slide.
| Field | Required | What it does |
|---|---|---|
template_slide_id | Yes | The analyzed template slide to clone and populate |
slide_data | Yes | Content and formatting for that slide |
options | No | Generation options for this request |
org_name | No | Optional organization override; must match the API key’s organization when provided |
Full-Deck Request
POST /api/v1/presentations/generate-deck renders multiple logical slides asynchronously.
| Field | Required | What it does |
|---|---|---|
slides | Yes | Ordered list of logical slides to generate |
slides[].template_slide_id | Yes | Template slide for that logical slide |
slides[].slide_data | Yes | Content and formatting for that logical slide |
slides[].options | No | Per-slide rendering options for pagination and fitting |
options | No | Deck-level defaults, plus deck-wide footer and slide-number settings |
org_name | No | Optional organization override; must match the API key’s organization when provided |
slides array. A logical slide can still create more than one output slide when table-only pagination is enabled.
For rendering controls such as
auto_paginate_tables, allow_textbox_reposition, table_min_font_size, and textbox_min_font_size, a slide-level options object replaces the deck-level rendering options for that slide. Omitted fields fall back to GenerationOptions defaults, not deck-level values. Footer and slide-number settings are applied deck-wide from top-level options.slide_data Shape
slide_data is the reusable object used inside both single-slide and deck requests.
| Field | Required | What it populates |
|---|---|---|
title | No | Main slide title placeholder |
subtitle | No | Subtitle placeholder; can fall back to a body placeholder on content slides |
header | No | Accepted by the schema for header-area text; not routed to a placeholder by the standard renderer |
footer | No | Footer-area text when the template has a matching region |
footnote | No | A textbox containing footnote_placeholder or footnote marker text |
content | No | Main content blocks for the slide |
slide_format | No | Formatting overrides for title, subtitle, body, and textbox text |
Use
title, subtitle, footer, footnote, or a text block for text you need rendered. Top-level header is accepted by SlideDataInput, but current standard generation does not populate it into a template placeholder.Content Columns
For standard single-column layouts,content is one column object.
content is an array of two column objects.
blocks array. The optional column header is used by two-column templates with textboxes marked LHS_header and RHS_header; LHS means left-hand side and RHS means right-hand side.
For the supported block combinations, see Presentation Generation.
Content Blocks
Each block has atype and a matching payload field.
type | Required matching field | Details |
|---|---|---|
text | text | Text Blocks |
table | table | Table Blocks |
chart | chart | Chart Blocks |
agenda | agenda | Agenda Blocks |
image | image | Reserved in the schema; not implemented for generation |
type must match the payload field. For example, type: "table" requires a table field.
table.table.rows path is intentional: the outer table is the content block payload, and the inner table is the actual table data.
Agenda Blocks
Agenda blocks populate an agenda template slide from a list of section labels and an optional active section.| Field | Required | What it does |
|---|---|---|
sections | Yes | Agenda labels; must contain at least one item |
active_index | No | Zero-based index of the active section; omit for no active highlight |
active_font_color | No | Hex color for the active section text |
active_bold | No | Whether the active section text is bold; defaults to true |
active_underline | No | Whether the active section text is underlined; defaults to true |
Formatting
slide_format applies slide-level text formatting overrides.
Common Gotchas
- Run template analysis first so you have valid
template_slide_idvalues. content.blocksmust be non-empty whencontentis provided.- A block’s
typemust have the matching payload field. - Table-cell text is not a
textblock; it belongs inside table cellvalue. - Chart blocks support bar and column chart types only.
- If table-only pagination creates continuation slides, later output slide indexes can shift for chart updates.
Related Guides
Presentation Generation
Generate one slide or a full deck.
Table Blocks
Author table rows, cells, formatting, and pagination.
Chart Blocks
Author bar and column charts.
Text Blocks
Author textbox sections, paragraphs, and bullets.
Layout & Rendering Controls
Choose compatible layouts and configure pagination, fitting, footers, and slide numbers.
Chart Updates
Refresh chart data in existing decks.