PPTX.gallery
narrativesstorytellingapi

Overview

A narrative defines the story arc of your presentation — the sequence of slide types that guide your audience from opening hook to closing action. The pptx.dev API provides 10 built-in narrative structures, each optimized for a different presentation purpose.

How Narratives Work

A narrative records the intended story arc. It guides the slides you author; the generation API renders the supplied slides array without generating or reordering it. A narrative describes:

  • Slide types — title, text, list, chart, or number slides
  • Slide order — the logical flow from setup to conclusion
  • Content prompts — what each slide should communicate
{
  "narrative": "venture-pitch",
  "title": "Series A Pitch Deck",
  "colorScheme": "bold-red",
  "fontScheme": "segoe-ui"
}

Available Narratives

Classic Story

Slug: classic-story Best for: All-hands meetings, keynotes, any topic that benefits from storytelling

Follows a movie-style narrative: cinematic hook → setup (protagonist, context, stakes) → resolution. Makes any topic engaging through story structure.

Challenge-Resolution

Slug: challenge-resolution Best for: Problem-solving presentations, strategy reviews, operational meetings

Opens with the business challenge and evidence, then presents recommended actions with expected outcomes. Structured for decision-makers who need diagnosis and solution.

Persuasive Sales

Slug: persuasive-sales Best for: Sales pitches, prospect meetings, customer presentations

Describes the customer's problem in their language, then explains how your offering uniquely solves it. Built around empathy and alignment.

Venture Pitch

Slug: venture-pitch Best for: Fundraising decks, investor meetings, Series A/B pitches

Shows traction metrics and growth curves, then highlights the founding team. Optimized for what investors want to see.

Company Intro

Slug: company-intro Best for: First meetings, partnership discussions, onboarding decks

States the company mission, then lists key value propositions. Clean, concise, and designed to make a strong first impression.

Rags to Riches

Slug: rags-to-riches Best for: Inspirational talks, brand origin stories, leadership presentations

Describes the low point and obstacles, then celebrates the eventual success with proof. Powerful for building emotional connection.

Strategic Advisory

Slug: strategic-advisory Best for: Consulting engagements, management presentations, board advisory

Summarizes diagnostic findings, then presents prioritized recommendations. Structured like a management consulting deliverable.

Failure Analysis

Slug: failure-analysis Best for: Post-mortems, incident reviews, lessons-learned presentations

Outlines the failure timeline and impact, then identifies root causes with evidence. Turns setbacks into learning opportunities.

Marketing Strategy

Slug: marketing-strategy Best for: Marketing plans, go-to-market presentations, campaign briefs

Defines target segments and ICP, then lists acquisition channels with KPIs. A structured framework for marketing teams.

Quarterly Review

Slug: quarterly-review Best for: QBRs, executive updates, operational reviews

Shows quarterly KPIs vs. plan, then summarizes risks and mitigations. The standard format for recurring business reviews.

Choosing the Right Narrative

Scenario Recommended narrative
Pitching investors venture-pitch
Sales call persuasive-sales
Team all-hands classic-story
Board meeting quarterly-review or strategic-advisory
Incident debrief failure-analysis
New customer meeting company-intro
Marketing planning marketing-strategy
Strategy session challenge-resolution
Inspirational talk rags-to-riches

Combining Narratives with Layouts

You author the slide sequence and each slide's layout using the narrative as guidance. For example, in a venture-pitch narrative, you might override the traction slide to use a specific chart layout:

{
  "$schema": "https://openpresentation.org/schema/opf/v1",
  "name": "Presentation example",
  "slides": [
    {
      "layout": "chart",
      "title": "Revenue Growth",
      "chart": {
        "type": "line-with-markers",
        "data": {
          "columns": [
            "Series",
            "Q1",
            "Q2",
            "Q3",
            "Q4"
          ],
          "rows": [
            [
              "ARR ($K)",
              120,
              340,
              780,
              1200
            ]
          ]
        }
      },
      "design": {
        "titleAlignment": "center",
        "contentAlignment": "center"
      }
    }
  ],
  "narrative": "venture-pitch",
  "catalogs": {
    "default": {
      "source": "https://www.pptx.gallery",
      "narratives": {
        "venture-pitch": {
          "name": "Venture Pitch",
          "summary": "Series A/B fundraising arc structured around the canonical investor questions.",
          "audienceFit": [
            "investors",
            "venture-capitalists",
            "series-a",
            "series-b"
          ],
          "duration": {
            "min": 10,
            "max": 30
          },
          "tags": [
            "startup",
            "fundraising",
            "pitch",
            "investor",
            "series-a"
          ],
          "beats": [
            {
              "id": "opening",
              "name": "Opening",
              "instructions": "Establish identity",
              "type": "text",
              "layout": "text"
            },
            {
              "id": "purpose",
              "name": "Purpose",
              "instructions": "State your mission",
              "type": "text",
              "layout": "text"
            },
            {
              "id": "problem",
              "name": "Problem",
              "instructions": "Present the challenge",
              "type": "text",
              "layout": "text"
            },
            {
              "id": "solution",
              "name": "Solution",
              "instructions": "Propose your idea",
              "type": "text",
              "layout": "text"
            },
            {
              "id": "why-now",
              "name": "Why Now",
              "instructions": "Explain timing importance",
              "type": "text",
              "layout": "text"
            },
            {
              "id": "market-size",
              "name": "Market Size",
              "instructions": "Demonstrate potential",
              "type": "text",
              "layout": "text"
            },
            {
              "id": "competition",
              "name": "Competition",
              "instructions": "Analyze competitive landscape",
              "type": "text",
              "layout": "text"
            },
            {
              "id": "product",
              "name": "Product",
              "instructions": "Showcase features/benefits",
              "type": "text",
              "layout": "text"
            },
            {
              "id": "business-model",
              "name": "Business Model",
              "instructions": "Detail revenue streams",
              "type": "text",
              "layout": "text"
            },
            {
              "id": "team",
              "name": "Team",
              "instructions": "Highlight key members",
              "type": "text",
              "layout": "text"
            },
            {
              "id": "financials",
              "name": "Financials",
              "instructions": "Show projections/needs",
              "type": "text",
              "layout": "text"
            },
            {
              "id": "closing",
              "name": "Closing",
              "instructions": "Reinforce brand",
              "type": "text",
              "layout": "text"
            }
          ]
        }
      },
      "layouts": {
        "chart": {
          "name": "Chart",
          "summary": "One to six charts, with an optional note.",
          "tags": [
            "Visuals"
          ],
          "direction": "column",
          "regions": [
            {
              "name": "title"
            },
            {
              "name": "charts",
              "accepts": [
                "chart",
                "group"
              ],
              "role": "primary",
              "flow": "grid"
            },
            {
              "name": "note",
              "size": "auto",
              "accepts": [
                "text"
              ],
              "role": "supporting",
              "flow": "none"
            }
          ],
          "description": "Give a chart enough space to show its evidence. Use the title to state the conclusion and labels to explain the measures.",
          "preview": {
            "vectorSrc": "https://www.pptx.gallery/layout-previews/chart.svg"
          }
        }
      }
    }
  }
}

Next Steps