Skip to main content

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.

Layout & Rendering Controls

Generation has three cooperating parts:
  • The selected template slide decides the slide size, placeholder positions, table/chart regions, and default visual styling.
  • slide_data supplies the content and any explicit formatting overrides.
  • options tunes how that content is fit into the selected slide and how output-level details such as footers and slide numbers are applied.
Use this page when you are choosing a template slide, deciding whether content should paginate, or setting deck-level rendering defaults.
Template analysis can record both PowerPoint master layouts and the actual template slides. Generation requests target actual analyzed slides by template_slide_id / slideId; master-layout analysis is useful for inspection and matching, but generation does not populate a master layout directly.

Choose a compatible template slide

Good output starts with a template slide that structurally matches the payload.
Payload shapeTemplate layout to useRendering guidance
Title, subtitle, narrative text, or bulletsText-oriented slide with real text regionsLet the template carry font and placement defaults; override text formatting only when needed
Large table with no supporting textTable-only slideKeep auto_paginate_tables: true when row counts may overflow
Table plus commentary textSlide designed for a table and textboxSet auto_paginate_tables: false; use font-size floors and textbox repositioning to fit one slide
Two-column table + chart or table + tableTwo-column template with matching content regionsSet auto_paginate_tables: false; two-column content is fit onto one output slide
Agenda sectionsAgenda templateUse an agenda block with a template that has the expected agenda structure
Do not use a two-column content array for arbitrary left/right layouts. The renderer currently treats two-column content as table + chart or table + table layouts.

Template styling inheritance

By default, generated slides inherit from the template. If a formatting field is omitted, the renderer uses the template’s fonts, sizes, colors, table styling, chart presets, placeholder positions, and master layouts where supported. Explicit formatting in slide_data wins over template styling. The common pattern is to 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. For the full generation payload shape and formatting surfaces, see Presentation Generation and the block-specific guides.

Aspect ratio and slide size

Generated output uses the PowerPoint slide size from the template:
  • Single-slide generation uses the selected template’s slide size.
  • Deck generation initializes the output deck from the first selected template slide’s presentation size.
  • Slide previews preserve the source template’s aspect ratio.
Use one aspect ratio per generated deck. If you need both 16:9 and 4:3 output, keep separate template sets and generate separate decks instead of mixing them in one request.

Where options go

For single-slide generation, put options at the request root:
{
  "template_slide_id": "slide_customer_table",
  "slide_data": {},
  "options": {
    "auto_paginate_tables": true,
    "table_min_font_size": 8
  }
}
For deck generation, put shared rendering defaults and deck-wide footer settings at the deck root. Add options to an individual slide only when that slide needs different rendering behavior:
{
  "slides": [
    {
      "template_slide_id": "slide_table_with_notes",
      "slide_data": {},
      "options": {
        "auto_paginate_tables": false,
        "table_min_font_size": 8,
        "textbox_min_font_size": 8
      }
    }
  ],
  "options": {
    "auto_paginate_tables": true,
    "show_slide_numbers": true,
    "footer_text": "Confidential"
  }
}

Rendering options

These options affect how each slide is populated and fit into the selected template slide.
OptionTypeDefaultWhat it controls
auto_paginate_tablesbooleantrueSplits overflowing table-only layouts across continuation slides
allow_textbox_repositionbooleanfalseAllows textboxes below a table to move down to create more table space
table_min_font_sizeinteger or nullnullMinimum table body font size during fit optimization; omitted uses the renderer default, currently 8pt
textbox_min_font_sizeinteger or nullnullMinimum textbox font size during fit optimization; omitted uses the renderer default, currently 8pt
table_min_font_size and textbox_min_font_size accept values from 6 to 72.

Pagination and fitting

auto_paginate_tables only applies to table-only layouts. When rows overflow, the renderer creates continuation slides and repeats the header row when one is provided. For layouts that combine a table with text, or for two-column layouts, set auto_paginate_tables: false. Those layouts are fit onto one slide by adjusting table and textbox sizing instead of creating continuation slides. Use allow_textbox_reposition: true only for templates where a textbox sits below a table and can safely move down. It is not useful for unrelated textboxes or side-by-side layouts. Use font-size floors to control the tradeoff between fit and readability:
  • Lower values allow more content to fit before pagination or clipping.
  • Higher values preserve readability but may force pagination or leave less room for dense content.
These options are presentation-level output settings.
OptionTypeDefaultWhat it controls
show_slide_numbersbooleanfalseEnables PowerPoint-native slide numbering
footer_textstring or nullnullFooter text shown on generated slides
footer_font_sizeinteger or nullnullFooter and slide-number font size; omitted uses the template/default footer size
footer_font_namestring or nullnullFooter and slide-number font family; omitted uses the template/default footer font
For single-slide generation, footer and slide-number options apply to that generated output file. For deck generation, they are applied deck-wide from the top-level options object. Do not put show_slide_numbers, footer_text, footer_font_size, or footer_font_name only inside slides[].options for deck generation. Deck output uses the top-level footer and slide-number settings.

Deck override behavior

If a deck slide does not include slides[].options, it uses the deck-level rendering options. If a deck slide does include slides[].options, that object replaces the deck-level rendering options for that slide. It is not merged field-by-field. Include every rendering option you want preserved on that slide. Omitted rendering fields fall back to GenerationOptions defaults, not deck-level values.
{
  "slides": [
    {
      "template_slide_id": "slide_mixed_table_text",
      "slide_data": {},
      "options": {
        "auto_paginate_tables": false,
        "allow_textbox_reposition": true,
        "table_min_font_size": 8,
        "textbox_min_font_size": 8
      }
    }
  ],
  "options": {
    "auto_paginate_tables": true,
    "table_min_font_size": 10,
    "textbox_min_font_size": 9,
    "show_slide_numbers": true,
    "footer_text": "Confidential"
  }
}
In this example, the slide uses table_min_font_size: 8, not the deck-level 10. If the slide-level object had only included "auto_paginate_tables": false, then table_min_font_size would fall back to the renderer default instead of inheriting the deck-level 10.

Presentation Generation

Generate one slide or a full deck.

Slide Input

See where options appears in single-slide and deck request structures.