Skip to main content
Templates determine available slide layouts; themes determine presentation-wide visual identity. Use one design mode for a generation request: a standard template or a Smart design. A theme can be combined with a standard template.

List standard templates

List built-in and custom templates with GET /standard-template/all:
The response includes the identifier to pass in standard_template:
Set include_defaults=false when your interface should show only the user’s custom templates.

Inspect template layouts

Fetch one template with GET /standard-template/{id}. Each returned slide layout contains an id, an optional name and description, and a json_schema describing the content it accepts.
Use GET /standard-template/{id}/example when you need sample content for the layouts. This is especially useful before generating a presentation directly from structured JSON.

Create a presentation from JSON

Inspect layout schemas and fill them with deterministic application data.

List Smart designs

Smart designs use a separate identifier and a paginated endpoint:
Store the selected result’s identifier and pass it in smart_design. Do not place a Smart design identifier in standard_template.

List themes

Built-in and custom themes use separate listing endpoints:
Pass the returned id as the theme value. Built-in identifiers currently exposed by the generation schema include edge-yellow, light-rose, mint-blue, professional-blue, and professional-dark.

Generate a color palette

POST /theme/generate derives a complete presentation palette from the seed colors you provide. All fields are optional, so you can begin with only a primary and background color:
The response contains colors for backgrounds, cards, strokes, text, and ten graph series. Review their contrast before saving the palette as a reusable theme.

Create a custom theme

Create a reusable theme with POST /theme/create. The request requires a name, description, complete colors, and font data. company_name and a previously uploaded logo asset identifier are optional.
Submit that body to the create endpoint and store the returned theme id:
Replace the example font URL with a font file URL your presentation renderer can access. Verify font licensing and test an exported presentation before using a custom theme in production.

Apply the resources

Store identifiers safely

  • Persist identifiers rather than display names; names can change and are not guaranteed to be unique.
  • Refresh lists when a user opens a selector so newly created resources appear.
  • Handle a missing identifier by asking the user to choose a replacement instead of silently changing the design.
  • Keep standard-template and Smart-design identifiers in separate fields in your application.
  • Test custom fonts, logo placement, charts, and text contrast in the exported format.
Use the reference schemas as the contract: a standard template identifier and a smart design identifier are different resource types and are not interchangeable.