name: pak-vocabulary description: Complete 9x16 semantic vocabulary reference — all 59 tags across 14 categories. Use when you need to know what fields are available for PAK slides.
9x16 Semantic Vocabulary — 59 Tags, 14 Categories
Every tag name is simultaneously: a CSS target, a voice.js narration target, an MCP data key, and an API schema field.
Structure Tags
slide-deck— Root container (with optionalsnapattribute for scroll-snap)slide— Individual slide container (attribute:type)slide-header— Top section of a slideslide-content— Main content areaslide-footer— Bottom section
Text Tags
slide-label— Small caps section category (e.g., "Key Metrics", "Pipeline")slide-title— Main headingslide-subtitle— Subheading / taglineslide-body— Paragraph text (can be array of paragraphs)slide-callout— Emphasized statement with accent borderslide-quote— Pull quote / blockquoteslide-source— Quote attributionslide-caption— Image/media caption
List Tags
bullet-list— Unordered list containernumber-list— Ordered list containerlist-item— Individual list item
Stat Tags
stat-grid— Grid container for stat cardsstat-card— Individual stat cardstat-value— The big number/metricstat-label— Description of the metric
Feature Tags
feature-grid— Grid container for feature cardsfeature-card— Individual feature cardfeature-icon— Icon (emoji or Font Awesome)feature-title— Feature headingfeature-text— Feature description
CTA Tags
cta-block— Call-to-action containercta-heading— CTA headlinecta-text— CTA supporting textcta-button— CTA button label
Testimonial Tags
testimonial-grid— Container for testimonial cardstestimonial-card— Individual testimonialtestimonial-text— The quotetestimonial-name— Person's nametestimonial-role— Person's title/role
Code Tags
code-block— Code containercode-content— Pre-formatted codecode-label— Language or filenamecode-caption— Description of the code
Media Tags
slide-media— Image/video containermedia-caption— Media description
Media Data Fields (JSON → HTML mapping)
image_url→<slide-media><img>— Inline image with frame on any slide typeimage_caption→<media-caption>— Caption below the imagevideo_url→<slide-media><video>or<iframe>— Direct MP4/WebM renders as<video>, YouTube/Vimeo auto-converts to<iframe>video_caption→<media-caption>— Caption below the videologo_url→<img>in header — Centered on hero slides, top-left on content slides. Use PNG with transparency.bg_image→ CSSbackground-imageon<slide>— Full background imagebg_gradient→ CSSbackgroundon<slide>— CSS gradient background- Feature cards:
image_urlinstead oficonrenders a logo/image in<feature-icon>
Table Tags
data-table— Table containertable-header— Header rowtable-row— Data rowtable-cell— Individual cell
Comparison Tags
compare-grid— Comparison containercompare-card— Individual comparison item (attribute:variant="old|new|winner")compare-label— Item labelcompare-text— Item description
Chart Tags
chart-container— Chart.js wrapperchart-canvas— Canvas element for Chart.jschart-title— Chart headingchart-caption— Chart description/takeaway
Layout Tags
two-column— Two-column layoutcolumn— Individual column
Video Slide Behavior
<slide type="video">— Full-viewport 9:16 video takeover (TikTok-style)- Direct MP4 URLs play inline and are spliced into exported video at full quality
- TTS narration is skipped for video slides
- YouTube/Vimeo on
type="video"NOT supported — use on other slide types as iframe embeds - On non-video slides,
video_urlrenders as inline 16:9 embed within the slide content
Nav/Chrome Tags
nav-bar— Top navigation barnav-burger— Hamburger menu buttonnav-menu— Slide-out menu (pipeline scripts inject controls here)nav-link— Individual menu linkslide-indicator— Current slide number displayhero-footer— Footer area on hero slides (no indicator)