{}OPF
DocsSpec sectionView source

Open Presentation Format spec

Formal source links, normative rules, and schema references for OPF.

1. Source of truth

OPF spec content is pulled from OpenPresentation/opf at build time. This site renders the format reference; it does not fork the spec.

Public npm package: @openpresentation/opf (npm install @openpresentation/opf).

Open Presentation Format is the portable, human-readable JSON document format for slide decks.

This repository is the canonical home for the OPF spec, JSON Schemas, catalog presets, examples, generated developer types, local validation tooling, and planning docs for the future render/edit/convert toolkit. OpenPresentation publishes open-source code and documentation only; it does not provide hosted APIs, hosted rendering functions, queues, storage, authentication, jobs, previews, SLAs, telemetry, or managed infrastructure.

2. Schema index

Schema files live in spec/schemas. The OPF site reads the same JSON Schema files that validators and packages consume.

PresentationOpen-source JSON format for describing PowerPoint presentations. Agents describe narratives, content, audience, reusable assets, and design — the engine handles OOXML complexity. Fields that reference catalog…21 fields · 1 requiredAudienceSchema for audience records in the pptx.gallery library. Each record names an audience archetype (e.g. 'executives', 'engineering-team', 'investors') and carries seniority, technical-fluency, decision-power, a…13 fields · 3 requiredCatalog IndexGeneric shape shared by every spec/catalogs/<kind>/index.json file in the OPF repo. An index is a lightweight, ordered summary of the full-record JSON files that live alongside it: each entry names the record'…4 fields · 4 requiredChart TypeSchema for chart-type records in the pptx.gallery catalog. Each record describes a named chart variant, its Open XML mapping, its series/category cardinality, the column structure of the underlying workbook, a…22 fields · 4 requiredColor SchemeSchema for color-scheme records in the pptx.gallery library. Each scheme is a named palette with the twelve PowerPoint color slots (six accents, two darks, two lights, plus hyperlink and followed-hyperlink), s…19 fields · 3 requiredFont SchemeSchema for font-scheme records in the pptx.gallery library. Each scheme pairs a major (heading) and minor (body) font family in the OOXML majorFont/minorFont sense, scoped to a target app (PowerPoint or Google…14 fields · 5 requiredLanguageSchema for language records in the pptx.gallery library. Each record names a presentation language, carries a BCP-47 language tag, and pairs it with sensible default font schemes for PowerPoint and Google Slid…13 fields · 4 requiredLayout Preview IndexShape of spec/previews/layouts/index.json, the manifest for the vendored slide-archetype preview gallery under spec/previews/layouts/. Each record names a preview id, its self-contained HTML file, and the file…4 fields · 4 requiredNarrative TemplateSchema for narrative template files in the openpresentation.org catalog. Each template describes a named story arc (e.g. 'problem-solution', 'scqa') as an ordered list of beats. Templates are referenced from O…10 fields · 4 requiredPurposeSchema for purpose records in the pptx.gallery library. Each record names a presentation objective such as informing, aligning, persuading, driving a decision, or selling. Purposes are referenced from OPF docu…11 fields · 3 requiredSlide LayoutSchema for slide-layout records in the pptx.gallery library. Each record describes a semantic slide layout — what regions it exposes and what content kinds those regions are intended to hold. Layouts are refer…24 fields · 3 requiredSocial PlatformSchema for social-platform records in the pptx.gallery library. Each record describes a single social-media platform — its base URL, profile-URL pattern, handle prefix, brand color, and themed icons. Records a…16 fields · 3 requiredThemeSchema for theme records in the pptx.gallery library. Each theme is a small, named bundle that pairs a color scheme, a font scheme, a default theme-controlled background, and a slide size. Themes are reference…11 fields · 3 requiredToneSchema for tone records in the pptx.gallery library. Each record names a presentation tone (e.g. 'formal', 'casual', 'inspirational') and carries voice cues, anti-patterns, and sample phrases that AI-driven ge…11 fields · 3 required

3. Object index

The presentation schema also defines reusable object shapes for slides, content payloads, charts, tables, design, catalog references, and metadata.

4. Document contract

An OPF document MUST be valid JSON. Complete presentation documents use the *.opf.json suffix and include a slides array.

minimal document contract
{
  "$schema": "https://openpresentation.org/schema/opf/v1",
  "name": "Series B narrative",
  "slides": [
    {
      "title": "Why now",
      "layout": "title-subtitle"
    }
  ]
}