Documentation

Template Creation Guide

A template is built from named layers. Naming, layer overrides, canvas sizing, and typography choices all affect how reliably your template renders across different content.

Layer naming (critical concept)

  • Each layer needs a unique name (e.g., “title”, “avatar”, “date”)
  • Layer names are used as keys in the API
  • Choose semantic names that describe the content
  • Use lowercase with underscores (e.g., “post_title”, “author_avatar”)

Layer types & overrides

Each layer type accepts a different set of override properties, keyed by the layer’s name.

Text layers

Override text content and styling:

Layer overrides

{
  "title": {
    "text": "New content",
    "fontSize": 48,
    "fontWeight": "bold",
    "color": "#000000",
    "textAlign": "center",
    "lineHeight": 1.2,
    "letterSpacing": -1,
    "textTransform": "uppercase"
  }
}

Image layers

Override image source and display properties — select the “Image layer” tab above for the shape.

Keys match layer names

The top-level key in each override object (title, avatar, …) must match the layer's name exactly, or the override is silently ignored.

Canvas setup

Common presets

  • OG Image: 1200×630px
  • Twitter Card: 1200×600px
  • Instagram Post: 1080×1080px
  • Instagram Story: 1080×1920px

Best practices

  • Keep important content 50px from edges
  • Use solid backgrounds for better readability
  • Limit title text to 60 characters max
  • Test with realistic content

Typography guidelines

Recommended font sizes

  • Main title: 64-96px
  • Subtitle: 32-48px
  • Body text: 24-32px
  • Small text: 18-24px

Font weights

  • Titles: Bold (700+)
  • Body: Regular/Medium (400-500)
  • Contrast: Ensure WCAG AA minimum

Testing your template

  • Use the preview panel in the editor with sample data
  • Test with realistic content (long titles, short titles, edge cases)
  • Try different layer override combinations
  • Check rendering at actual size (not zoomed)