Révélation
Sortie en direct du vrai moteur de rendu — modifiez les réglages et elle se met à jour instantanément.
Compte à rebours de lancement
motion design
La date de lancement se tape toute seule, puis jours, heures et minutes défilent sur trois tuiles.
Idéal pour : Un lancement, un webinaire, une promo qui se termine.
Réglages
Police
Thème
Taille
Humeur
L'utiliser dans un film
Ce que vous pouvez changer :
kickerdateunitsPour les développeurs (MCP et JSON)
Voici la scène exacte à envoyer à create_animation (MCP) : gardez la structure, changez les mots et écrivez la narration — c'est la voix qui fixe la durée de la scène. Collez-la dans update_storyboard avec set_data pour modifier un film déjà fait.
{
"visual": "motion",
"heading": "Countdown",
"narration": "Write the sentence the voice says over this scene; its length is the scene's.",
"data": {
"motion": {
"spec": {
"version": 1,
"name": "Launch countdown",
"intent": "how long until the launch",
"exit": "mirror",
"params": [
{
"name": "kicker",
"type": "text",
"label": "Eyebrow",
"default": "Save the date",
"maxLength": 24
},
{
"name": "date",
"type": "text",
"label": "Date",
"default": "Live on 21 October",
"maxLength": 24
},
{
"name": "units",
"type": "list",
"items": "record",
"label": "Units (value, label)",
"min": 3,
"max": 3,
"default": [
{
"value": "09",
"label": "days"
},
{
"value": "14",
"label": "hours"
},
{
"value": "36",
"label": "minutes"
}
]
}
],
"layers": [
{
"id": "kicker",
"kind": "text",
"text": "{{kicker}}",
"role": "label",
"uppercase": true,
"color": "c2",
"align": "center",
"maxLines": 1,
"box": {
"col": 0,
"row": 0.1,
"cols": 12,
"rows": 1
},
"tall": {
"col": 0,
"row": 0.4,
"cols": 12,
"rows": 0.9
},
"enter": {
"primitive": "fadeUp",
"distance": "nudge"
}
},
{
"id": "date",
"kind": "text",
"text": "{{date}}",
"role": "headline",
"align": "center",
"maxLines": 1,
"box": {
"col": 0,
"row": 1.4,
"cols": 12,
"rows": 2.4
},
"tall": {
"col": 0,
"row": 1.6,
"cols": 12,
"rows": 2.2
},
"enter": {
"primitive": "typewriter"
}
},
{
"id": "tile",
"kind": "shape",
"shape": "rect",
"fill": "surface",
"radius": "lg",
"elevation": 2,
"repeat": {
"param": "units",
"flow": "row",
"gap": "lg"
},
"box": {
"col": 0.6,
"row": 4.4,
"cols": 10.8,
"rows": 7.4
},
"tall": {
"col": 1,
"row": 4.4,
"cols": 10,
"rows": 7.4
},
"enter": {
"primitive": "fadeUp",
"order": 1
}
},
{
"id": "value",
"kind": "number",
"value": "{{item.value}}",
"role": "display",
"color": "gradient",
"align": "center",
"repeat": {
"param": "units",
"flow": "row",
"gap": "lg"
},
"box": {
"col": 0.6,
"row": 4.9,
"cols": 10.8,
"rows": 4.2
},
"tall": {
"col": 1.3,
"row": 4.4,
"cols": 4.8,
"rows": 7.4
},
"enter": {
"primitive": "countUp",
"order": 2
}
},
{
"id": "unit",
"kind": "text",
"text": "{{item.label}}",
"role": "title",
"color": "sub",
"align": "center",
"uppercase": true,
"maxLines": 1,
"repeat": {
"param": "units",
"flow": "row",
"gap": "lg"
},
"box": {
"col": 0.6,
"row": 9.4,
"cols": 10.8,
"rows": 1.8
},
"tall": {
"col": 6.4,
"row": 4.4,
"cols": 4.3,
"rows": 7.4
},
"enter": {
"primitive": "fadeUp",
"distance": "nudge",
"order": 2
}
}
]
},
"name": "Launch countdown"
}
}
}Réutilisez-la : enregistrez data.motion.spec une fois avec save_motion_spec (vérifiée comme avec validate_motion_spec), puis toute scène peut utiliser le visuel « motion » avec data.motion.specId et ses propres paramètres. Nom de la spec : « Launch countdown ».