Skip to main content

Overview

Every export from the GoalGen Creator plugin produces a manifest.json conforming to StudioTemplateManifestV1. Creator Studio uses this file to reconstruct the template on the canvas.
Example manifest.json

Top-level fields


Layer object

Every item in layers shares a common set of geometry fields, plus kind-specific fields.

Common geometry fields

kind: "rect" — Rectangle

A simple solid rectangle. No asset file. Style is encoded directly in the manifest.

kind: "path" — Vector path (manifest-encoded)

A vector shape exported as path data. No asset file.

kind: "image" — Raster or vector asset

A layer exported as a PNG or SVG file.
At import time, Creator Studio replaces all relative src values with the permanent CDN URLs of the uploaded assets.

kind: "text" — Text layer

A text layer. The text content is preserved but font rendering is left to the canvas engine.

Slot object

Slots declare which layers are dynamic — i.e., replaceable by the end-user when they personalise a template.

SlotRole values

A single frame can have multiple slots. Each slot targets exactly one layer. One layer can only have one slot role at a time.

TypeScript types

The canonical types are defined in GoalGen Creator/code.ts:
The schema is versioned. If you need to make breaking changes, increment _schema to StudioTemplateManifestV2 and handle migration in Creator Studio’s import pipeline.