Bloco meta / Schema metadata

Editor-only metadata: gallery, canvas, capabilities

O bloco meta, na raiz do config.json, descreve o template em si. O editor usa esse bloco para a galeria, listagens e dimensoes do canvas. O template em runtime nunca le esse bloco.

The meta block at the root of config.json describes the template itself. The editor uses it for the gallery, listings, and canvas size. The template at runtime never reads this block.

1. Forma completa / Complete shape

{
  "fields": [ /* ... */ ],
  "meta": {
    "version":      "2.0.0",
    "widget":       "EleicoesSeriePesquisas5",
    "name":         "Serie de Pesquisas — ate 5 candidatos x 6 datas",
    "description":  "Grafico de linhas com ate 5 candidatos e 6 pontos no tempo.",
    "category":     "election-graphics",
    "resolution":   { "width": 1920, "height": 1080 },
    "capabilities": ["realtime", "nonRealtime"],
    "author":       "CNN Brasil",
    "updated":      "2026-04-25"
  }
}

2. Chaves disponiveis / Available keys

KeyTypeDescription
version string Versao do schema (semver-ish). Aumentar quando a forma do schema mudar de modo incompativel.
Schema version (semver-ish). Bump when the schema shape changes in a breaking way.
widget string Nome de classe/componente do widget (PascalCase). Identificador interno.
Widget class/component name (PascalCase). Internal identifier.
name string Nome amigavel mostrado na galeria do editor.
Human-readable display name shown in the editor's gallery.
description string Resumo de uma linha mostrado ao lado do nome.
One-line summary shown next to the name.
category string Slug de taxonomia para agrupar templates (ex: election-graphics, weather, sports).
Taxonomy slug used to group templates.
resolution { width, height } Tamanho nativo de renderizacao em pixels. O editor usa para dimensionar o canvas de preview.
Native render size in px. The editor uses this to size the preview canvas.
capabilities string[] Flags do runtime. Comuns: realtime, nonRealtime, transparent.
Runtime feature flags. Common: realtime, nonRealtime, transparent.
author string Nome do publisher / time.
Publisher / team name.
updated string Data da ultima atualizacao no formato YYYY-MM-DD.
Last-updated date in YYYY-MM-DD format.
Todas as chaves sao opcionais — o editor cai em defaults seguros quando ausentes (name → widget, resolution → 1920x1080).
All keys are optional — the editor falls back to safe defaults when missing (name → widget, resolution → 1920x1080).

3. capabilities em detalhe / capabilities in detail

O array capabilities aqui no config.json e metadata editorial — o editor da Insyde usa para listar/filtrar templates na galeria. A fonte autoritativa em runtime e o flow:ready.definition.capabilities emitido pelo template via flow-bridge. Mantenha as duas em sincronia.

The capabilities array here in config.json is editorial metadata — the Insyde editor uses it to list/filter templates in the gallery. The runtime authoritative source is flow:ready.definition.capabilities emitted by the template via flow-bridge. Keep them in sync.

FlagSignifica / Means
realtime Adequado para air ao vivo: animacoes timeline-based, sem dependencia de fetch externo, render imediato.
Suitable for live air: timeline-based animations, no external fetch dependency, immediate render.
nonRealtime Adequado para producao em VT/edicao: pode usar carregamentos pesados, transicoes longas.
Suitable for VT/edit production: may use heavy loads, long transitions.
transparent Renderiza com fundo transparente (ideal para overlay sobre video).
Renders with a transparent background (ideal for video overlay).

4. palettes (opcional) / palettes (optional)

Quando o template usa campos do tipo colorBinding, as paletas associadas vao em meta.palettes:

When the template uses colorBinding fields, the associated palettes go under meta.palettes:

{
  "meta": {
    "version": "2.0.0",
    "widget":  "BrandedLowerThird",
    "palettes": {
      "brand":   ["#0066ff", "#00aa44", "#ff6600", "#cc0033"],
      "neutral": ["#111111", "#444444", "#888888", "#cccccc"]
    }
  }
}

Cada paleta e um array de hex; o campo colorBinding aponta para o nome da paleta via sua propria chave palette.

Each palette is a hex array; a colorBinding field points to the palette name via its own palette property.

5. Exemplo completo / Complete example

{
  "fields": [
    {
      "key": "t", "name": "title", "label": "Title",
      "type": "text", "maxChars": 40, "default": "Default Title"
    },
    {
      "key": "acc", "name": "accent", "label": "Accent",
      "type": "colorBinding", "palette": "brand", "default": "#0066ff"
    }
  ],
  "meta": {
    "version":      "2.0.0",
    "widget":       "BrandedLowerThird",
    "name":         "Branded lower third",
    "description":  "Lower third with brand-bound accent.",
    "category":     "branded-graphics",
    "resolution":   { "width": 1920, "height": 1080 },
    "capabilities": ["realtime", "transparent"],
    "author":       "Insyde",
    "updated":      "2026-04-25",
    "palettes": {
      "brand": ["#0066ff", "#00aa44", "#ff6600", "#cc0033"]
    }
  }
}

← Field Types  ·  Recipes →