Raw schema
{
"type": "object",
"properties": {
"scenes": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "hero"
},
"wordmark": {
"type": "string"
},
"tagline": {
"type": "string"
},
"color": {
"type": "string",
"enum": [
"pink",
"green",
"blue",
"lavender",
"purple",
"yellow",
"gray"
],
"description": "Accent color slot. Default \"green\"."
},
"duration": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Scene length in seconds. Sensible default per scene type."
}
},
"required": [
"type",
"wordmark"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "kinetic"
},
"text": {
"type": "string"
},
"subtitle": {
"type": "string"
},
"color": {
"$ref": "#/properties/scenes/items/anyOf/0/properties/color"
},
"duration": {
"$ref": "#/properties/scenes/items/anyOf/0/properties/duration"
}
},
"required": [
"type",
"text"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "showcase"
},
"screenshot": {
"type": "string",
"format": "uri"
},
"color": {
"$ref": "#/properties/scenes/items/anyOf/0/properties/color"
},
"duration": {
"$ref": "#/properties/scenes/items/anyOf/0/properties/duration"
}
},
"required": [
"type",
"screenshot"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "title"
},
"headline": {
"type": "string"
},
"kicker": {
"type": "string"
},
"subtitle": {
"type": "string"
},
"color": {
"$ref": "#/properties/scenes/items/anyOf/0/properties/color"
},
"duration": {
"$ref": "#/properties/scenes/items/anyOf/0/properties/duration"
}
},
"required": [
"type",
"headline"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "cta"
},
"wordmark": {
"type": "string"
},
"tagline": {
"type": "string"
},
"cta": {
"type": "string"
},
"color": {
"$ref": "#/properties/scenes/items/anyOf/0/properties/color"
},
"duration": {
"$ref": "#/properties/scenes/items/anyOf/0/properties/duration"
}
},
"required": [
"type",
"wordmark",
"cta"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "stats"
},
"title": {
"type": "string"
},
"dateRange": {
"type": "string"
},
"stats": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"current": {
"type": "number"
},
"previous": {
"type": "number"
}
},
"required": [
"label",
"current"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 4
},
"color": {
"$ref": "#/properties/scenes/items/anyOf/0/properties/color"
},
"duration": {
"$ref": "#/properties/scenes/items/anyOf/0/properties/duration"
}
},
"required": [
"type",
"stats"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "bars"
},
"title": {
"type": "string"
},
"dateRange": {
"type": "string"
},
"bars": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "number"
},
"previous": {
"type": "number"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 6
},
"color": {
"$ref": "#/properties/scenes/items/anyOf/0/properties/color"
},
"duration": {
"$ref": "#/properties/scenes/items/anyOf/0/properties/duration"
}
},
"required": [
"type",
"bars"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "ranking"
},
"title": {
"type": "string"
},
"dateRange": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 12
},
"color": {
"$ref": "#/properties/scenes/items/anyOf/0/properties/color"
},
"duration": {
"$ref": "#/properties/scenes/items/anyOf/0/properties/duration"
}
},
"required": [
"type",
"items"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "pie"
},
"title": {
"type": "string"
},
"dateRange": {
"type": "string"
},
"cards": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "number"
},
"total": {
"type": "number"
},
"previous": {
"type": "number"
}
},
"required": [
"label",
"value",
"total"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 4
},
"color": {
"$ref": "#/properties/scenes/items/anyOf/0/properties/color"
},
"duration": {
"$ref": "#/properties/scenes/items/anyOf/0/properties/duration"
}
},
"required": [
"type",
"cards"
],
"additionalProperties": false
}
]
},
"minItems": 1,
"description": "Ordered scenes; mix types to fit the brief — you do NOT need hero/cta. e.g. a single [{type:\"kinetic\",text:\"…\"}], a sequence [{type:\"title\",headline:\"…\"},{type:\"showcase\",screenshot:\"…\"},{type:\"title\",headline:\"…\"}], or a data piece [{type:\"ranking\",title:\"…\",items:[…]}]"
},
"theme": {
"type": "string",
"enum": [
"cinematic",
"mux",
"minimal"
],
"description": "Visual theme. Default \"cinematic\" (dark, serif, premium)."
},
"motion_blur": {
"type": "integer",
"minimum": 0,
"maximum": 32,
"description": "Supersampled motion-blur samples (≥2 enables it — nicer but slower to render). Default off."
},
"width": {
"type": "integer",
"exclusiveMinimum": 0,
"description": "Default 1920."
},
"height": {
"type": "integer",
"exclusiveMinimum": 0,
"description": "Default 1080."
},
"project_id": {
"type": "string",
"minLength": 1,
"description": "Which project to act on — the id returned by create_project / set_project / create_promo / load_project. Omit when working on a single local project."
}
},
"required": [
"scenes"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}