Skip to main content

Slide Input

Slide input has two layers:
  • The request wrapper tells the API which template slide or slides to use.
  • slide_data tells the renderer what content to place into each selected template slide.
Use this page to understand the shape of those objects. For block-specific fields, use the dedicated guides for Text Blocks, Table Blocks, and Chart Blocks.

Single-Slide Request

POST /api/v1/presentations/generate starts an async job for one logical slide.

Full-Deck Request

POST /api/v1/presentations/generate-deck renders multiple logical slides asynchronously.
Slides appear in the generated deck in the same order as the 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.
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.
For supported two-column table layouts, content is an array of two column objects.
Each column must have a non-empty 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 a type and a matching payload field. The block type must match the payload field. For example, type: "table" requires a table field.
The nested 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.
Use agenda blocks with agenda template slides that contain the expected agenda table and numbered oval shapes.

Formatting

slide_format applies slide-level text formatting overrides.
Formatting support varies by surface. For block-specific formatting behavior, use the dedicated block pages.

Common Gotchas

  • Run template analysis first so you have valid template_slide_id values.
  • content.blocks must be non-empty when content is provided.
  • A block’s type must have the matching payload field.
  • Table-cell text is not a text block; it belongs inside table cell value.
  • 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.

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.