{}OPF
DocsObject reference

OPF objects

Reusable object definitions from the presentation schema, including slide content, design, catalog, chart, table, and metadata objects.

Object index

Every entry below is a $defs definition in opf.schema.json. Open one for its field table, defaults and example JSON.

AssetAssetReusable or inline resource. A string is shorthand for { "src": value }. Source strings accept 'asset:<id>' references, HTTPS URLs, data URIs, relative paths resolved against the OPF file location, or local fi…0 fields · 0 requiredAssetsAssetsReusable asset registry for resources used by slides, charts, metadata, and design. Keys are stable asset ids referenced elsewhere as 'asset:<id>'. Each asset can be a source string or an object with src plus…0 fields · 0 requiredAudienceAudienceInline audience metadata for the presentation. Use 'id' to reference an audiences catalog record and override selected fields, or use 'name' for a custom inline audience.11 fields · 0 requiredBackgroundBackgroundBackground fill applied to slides. Theme backgrounds preserve PowerPoint's color-scheme background choice; other variants represent fixed background fills.0 fields · 0 requiredBackgroundShortcutBackground ShortcutString shorthand for a background. Theme slots ('light1', 'light2', 'dark1', 'dark2') are equivalent to { type: 'theme', slot: value }; hex colors are equivalent to { type: 'solid', color: value }.0 fields · 0 requiredBulletItemBullet ItemA flat bullet item. Strings cover the common case, TextRun[] supports inline rich text without an object wrapper, and object form adds nesting depth without list-item descriptions.0 fields · 0 requiredCatalogEntryCatalog EntryA catalog override for one record kind. 'source' replaces the default registry; 'records' adds inline records that take precedence over anything fetched from a source. Either or both may be provided; both omit…2 fields · 0 requiredCatalogSourceCatalog SourceCatalog source location. Accepts: - A bare URL pointing at a catalog directory (e.g. 'https://acme.com/decks/narratives'); record ids resolve to '<base>/<id>.json'. - A URL pointing at an index file (e.g. 'htt…0 fields · 0 requiredCatalogsCatalogsCatalog overrides for the in-document references. Every property is optional. The default catalog for a kind lives at https://www.pptx.gallery/<kind> (e.g. https://www.pptx.gallery/narratives, https://www.pptx…11 fields · 0 requiredChartChartChart content. The chart object keeps chart-specific fields together so slides and regions do not expose loose chart fields.2 fields · 2 requiredChartDataChart DataInline tabular data driving a chart. The first column usually supplies category/x-axis labels; subsequent columns are plotted measures unless a chart type or renderer maps them differently.2 fields · 2 requiredChartDataCellChart Data CellA cell in inline chart data.0 fields · 0 requiredChartDataSourceChart Data SourceChart data sourced from an asset reference, URL, data URI, relative path, or local path such as CSV, TSV, JSON, or XLSX. The source is interpreted as a table; optional columns select or order fields from that…4 fields · 1 requiredCodeCodeCode content with optional rendering metadata. Use 'source' for the code text, 'language' for syntax highlighting, and 'filename' when the rendered block should show a file label. A string value in a code fiel…3 fields · 1 requiredColorRefColor RefA color value or reference, enforced on styled table cell fill and text colors and on cell border colors. Three forms: - Literal hex: '#RGB', '#RRGGBB', or '#RRGGBBAA'. - Color-scheme name, resolved through th…0 fields · 0 requiredColorSchemeColor SchemeColor palette used by the design system. The slot fields (accent1-accent6, dark1, dark2, light1, light2, hyperlink, followedHyperlink) mirror color-scheme.schema.json (https://openpresentation.org/schema/opf-c…21 fields · 0 requiredCompositionCompositionPortable dynamic composition. Slide fields override the resolved layout. Nested groups arrange their children independently, inheriting only minFontSize and overflow. Explicit promoted regions retain their pos…7 fields · 0 requiredContentPayloadContent PayloadA content leaf or recursively composed group. A group contains blocks and optional composition; it cannot mix blocks with leaf payload fields. Groups may nest up to 32 levels.16 fields · 0 requiredDesignDesignVisual design system applied to the presentation; individual slides may override fields via Slide.design.17 fields · 0 requiredDimensionPresetDimension PresetNamed dimension preset; chooses both aspect ratio and physical size. 'widescreen' is an alias for 16:9 in PowerPoint widescreen size; 'standard' is an alias for 4:3 in PowerPoint standard size.0 fields · 0 requiredDimensionsDimensionsSlide dimensions; either pick a preset or specify custom inches.3 fields · 0 requiredFontFontSpecification for a single font role.4 fields · 1 requiredFontSchemeFont SchemeTypography selections used by the design system. The pair fields (major, minor) and refinement fields (type, app, languageFamily) mirror font-scheme.schema.json (https://openpresentation.org/schema/opf-font-sc…10 fields · 0 requiredGradientBackgroundGradient BackgroundFixed gradient slide background fill.3 fields · 2 requiredHeaderFooterHeader FooterRepeated header or footer content split into left, center, and right zones. Header/footer content is slide furniture, separate from the main slide content payloads.3 fields · 0 requiredHeaderFooterItemHeader Footer ItemOne header/footer zone. Fields may be combined when the renderer supports it; otherwise renderers should prefer image, then text-like generated content.6 fields · 0 requiredHexColorHex ColorHex color shorthand accepted by selected string fields.0 fields · 0 requiredImageBackgroundImage BackgroundFixed image slide background fill.3 fields · 2 requiredLanguageLanguageInline language metadata for the presentation. Use 'id' to reference a languages catalog record and override selected fields, or use 'bcp47' for a custom language tag without a catalog record.11 fields · 0 requiredListItemList ItemA flat item inside a list. Strings cover the common case, TextRun[] supports inline rich text without an object wrapper, and object form adds description and nesting depth without creating nested slide content…0 fields · 0 requiredLogoSetLogo SetDeck logo variants surfaced by layouts, covers, section dividers, headers, and footers. Organization identity lives in organization; this object only controls visual rendering assets. Renderer convention: on d…12 fields · 0 requiredMetricMetricMetric content with optional display metadata. Use 'value' for the primary value, 'label' for the metric name, 'description' for supporting context, 'unit' for a suffix/currency marker, 'delta' for change, and…6 fields · 1 requiredNarrativeNarrativeStructured storyline used by AI to shape generated content. Mirrors the OPF Narrative Template record at https://openpresentation.org/schema/opf-narrative/v1 (sans '$schema'), so a library record and an inline…9 fields · 0 requiredNarrativeBeatNarrative BeatA single narrative beat — a labeled segment of the story arc with a specific dramatic purpose (e.g. 'hook', 'problem', 'evidence', 'ask'). Slides reference beats via Slide.beat. Beats may also carry slide-blue…8 fields · 2 requiredOrganizationOrganizationAn organization associated with the presentation — typically the presenting company, but also hosts, partners, clients, or sponsors. Surfaced on cover slides, footers, and brand bars; the primary organization'…10 fields · 2 requiredPatternBackgroundPattern BackgroundFixed pattern slide background fill.3 fields · 2 requiredPurposePurposeInline purpose metadata for the presentation. Use 'id' to reference a purposes catalog record and override selected fields, or use 'name' for a custom inline purpose.9 fields · 0 requiredQuoteQuoteQuote content with optional attribution metadata. Use 'text' for the quoted text, 'attribution' for the credited person or organization, and 'source' for a citation or URL. A string value in a quote field is s…3 fields · 1 requiredSlideSlideA single slide. Content can be authored as a full-slide root payload, or inside promoted named region keys such as 'left', 'center+right', and 'top:left'.73 fields · 0 requiredSocialsSocialsSocial media handles or URLs, keyed by platform id from the 'socialPlatforms' catalog. Each value is a string — either a full URL or a platform handle (e.g., '@acme'). The catalog record for each platform carr…0 fields · 0 requiredSolidBackgroundSolid BackgroundFixed solid slide background fill.3 fields · 2 requiredSpeakerSpeakerA person presenting the deck. Used for cover slides, bio/intro slides, footer attribution, and panel formats with multiple presenters.9 fields · 2 requiredStyledTableCellStyled Table CellA cell with explicit visual style or merged geometry. Its position remains its array column index; use null placeholders for every covered grid position.4 fields · 1 requiredTableTableTable content. Columns are optional; rows are the only required field.2 fields · 1 requiredTableCellTable CellA scalar, rich-run array, or styled/spanning cell object. Existing scalar and rich forms remain valid.0 fields · 0 requiredTableCellBorderTable Cell BorderOne explicit cell border.3 fields · 2 requiredTableCellPaddingTable Cell PaddingText insets in reference pixels. Defaults: top 8, right 10, bottom 4, left 10.4 fields · 0 requiredTableCellStyleTable Cell StyleCell appearance. Sizes use reference pixels at a 720-pixel canvas short edge and scale with the slide.6 fields · 0 requiredTableCellValueTable Cell ValueA scalar table value or canonical rich text runs, without cell decoration or geometry.0 fields · 0 requiredTextRunText RunA contiguous run of text. Strings cover unformatted spans; object form adds character formatting.0 fields · 0 requiredThemeThemeTheme bundle used by the design system. In design.theme, 'id' resolves a themes catalog record as the base; any sibling fields override the resolved theme. The string shorthand on design.theme is equivalent to…9 fields · 0 requiredThemeBackgroundTheme BackgroundTheme-controlled PowerPoint slide background. The slot is resolved through the active color scheme and remains theme-aware.2 fields · 2 requiredThemeBackgroundSlotTheme Background SlotPowerPoint theme-controlled slide background slot from the active color scheme. These are slots, not assumptions about actual colors: light1 is usually white and dark1 is usually black by convention, but the c…0 fields · 0 requiredTimelineTimelineTimeline content. An array is shorthand for { "events": value }; object form carries optional name and description metadata.0 fields · 0 requiredTimelineEventTimeline EventA single event inside a timeline content payload.3 fields · 1 requiredToneToneInline tone metadata for the presentation. Use 'id' to reference a tones catalog record and override selected fields, or use 'name' for a custom inline tone.9 fields · 0 requiredVariableVariableA single named variable. A hex string is shorthand for { "type": "color", "value": value }.0 fields · 0 requiredVariablesVariablesNamed color variables, keyed by stable kebab-case id. Content color fields reference entries as 'var:<id>' strings. Each value is a hex string shorthand or a Variable object.0 fields · 0 requiredWatermarkWatermarkDecorative watermark image and rendering options. Use design.watermark = false to disable an inherited watermark.2 fields · 1 required