Daten & ROI
Live-Ausgabe der echten Render-Engine — ändere die Einstellungen und sie aktualisiert sich sofort.
Test-Trichter
motion design
Balken verengen sich von Besuchen bis zu zahlenden Kunden, die Conversion als Schlusszahl.
Ideal für: Eine Wachstumsgeschichte in einem Diagramm.
Einstellungen
Schrift
Theme
Größe
Stimmung
In einem Film verwenden
Gemacht fürZahlen & Ergebnisse
Was du ändern kannst:
kickertitlestepspayoffValuepayoffLabelFür Entwickler (MCP und JSON)
Das ist genau die Szene für create_animation (MCP): Struktur behalten, Worte ändern und den Sprechertext schreiben — die Stimme bestimmt, wie lange die Szene dauert. Mit set_data in update_storyboard einfügen, um einen fertigen Film zu ändern.
{
"visual": "motion",
"heading": "Funnel",
"narration": "Write the sentence the voice says over this scene; its length is the scene's.",
"data": {
"motion": {
"spec": {
"version": 1,
"name": "Trial funnel",
"intent": "funnel: a narrowing series of 2-5 labelled numbers, with an optional payoff figure",
"stagger": "item",
"params": [
{
"name": "kicker",
"type": "text",
"default": "Last 30 days",
"maxLength": 28,
"label": "Eyebrow"
},
{
"name": "title",
"type": "text",
"default": "From first visit to paying team",
"maxLength": 48,
"label": "Title"
},
{
"name": "steps",
"type": "list",
"default": [
{
"label": "Visits",
"value": 48000
},
{
"label": "Trials",
"value": 5200
},
{
"label": "Activated",
"value": 2900
},
{
"label": "Paid",
"value": 610
}
],
"min": 2,
"max": 5,
"items": "pair",
"label": "Steps"
},
{
"name": "payoffValue",
"type": "text",
"default": "12%",
"maxLength": 10,
"label": "Payoff figure"
},
{
"name": "payoffLabel",
"type": "text",
"default": "of trials become paying teams",
"maxLength": 32,
"label": "Payoff label"
}
],
"layers": [
{
"id": "kicker",
"kind": "text",
"text": "{{kicker}}",
"role": "label",
"uppercase": true,
"color": "c2",
"align": "start",
"maxLines": 1,
"box": {
"col": 0,
"row": 0,
"cols": 12,
"rows": 0.7
},
"tall": {
"col": 0,
"row": 0,
"cols": 12,
"rows": 0.6
},
"enter": {
"primitive": "fadeUp",
"distance": "nudge",
"order": 0
}
},
{
"id": "title",
"kind": "text",
"text": "{{title}}",
"role": "headline",
"align": "start",
"maxLines": 2,
"box": {
"col": 0,
"row": 1,
"cols": 12,
"rows": 2.6
},
"tall": {
"col": 0,
"row": 0.7,
"cols": 12,
"rows": 2.2
},
"enter": {
"primitive": "maskReveal",
"order": 0
}
},
{
"id": "card",
"kind": "shape",
"shape": "rect",
"fill": "surface",
"radius": "lg",
"elevation": 2,
"box": {
"col": 0,
"row": 4,
"cols": 7.8,
"rows": 8
},
"tall": {
"col": 0,
"row": 3,
"cols": 12,
"rows": 5.5
},
"enter": {
"primitive": "scaleSettle",
"order": 1
}
},
{
"id": "bars",
"kind": "chart",
"chart": "bars",
"data": "{{steps}}",
"color": "gradient",
"showValues": true,
"box": {
"col": 0.5,
"row": 4.5,
"cols": 6.8,
"rows": 7
},
"tall": {
"col": 0.5,
"row": 3.4000000000000004,
"cols": 11,
"rows": 4.7
},
"enter": {
"primitive": "fadeUp",
"order": 2
}
},
{
"id": "payoff",
"kind": "number",
"value": "{{payoffValue}}",
"role": "hero",
"color": "gradient",
"align": "center",
"box": {
"col": 8.2,
"row": 4.6,
"cols": 3.8,
"rows": 4.6
},
"tall": {
"col": 0,
"row": 8.799999999999999,
"cols": 12,
"rows": 2
},
"enter": {
"primitive": "countUp",
"order": 3
},
"exit": {
"primitive": "exitLift"
}
},
{
"id": "payoffLabel",
"kind": "text",
"text": "{{payoffLabel}}",
"role": "body",
"color": "sub",
"align": "center",
"maxLines": 2,
"box": {
"col": 8.2,
"row": 9.5,
"cols": 3.8,
"rows": 2.4
},
"tall": {
"col": 0,
"row": 11,
"cols": 12,
"rows": 1
},
"enter": {
"primitive": "fadeUp",
"distance": "nudge",
"order": 3
}
}
]
},
"name": "Trial funnel"
}
}
}Wiederverwenden: data.motion.spec einmal mit save_motion_spec speichern (geprüft wie mit validate_motion_spec), dann kann jede Szene das Visual „motion“ mit data.motion.specId und eigenen Parametern nutzen. Name der Spec: „Trial funnel“.