motionrender 0.0.0-stage → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +61 -2
  3. package/blocks/badge.json +68 -0
  4. package/blocks/big-stat.json +240 -0
  5. package/blocks/cta-end.json +283 -0
  6. package/blocks/feature-list.json +286 -0
  7. package/blocks/footage.json +43 -0
  8. package/blocks/fx-background-swap.json +170 -0
  9. package/blocks/fx-before-after.json +212 -0
  10. package/blocks/fx-captions.json +34 -0
  11. package/blocks/fx-chat.json +368 -0
  12. package/blocks/fx-checklist.json +609 -0
  13. package/blocks/fx-clone-wall.json +181 -0
  14. package/blocks/fx-color-pop.json +92 -0
  15. package/blocks/fx-command-bridge.json +358 -0
  16. package/blocks/fx-counter-hero.json +206 -0
  17. package/blocks/fx-cta-card.json +337 -0
  18. package/blocks/fx-day-to-night.json +174 -0
  19. package/blocks/fx-duo-title.json +245 -0
  20. package/blocks/fx-duotone.json +95 -0
  21. package/blocks/fx-extruded-title.json +309 -0
  22. package/blocks/fx-gallery.json +239 -0
  23. package/blocks/fx-glass-cards.json +921 -0
  24. package/blocks/fx-glitch-title.json +373 -0
  25. package/blocks/fx-grade-look.json +91 -0
  26. package/blocks/fx-highlighter.json +53 -0
  27. package/blocks/fx-icon-orbit.json +2694 -0
  28. package/blocks/fx-lens-flare.json +325 -0
  29. package/blocks/fx-letterbox.json +105 -0
  30. package/blocks/fx-light-leak.json +140 -0
  31. package/blocks/fx-map-journey.json +443 -0
  32. package/blocks/fx-neon-outline.json +743 -0
  33. package/blocks/fx-notifications.json +456 -0
  34. package/blocks/fx-progress-ring.json +143 -0
  35. package/blocks/fx-pull-out.json +68 -0
  36. package/blocks/fx-punch-in.json +81 -0
  37. package/blocks/fx-rgb-flash.json +166 -0
  38. package/blocks/fx-shake-hit.json +120 -0
  39. package/blocks/fx-split-reveal.json +110 -0
  40. package/blocks/fx-spotlight.json +1383 -0
  41. package/blocks/fx-stats-split.json +500 -0
  42. package/blocks/fx-step-tracker.json +528 -0
  43. package/blocks/fx-sticker-freeze.json +584 -0
  44. package/blocks/fx-strike-rewrite.json +79 -0
  45. package/blocks/fx-ticker.json +179 -0
  46. package/blocks/fx-timeline.json +1287 -0
  47. package/blocks/fx-tracked-label.json +167 -0
  48. package/blocks/fx-typewriter-quote.json +164 -0
  49. package/blocks/handle.json +43 -0
  50. package/blocks/icon-row.json +404 -0
  51. package/blocks/image-caption.json +248 -0
  52. package/blocks/lower-third.json +106 -0
  53. package/blocks/phone-mockup.json +459 -0
  54. package/blocks/progress-bar.json +51 -0
  55. package/blocks/quote.json +347 -0
  56. package/blocks/section-title.json +240 -0
  57. package/blocks/split-screen.json +283 -0
  58. package/blocks/stat-grid.json +315 -0
  59. package/blocks/steps.json +266 -0
  60. package/blocks/title-hero.json +287 -0
  61. package/dist/builder.d.ts +1 -0
  62. package/dist/builder.js +169 -0
  63. package/dist/cli.js +9301 -0
  64. package/dist/fonts/LICENSE-Inter.txt +93 -0
  65. package/dist/fonts/inter-cyrillic-ext-opsz-italic.woff2 +0 -0
  66. package/dist/fonts/inter-cyrillic-ext-opsz-normal.woff2 +0 -0
  67. package/dist/fonts/inter-cyrillic-opsz-italic.woff2 +0 -0
  68. package/dist/fonts/inter-cyrillic-opsz-normal.woff2 +0 -0
  69. package/dist/fonts/inter-greek-ext-opsz-italic.woff2 +0 -0
  70. package/dist/fonts/inter-greek-ext-opsz-normal.woff2 +0 -0
  71. package/dist/fonts/inter-greek-opsz-italic.woff2 +0 -0
  72. package/dist/fonts/inter-greek-opsz-normal.woff2 +0 -0
  73. package/dist/fonts/inter-latin-ext-opsz-italic.woff2 +0 -0
  74. package/dist/fonts/inter-latin-ext-opsz-normal.woff2 +0 -0
  75. package/dist/fonts/inter-latin-opsz-italic.woff2 +0 -0
  76. package/dist/fonts/inter-latin-opsz-normal.woff2 +0 -0
  77. package/dist/fonts/inter-vietnamese-opsz-italic.woff2 +0 -0
  78. package/dist/fonts/inter-vietnamese-opsz-normal.woff2 +0 -0
  79. package/dist/index.d.ts +2 -0
  80. package/dist/index.js +2330 -0
  81. package/dist/player.d.ts +1 -0
  82. package/dist/player.js +80 -0
  83. package/dist/react.d.ts +1 -0
  84. package/dist/react.js +140 -0
  85. package/dist/runtime/canvas-runtime.js +261 -0
  86. package/dist/runtime/lottie_light_canvas.min.js +1 -0
  87. package/dist/runtime/text-layout.js +50 -0
  88. package/dist/sfx/click.wav +0 -0
  89. package/dist/sfx/ding.wav +0 -0
  90. package/dist/sfx/pop.wav +0 -0
  91. package/dist/sfx/riser.wav +0 -0
  92. package/dist/sfx/thump.wav +0 -0
  93. package/dist/sfx/tick.wav +0 -0
  94. package/dist/sfx/whoosh.wav +0 -0
  95. package/dist/types/packages/ai/src/assets.d.ts +26 -0
  96. package/dist/types/packages/ai/src/batch.d.ts +19 -0
  97. package/dist/types/packages/ai/src/compose.d.ts +34 -0
  98. package/dist/types/packages/ai/src/history.d.ts +37 -0
  99. package/dist/types/packages/ai/src/image.d.ts +19 -0
  100. package/dist/types/packages/ai/src/index.d.ts +13 -0
  101. package/dist/types/packages/ai/src/json.d.ts +2 -0
  102. package/dist/types/packages/ai/src/narrate.d.ts +63 -0
  103. package/dist/types/packages/ai/src/patch.d.ts +15 -0
  104. package/dist/types/packages/ai/src/project.d.ts +27 -0
  105. package/dist/types/packages/ai/src/prompt.d.ts +30 -0
  106. package/dist/types/packages/ai/src/providers.d.ts +109 -0
  107. package/dist/types/packages/ai/src/template.d.ts +80 -0
  108. package/dist/types/packages/ai/src/voiceover.d.ts +49 -0
  109. package/dist/types/packages/animation/src/index.d.ts +27 -0
  110. package/dist/types/packages/assets/src/cache.d.ts +26 -0
  111. package/dist/types/packages/assets/src/index.d.ts +8 -0
  112. package/dist/types/packages/builder/src/index.d.ts +270 -0
  113. package/dist/types/packages/cli/src/ai-studio-page.d.ts +1 -0
  114. package/dist/types/packages/cli/src/ai-studio.d.ts +35 -0
  115. package/dist/types/packages/cli/src/ai.d.ts +3 -0
  116. package/dist/types/packages/cli/src/args.d.ts +9 -0
  117. package/dist/types/packages/cli/src/blocks-cli.d.ts +3 -0
  118. package/dist/types/packages/cli/src/blocks.d.ts +50 -0
  119. package/dist/types/packages/cli/src/build.d.ts +1 -0
  120. package/dist/types/packages/cli/src/dev-page.d.ts +1 -0
  121. package/dist/types/packages/cli/src/dev.d.ts +13 -0
  122. package/dist/types/packages/cli/src/index.d.ts +2 -0
  123. package/dist/types/packages/cli/src/init.d.ts +10 -0
  124. package/dist/types/packages/cli/src/serve.d.ts +2 -0
  125. package/dist/types/packages/cli/src/studio.d.ts +36 -0
  126. package/dist/types/packages/cli/src/templates.d.ts +63 -0
  127. package/dist/types/packages/cli/src/thumbnail.d.ts +20 -0
  128. package/dist/types/packages/cli/src/track.d.ts +35 -0
  129. package/dist/types/packages/cli/src/worker.d.ts +13 -0
  130. package/dist/types/packages/contracts/src/index.d.ts +377 -0
  131. package/dist/types/packages/core/src/audio.d.ts +14 -0
  132. package/dist/types/packages/core/src/distributed.d.ts +50 -0
  133. package/dist/types/packages/core/src/index.d.ts +63 -0
  134. package/dist/types/packages/core/src/media.d.ts +11 -0
  135. package/dist/types/packages/core/src/review.d.ts +29 -0
  136. package/dist/types/packages/ffmpeg/src/index.d.ts +68 -0
  137. package/dist/types/packages/graphics/src/fonts.d.ts +3 -0
  138. package/dist/types/packages/graphics/src/index.d.ts +121 -0
  139. package/dist/types/packages/graphics/src/runtime.d.ts +10 -0
  140. package/dist/types/packages/jobs/src/env.d.ts +78 -0
  141. package/dist/types/packages/jobs/src/handlers.d.ts +17 -0
  142. package/dist/types/packages/jobs/src/index.d.ts +5 -0
  143. package/dist/types/packages/jobs/src/input.d.ts +18 -0
  144. package/dist/types/packages/jobs/src/queue.d.ts +70 -0
  145. package/dist/types/packages/jobs/src/redis.d.ts +42 -0
  146. package/dist/types/packages/player/src/bundle.d.ts +4 -0
  147. package/dist/types/packages/player/src/canvas-runtime.d.ts +11 -0
  148. package/dist/types/packages/player/src/index.d.ts +29 -0
  149. package/dist/types/packages/react/src/index.d.ts +76 -0
  150. package/dist/types/packages/renderer/src/index.d.ts +35 -0
  151. package/dist/types/packages/renderer/src/pool.d.ts +7 -0
  152. package/dist/types/packages/renderer/src/video.d.ts +9 -0
  153. package/dist/types/packages/schema/src/captions.d.ts +24 -0
  154. package/dist/types/packages/schema/src/expression.d.ts +1 -0
  155. package/dist/types/packages/schema/src/index.d.ts +1213 -0
  156. package/dist/types/packages/schema/src/variables.d.ts +115 -0
  157. package/dist/types/packages/storage/src/index.d.ts +78 -0
  158. package/dist/types/packages/timeline/src/index.d.ts +104 -0
  159. package/package.json +78 -4
  160. package/skills/ove/SKILL.md +356 -0
  161. package/skills/ove-ai-compose/SKILL.md +36 -0
  162. package/skills/ove-batch-videos/SKILL.md +23 -0
  163. package/skills/ove-code-video/SKILL.md +68 -0
  164. package/skills/ove-effects/SKILL.md +65 -0
  165. package/skills/ove-make-reel/SKILL.md +30 -0
  166. package/skills/ove-voiceover-captions/SKILL.md +31 -0
  167. package/studio/assets/index-CzOvWv9w.css +1 -0
  168. package/studio/assets/index-J_fvKgng.js +11 -0
  169. package/studio/index.html +16 -0
  170. package/templates/case-study/composition.json +358 -0
  171. package/templates/case-study/template.json +8 -0
  172. package/templates/event-invite/composition.json +245 -0
  173. package/templates/event-invite/template.json +8 -0
  174. package/templates/explainer-square/composition.json +1335 -0
  175. package/templates/explainer-square/template.json +13 -0
  176. package/templates/keynote-wide/composition.json +1458 -0
  177. package/templates/keynote-wide/template.json +13 -0
  178. package/templates/launch-wide/composition.json +1306 -0
  179. package/templates/launch-wide/template.json +13 -0
  180. package/templates/product-card/composition.json +196 -0
  181. package/templates/product-card/data.example.json +5 -0
  182. package/templates/product-card/template.json +8 -0
  183. package/templates/product-wide/composition.json +1609 -0
  184. package/templates/product-wide/template.json +14 -0
  185. package/templates/quote-card/composition.json +123 -0
  186. package/templates/quote-card/template.json +8 -0
  187. package/templates/sale-promo/composition.json +290 -0
  188. package/templates/sale-promo/template.json +8 -0
  189. package/templates/showcase-tall/composition.json +1646 -0
  190. package/templates/showcase-tall/template.json +14 -0
  191. package/templates/slideshow/composition.json +167 -0
  192. package/templates/slideshow/template.json +8 -0
  193. package/templates/social-reel/composition.json +252 -0
  194. package/templates/social-reel/template.json +8 -0
  195. package/templates/starter/assets/logo.svg +4 -0
  196. package/templates/starter/composition.json +84 -0
  197. package/templates/story-tall/composition.json +1379 -0
  198. package/templates/story-tall/template.json +13 -0
  199. package/themes/espresso.json +15 -0
  200. package/themes/midnight.json +15 -0
  201. package/themes/neon.json +15 -0
  202. package/themes/paper.json +15 -0
  203. package/themes/signal.json +15 -0
@@ -0,0 +1,1379 @@
1
+ {
2
+ "$schema": "./composition.schema.json",
3
+ "version": "1.0",
4
+ "id": "story-tall",
5
+ "name": "Story (9:16)",
6
+ "width": 1080,
7
+ "height": 1920,
8
+ "fps": 30,
9
+ "durationFrames": "auto",
10
+ "motionBlur": {
11
+ "samples": 4,
12
+ "shutter": 180
13
+ },
14
+ "variables": {
15
+ "bg": {
16
+ "type": "color",
17
+ "default": "#0a0710",
18
+ "description": "Theme: bg"
19
+ },
20
+ "surface": {
21
+ "type": "color",
22
+ "default": "#1b1030",
23
+ "description": "Theme: surface"
24
+ },
25
+ "text": {
26
+ "type": "color",
27
+ "default": "#ffffff",
28
+ "description": "Theme: text"
29
+ },
30
+ "muted": {
31
+ "type": "color",
32
+ "default": "#b3a6d6",
33
+ "description": "Theme: muted"
34
+ },
35
+ "accent": {
36
+ "type": "color",
37
+ "default": "#ff3cac",
38
+ "description": "Theme: accent"
39
+ },
40
+ "accent2": {
41
+ "type": "color",
42
+ "default": "#c6ff3c",
43
+ "description": "Theme: accent2"
44
+ },
45
+ "radius": {
46
+ "type": "number",
47
+ "default": 28,
48
+ "description": "Theme: radius"
49
+ },
50
+ "headWeight": {
51
+ "type": "number",
52
+ "default": 900,
53
+ "description": "Theme: headWeight"
54
+ },
55
+ "kicker": {
56
+ "type": "string",
57
+ "default": "JUST DROPPED",
58
+ "description": "Small label above the hook"
59
+ },
60
+ "title": {
61
+ "type": "string",
62
+ "default": "Your next favourite thing",
63
+ "description": "The hook (about 5 words)"
64
+ },
65
+ "subtitle": {
66
+ "type": "string",
67
+ "default": "Made for the way you actually work.",
68
+ "description": "One supporting sentence"
69
+ },
70
+ "stat": {
71
+ "type": "string",
72
+ "default": "3x",
73
+ "description": "The number to show"
74
+ },
75
+ "statLabel": {
76
+ "type": "string",
77
+ "default": "faster than doing it by hand",
78
+ "description": "What it means"
79
+ },
80
+ "quote": {
81
+ "type": "string",
82
+ "default": "I stopped dreading Mondays.",
83
+ "description": "A short customer quote"
84
+ },
85
+ "author": {
86
+ "type": "string",
87
+ "default": "Priya S.",
88
+ "description": "Who said it"
89
+ },
90
+ "role": {
91
+ "type": "string",
92
+ "default": "Early customer",
93
+ "description": "Their role"
94
+ },
95
+ "ctaHeadline": {
96
+ "type": "string",
97
+ "default": "Try it today",
98
+ "description": "Closing line"
99
+ },
100
+ "ctaButton": {
101
+ "type": "string",
102
+ "default": "Start free",
103
+ "description": "Button text"
104
+ },
105
+ "url": {
106
+ "type": "string",
107
+ "default": "example.com",
108
+ "description": "Web address"
109
+ },
110
+ "badge": {
111
+ "type": "string",
112
+ "default": "NEW",
113
+ "description": "Corner label on the opening scene"
114
+ }
115
+ },
116
+ "scenes": [
117
+ {
118
+ "id": "title-hero",
119
+ "name": "Title hero",
120
+ "durationFrames": 120,
121
+ "camera": {
122
+ "animations": [
123
+ {
124
+ "property": "zoom",
125
+ "keyframes": [
126
+ {
127
+ "frame": 0,
128
+ "value": 1
129
+ },
130
+ {
131
+ "frame": 120,
132
+ "value": 1.08,
133
+ "easing": "drift"
134
+ }
135
+ ]
136
+ }
137
+ ]
138
+ },
139
+ "layers": [
140
+ {
141
+ "use": "title_hero",
142
+ "id": "title-hero-block",
143
+ "with": {
144
+ "kicker": "{{kicker}}",
145
+ "headline": "{{title}}",
146
+ "subtitle": "{{subtitle}}"
147
+ }
148
+ },
149
+ {
150
+ "use": "badge",
151
+ "id": "badge",
152
+ "startFrame": 0,
153
+ "endFrame": 90,
154
+ "fixed": true,
155
+ "with": {
156
+ "label": "{{badge}}"
157
+ }
158
+ }
159
+ ]
160
+ },
161
+ {
162
+ "id": "big-stat",
163
+ "name": "Big stat",
164
+ "durationFrames": 90,
165
+ "camera": {
166
+ "animations": [
167
+ {
168
+ "property": "zoom",
169
+ "keyframes": [
170
+ {
171
+ "frame": 0,
172
+ "value": 1.1
173
+ },
174
+ {
175
+ "frame": 90,
176
+ "value": 1,
177
+ "easing": "drift"
178
+ }
179
+ ]
180
+ }
181
+ ]
182
+ },
183
+ "layers": [
184
+ {
185
+ "use": "big_stat",
186
+ "id": "big-stat-block",
187
+ "with": {
188
+ "value": "{{stat}}",
189
+ "label": "{{statLabel}}"
190
+ }
191
+ }
192
+ ],
193
+ "transitionIn": {
194
+ "type": "push",
195
+ "durationFrames": 16,
196
+ "direction": "left",
197
+ "easing": "glide"
198
+ }
199
+ },
200
+ {
201
+ "id": "quote",
202
+ "name": "Quote",
203
+ "durationFrames": 150,
204
+ "camera": {
205
+ "animations": [
206
+ {
207
+ "property": "zoom",
208
+ "keyframes": [
209
+ {
210
+ "frame": 0,
211
+ "value": 1
212
+ },
213
+ {
214
+ "frame": 150,
215
+ "value": 1.05,
216
+ "easing": "drift"
217
+ }
218
+ ]
219
+ }
220
+ ]
221
+ },
222
+ "layers": [
223
+ {
224
+ "use": "quote",
225
+ "id": "quote-block",
226
+ "with": {
227
+ "quote": "{{quote}}",
228
+ "author": "{{author}}",
229
+ "role": "{{role}}"
230
+ }
231
+ }
232
+ ],
233
+ "transitionIn": {
234
+ "type": "push",
235
+ "durationFrames": 16,
236
+ "direction": "left",
237
+ "easing": "glide"
238
+ }
239
+ },
240
+ {
241
+ "id": "cta-end",
242
+ "name": "Call to action",
243
+ "durationFrames": 120,
244
+ "camera": {
245
+ "animations": [
246
+ {
247
+ "property": "zoom",
248
+ "keyframes": [
249
+ {
250
+ "frame": 0,
251
+ "value": 1
252
+ },
253
+ {
254
+ "frame": 120,
255
+ "value": 1.06,
256
+ "easing": "drift"
257
+ }
258
+ ]
259
+ }
260
+ ]
261
+ },
262
+ "layers": [
263
+ {
264
+ "use": "cta_end",
265
+ "id": "cta-end-block",
266
+ "with": {
267
+ "headline": "{{ctaHeadline}}",
268
+ "button": "{{ctaButton}}",
269
+ "url": "{{url}}"
270
+ }
271
+ }
272
+ ],
273
+ "transitionIn": {
274
+ "type": "push",
275
+ "durationFrames": 16,
276
+ "direction": "left",
277
+ "easing": "glide"
278
+ }
279
+ }
280
+ ],
281
+ "components": {
282
+ "title_hero": {
283
+ "description": "Opening title: small kicker, big headline that rises word by word, a short line under it.",
284
+ "params": {
285
+ "kicker": {
286
+ "type": "string",
287
+ "default": "INTRODUCING"
288
+ },
289
+ "headline": {
290
+ "type": "string",
291
+ "default": "Make something people remember"
292
+ },
293
+ "subtitle": {
294
+ "type": "string",
295
+ "default": "One clear line about why it matters."
296
+ }
297
+ },
298
+ "layers": [
299
+ {
300
+ "id": "bg",
301
+ "type": "rect",
302
+ "x": 0,
303
+ "y": 0,
304
+ "width": "{{canvas.width}}",
305
+ "height": "{{canvas.height}}",
306
+ "fill": "{{bg}}"
307
+ },
308
+ {
309
+ "id": "glow",
310
+ "type": "circle",
311
+ "x": "{{round(canvas.width * 0.55)}}",
312
+ "y": "{{round(canvas.height * -0.1)}}",
313
+ "width": "{{round(min(canvas.width, canvas.height) * 1.1)}}",
314
+ "fill": "{{accent}}",
315
+ "opacity": 0.14,
316
+ "blur": 120,
317
+ "animations": [
318
+ {
319
+ "property": "scale",
320
+ "keyframes": [
321
+ {
322
+ "frame": 0,
323
+ "value": 0.9
324
+ },
325
+ {
326
+ "frame": 150,
327
+ "value": 1.1,
328
+ "easing": "drift"
329
+ }
330
+ ]
331
+ },
332
+ {
333
+ "property": "x",
334
+ "keyframes": [
335
+ {
336
+ "frame": 0,
337
+ "value": "{{round(canvas.width * 0.55)}}"
338
+ },
339
+ {
340
+ "frame": 180,
341
+ "value": "{{round(canvas.width * 0.45000000000000007)}}",
342
+ "easing": "drift"
343
+ }
344
+ ]
345
+ }
346
+ ]
347
+ },
348
+ {
349
+ "id": "glow2",
350
+ "type": "circle",
351
+ "x": "{{round(canvas.width * 0.44999999999999996)}}",
352
+ "y": "{{round(canvas.height * 1.1)}}",
353
+ "width": "{{round(min(canvas.width, canvas.height) * 0.8)}}",
354
+ "fill": "{{accent2}}",
355
+ "opacity": 0.084,
356
+ "blur": 140,
357
+ "animations": [
358
+ {
359
+ "property": "y",
360
+ "keyframes": [
361
+ {
362
+ "frame": 0,
363
+ "value": "{{round(canvas.height * 1.1)}}"
364
+ },
365
+ {
366
+ "frame": 180,
367
+ "value": "{{round(canvas.height * 1)}}",
368
+ "easing": "drift"
369
+ }
370
+ ]
371
+ },
372
+ {
373
+ "property": "scale",
374
+ "keyframes": [
375
+ {
376
+ "frame": 0,
377
+ "value": 1.1
378
+ },
379
+ {
380
+ "frame": 150,
381
+ "value": 0.9,
382
+ "easing": "drift"
383
+ }
384
+ ]
385
+ }
386
+ ]
387
+ },
388
+ {
389
+ "id": "stack",
390
+ "type": "group",
391
+ "x": "{{round(canvas.width * 0.08)}}",
392
+ "y": 0,
393
+ "width": "{{round(canvas.width * 0.84)}}",
394
+ "height": "{{canvas.height}}",
395
+ "layout": {
396
+ "direction": "column",
397
+ "gap": "{{round(min(canvas.width, canvas.height) * 0.03)}}",
398
+ "align": "start",
399
+ "justify": "center"
400
+ },
401
+ "children": [
402
+ {
403
+ "id": "kicker",
404
+ "type": "text",
405
+ "content": "{{kicker}}",
406
+ "fontSize": "{{round(min(canvas.width, canvas.height) * 0.032)}}",
407
+ "color": "{{accent}}",
408
+ "fontWeight": 700,
409
+ "letterSpacing": "{{round(min(canvas.width, canvas.height) * 0.006)}}",
410
+ "startFrame": 0,
411
+ "animations": [
412
+ {
413
+ "property": "opacity",
414
+ "keyframes": [
415
+ {
416
+ "frame": 0,
417
+ "value": 0
418
+ },
419
+ {
420
+ "frame": 14,
421
+ "value": 1,
422
+ "easing": "glide"
423
+ }
424
+ ]
425
+ },
426
+ {
427
+ "property": "y",
428
+ "keyframes": [
429
+ {
430
+ "frame": 0,
431
+ "value": 20,
432
+ "easing": "land"
433
+ },
434
+ {
435
+ "frame": 18,
436
+ "value": 0
437
+ }
438
+ ]
439
+ }
440
+ ]
441
+ },
442
+ {
443
+ "id": "headline",
444
+ "type": "text",
445
+ "content": "{{headline}}",
446
+ "fontSize": "{{round(min(canvas.width, canvas.height) * 0.1)}}",
447
+ "color": "{{text}}",
448
+ "fontWeight": "{{headWeight}}",
449
+ "lineHeight": 1.05,
450
+ "maxWidth": "{{round(canvas.width * 0.84)}}",
451
+ "maxLines": 4,
452
+ "minFontSize": "{{round(min(canvas.width, canvas.height) * 0.06)}}",
453
+ "split": {
454
+ "by": "words",
455
+ "stagger": 4,
456
+ "preset": "rise",
457
+ "duration": 18
458
+ },
459
+ "startFrame": 8
460
+ },
461
+ {
462
+ "id": "rule",
463
+ "type": "rect",
464
+ "width": "{{round(min(canvas.width, canvas.height) * 0.12)}}",
465
+ "height": "{{round(min(canvas.width, canvas.height) * 0.008)}}",
466
+ "radius": "{{round(min(canvas.width, canvas.height) * 0.004)}}",
467
+ "fill": "{{accent}}",
468
+ "startFrame": 26,
469
+ "animations": [
470
+ {
471
+ "property": "width",
472
+ "keyframes": [
473
+ {
474
+ "frame": 0,
475
+ "value": 1
476
+ },
477
+ {
478
+ "frame": 20,
479
+ "value": "{{round(min(canvas.width, canvas.height) * 0.12)}}",
480
+ "easing": "land"
481
+ }
482
+ ]
483
+ }
484
+ ]
485
+ },
486
+ {
487
+ "id": "subtitle",
488
+ "type": "text",
489
+ "content": "{{subtitle}}",
490
+ "fontSize": "{{round(min(canvas.width, canvas.height) * 0.04)}}",
491
+ "color": "{{muted}}",
492
+ "maxWidth": "{{round(canvas.width * 0.7)}}",
493
+ "maxLines": 3,
494
+ "minFontSize": "{{round(min(canvas.width, canvas.height) * 0.028)}}",
495
+ "startFrame": 34,
496
+ "animations": [
497
+ {
498
+ "property": "opacity",
499
+ "keyframes": [
500
+ {
501
+ "frame": 0,
502
+ "value": 0
503
+ },
504
+ {
505
+ "frame": 14,
506
+ "value": 1,
507
+ "easing": "glide"
508
+ }
509
+ ]
510
+ },
511
+ {
512
+ "property": "y",
513
+ "keyframes": [
514
+ {
515
+ "frame": 0,
516
+ "value": 24,
517
+ "easing": "land"
518
+ },
519
+ {
520
+ "frame": 18,
521
+ "value": 0
522
+ }
523
+ ]
524
+ }
525
+ ]
526
+ }
527
+ ]
528
+ },
529
+ {
530
+ "id": "sfx-in",
531
+ "type": "audio",
532
+ "src": "sfx:whoosh",
533
+ "startFrame": 3,
534
+ "volume": 0.45
535
+ }
536
+ ]
537
+ },
538
+ "big_stat": {
539
+ "description": "One huge number with a line of context.",
540
+ "params": {
541
+ "value": {
542
+ "type": "string",
543
+ "default": "87%"
544
+ },
545
+ "label": {
546
+ "type": "string",
547
+ "default": "of viewers keep watching until the end"
548
+ }
549
+ },
550
+ "layers": [
551
+ {
552
+ "id": "bg",
553
+ "type": "rect",
554
+ "x": 0,
555
+ "y": 0,
556
+ "width": "{{canvas.width}}",
557
+ "height": "{{canvas.height}}",
558
+ "fill": "{{bg}}"
559
+ },
560
+ {
561
+ "id": "glow",
562
+ "type": "circle",
563
+ "x": "{{round(canvas.width * 0.1)}}",
564
+ "y": "{{round(canvas.height * 0.5)}}",
565
+ "width": "{{round(min(canvas.width, canvas.height) * 1.1)}}",
566
+ "fill": "{{accent}}",
567
+ "opacity": 0.12,
568
+ "blur": 120,
569
+ "animations": [
570
+ {
571
+ "property": "scale",
572
+ "keyframes": [
573
+ {
574
+ "frame": 0,
575
+ "value": 0.9
576
+ },
577
+ {
578
+ "frame": 150,
579
+ "value": 1.1,
580
+ "easing": "drift"
581
+ }
582
+ ]
583
+ },
584
+ {
585
+ "property": "x",
586
+ "keyframes": [
587
+ {
588
+ "frame": 0,
589
+ "value": "{{round(canvas.width * 0.1)}}"
590
+ },
591
+ {
592
+ "frame": 180,
593
+ "value": "{{round(canvas.width * 0)}}",
594
+ "easing": "drift"
595
+ }
596
+ ]
597
+ }
598
+ ]
599
+ },
600
+ {
601
+ "id": "glow2",
602
+ "type": "circle",
603
+ "x": "{{round(canvas.width * 0.9)}}",
604
+ "y": "{{round(canvas.height * 0.5)}}",
605
+ "width": "{{round(min(canvas.width, canvas.height) * 0.8)}}",
606
+ "fill": "{{accent2}}",
607
+ "opacity": 0.072,
608
+ "blur": 140,
609
+ "animations": [
610
+ {
611
+ "property": "y",
612
+ "keyframes": [
613
+ {
614
+ "frame": 0,
615
+ "value": "{{round(canvas.height * 0.5)}}"
616
+ },
617
+ {
618
+ "frame": 180,
619
+ "value": "{{round(canvas.height * 0.4)}}",
620
+ "easing": "drift"
621
+ }
622
+ ]
623
+ },
624
+ {
625
+ "property": "scale",
626
+ "keyframes": [
627
+ {
628
+ "frame": 0,
629
+ "value": 1.1
630
+ },
631
+ {
632
+ "frame": 150,
633
+ "value": 0.9,
634
+ "easing": "drift"
635
+ }
636
+ ]
637
+ }
638
+ ]
639
+ },
640
+ {
641
+ "id": "stack",
642
+ "type": "group",
643
+ "x": 0,
644
+ "y": 0,
645
+ "width": "{{canvas.width}}",
646
+ "height": "{{canvas.height}}",
647
+ "layout": {
648
+ "direction": "column",
649
+ "gap": "{{round(min(canvas.width, canvas.height) * 0.03)}}",
650
+ "align": "center",
651
+ "justify": "center"
652
+ },
653
+ "children": [
654
+ {
655
+ "id": "value",
656
+ "type": "text",
657
+ "content": "{{value}}",
658
+ "fontSize": "{{round(min(canvas.width, canvas.height) * 0.3)}}",
659
+ "color": "{{accent}}",
660
+ "fontWeight": 900,
661
+ "textAlign": "center",
662
+ "maxWidth": "{{round(canvas.width * 0.9)}}",
663
+ "lineHeight": 1,
664
+ "animations": [
665
+ {
666
+ "property": "scale",
667
+ "keyframes": [
668
+ {
669
+ "frame": 0,
670
+ "value": 0.8,
671
+ "easing": "pop"
672
+ },
673
+ {
674
+ "frame": 22,
675
+ "value": 1
676
+ }
677
+ ]
678
+ },
679
+ {
680
+ "property": "opacity",
681
+ "keyframes": [
682
+ {
683
+ "frame": 0,
684
+ "value": 0
685
+ },
686
+ {
687
+ "frame": 10,
688
+ "value": 1
689
+ }
690
+ ]
691
+ }
692
+ ]
693
+ },
694
+ {
695
+ "id": "label",
696
+ "type": "text",
697
+ "content": "{{label}}",
698
+ "fontSize": "{{round(min(canvas.width, canvas.height) * 0.05)}}",
699
+ "color": "{{text}}",
700
+ "textAlign": "center",
701
+ "maxWidth": "{{round(canvas.width * 0.72)}}",
702
+ "maxLines": 3,
703
+ "minFontSize": "{{round(min(canvas.width, canvas.height) * 0.032)}}",
704
+ "startFrame": 14,
705
+ "animations": [
706
+ {
707
+ "property": "opacity",
708
+ "keyframes": [
709
+ {
710
+ "frame": 0,
711
+ "value": 0
712
+ },
713
+ {
714
+ "frame": 14,
715
+ "value": 1,
716
+ "easing": "glide"
717
+ }
718
+ ]
719
+ },
720
+ {
721
+ "property": "y",
722
+ "keyframes": [
723
+ {
724
+ "frame": 0,
725
+ "value": 24,
726
+ "easing": "land"
727
+ },
728
+ {
729
+ "frame": 18,
730
+ "value": 0
731
+ }
732
+ ]
733
+ }
734
+ ]
735
+ }
736
+ ]
737
+ },
738
+ {
739
+ "id": "sfx-hit",
740
+ "type": "audio",
741
+ "src": "sfx:pop",
742
+ "startFrame": 4,
743
+ "volume": 0.5
744
+ }
745
+ ]
746
+ },
747
+ "quote": {
748
+ "description": "A pull quote with author and role.",
749
+ "params": {
750
+ "quote": {
751
+ "type": "string",
752
+ "default": "The best videos are built one honest frame at a time."
753
+ },
754
+ "author": {
755
+ "type": "string",
756
+ "default": "Mira Chen"
757
+ },
758
+ "role": {
759
+ "type": "string",
760
+ "default": "Creative director"
761
+ }
762
+ },
763
+ "layers": [
764
+ {
765
+ "id": "bg",
766
+ "type": "rect",
767
+ "x": 0,
768
+ "y": 0,
769
+ "width": "{{canvas.width}}",
770
+ "height": "{{canvas.height}}",
771
+ "fill": "{{bg}}"
772
+ },
773
+ {
774
+ "id": "glow",
775
+ "type": "circle",
776
+ "x": "{{round(canvas.width * 0.6)}}",
777
+ "y": "{{round(canvas.height * -0.2)}}",
778
+ "width": "{{round(min(canvas.width, canvas.height) * 1.1)}}",
779
+ "fill": "{{accent}}",
780
+ "opacity": 0.1,
781
+ "blur": 120,
782
+ "animations": [
783
+ {
784
+ "property": "scale",
785
+ "keyframes": [
786
+ {
787
+ "frame": 0,
788
+ "value": 0.9
789
+ },
790
+ {
791
+ "frame": 150,
792
+ "value": 1.1,
793
+ "easing": "drift"
794
+ }
795
+ ]
796
+ },
797
+ {
798
+ "property": "x",
799
+ "keyframes": [
800
+ {
801
+ "frame": 0,
802
+ "value": "{{round(canvas.width * 0.6)}}"
803
+ },
804
+ {
805
+ "frame": 180,
806
+ "value": "{{round(canvas.width * 0.5)}}",
807
+ "easing": "drift"
808
+ }
809
+ ]
810
+ }
811
+ ]
812
+ },
813
+ {
814
+ "id": "glow2",
815
+ "type": "circle",
816
+ "x": "{{round(canvas.width * 0.4)}}",
817
+ "y": "{{round(canvas.height * 1.2)}}",
818
+ "width": "{{round(min(canvas.width, canvas.height) * 0.8)}}",
819
+ "fill": "{{accent2}}",
820
+ "opacity": 0.06,
821
+ "blur": 140,
822
+ "animations": [
823
+ {
824
+ "property": "y",
825
+ "keyframes": [
826
+ {
827
+ "frame": 0,
828
+ "value": "{{round(canvas.height * 1.2)}}"
829
+ },
830
+ {
831
+ "frame": 180,
832
+ "value": "{{round(canvas.height * 1.1)}}",
833
+ "easing": "drift"
834
+ }
835
+ ]
836
+ },
837
+ {
838
+ "property": "scale",
839
+ "keyframes": [
840
+ {
841
+ "frame": 0,
842
+ "value": 1.1
843
+ },
844
+ {
845
+ "frame": 150,
846
+ "value": 0.9,
847
+ "easing": "drift"
848
+ }
849
+ ]
850
+ }
851
+ ]
852
+ },
853
+ {
854
+ "id": "stack",
855
+ "type": "group",
856
+ "x": "{{round(canvas.width * 0.08)}}",
857
+ "y": 0,
858
+ "width": "{{round(canvas.width * 0.84)}}",
859
+ "height": "{{canvas.height}}",
860
+ "layout": {
861
+ "direction": "column",
862
+ "gap": "{{round(min(canvas.width, canvas.height) * 0.025)}}",
863
+ "align": "start",
864
+ "justify": "center"
865
+ },
866
+ "children": [
867
+ {
868
+ "id": "mark",
869
+ "type": "text",
870
+ "content": "“",
871
+ "fontSize": "{{round(min(canvas.width, canvas.height) * 0.26)}}",
872
+ "color": "{{accent}}",
873
+ "fontWeight": 900,
874
+ "lineHeight": 0.7,
875
+ "startFrame": 0,
876
+ "animations": [
877
+ {
878
+ "property": "opacity",
879
+ "keyframes": [
880
+ {
881
+ "frame": 0,
882
+ "value": 0
883
+ },
884
+ {
885
+ "frame": 14,
886
+ "value": 1,
887
+ "easing": "glide"
888
+ }
889
+ ]
890
+ },
891
+ {
892
+ "property": "y",
893
+ "keyframes": [
894
+ {
895
+ "frame": 0,
896
+ "value": 20,
897
+ "easing": "land"
898
+ },
899
+ {
900
+ "frame": 18,
901
+ "value": 0
902
+ }
903
+ ]
904
+ }
905
+ ]
906
+ },
907
+ {
908
+ "id": "quote",
909
+ "type": "text",
910
+ "content": "{{quote}}",
911
+ "fontSize": "{{round(min(canvas.width, canvas.height) * 0.06)}}",
912
+ "color": "{{text}}",
913
+ "fontWeight": 700,
914
+ "lineHeight": 1.15,
915
+ "maxWidth": "{{round(canvas.width * 0.84)}}",
916
+ "maxLines": 6,
917
+ "minFontSize": "{{round(min(canvas.width, canvas.height) * 0.04)}}",
918
+ "startFrame": 8,
919
+ "animations": [
920
+ {
921
+ "property": "opacity",
922
+ "keyframes": [
923
+ {
924
+ "frame": 0,
925
+ "value": 0
926
+ },
927
+ {
928
+ "frame": 14,
929
+ "value": 1,
930
+ "easing": "glide"
931
+ }
932
+ ]
933
+ },
934
+ {
935
+ "property": "y",
936
+ "keyframes": [
937
+ {
938
+ "frame": 0,
939
+ "value": 28,
940
+ "easing": "land"
941
+ },
942
+ {
943
+ "frame": 18,
944
+ "value": 0
945
+ }
946
+ ]
947
+ }
948
+ ]
949
+ },
950
+ {
951
+ "id": "rule",
952
+ "type": "rect",
953
+ "width": "{{round(min(canvas.width, canvas.height) * 0.12)}}",
954
+ "height": "{{round(min(canvas.width, canvas.height) * 0.008)}}",
955
+ "radius": "{{round(min(canvas.width, canvas.height) * 0.004)}}",
956
+ "fill": "{{accent}}",
957
+ "startFrame": 30,
958
+ "animations": [
959
+ {
960
+ "property": "width",
961
+ "keyframes": [
962
+ {
963
+ "frame": 0,
964
+ "value": 1
965
+ },
966
+ {
967
+ "frame": 20,
968
+ "value": "{{round(min(canvas.width, canvas.height) * 0.12)}}",
969
+ "easing": "land"
970
+ }
971
+ ]
972
+ }
973
+ ]
974
+ },
975
+ {
976
+ "id": "author",
977
+ "type": "text",
978
+ "content": "{{author}}",
979
+ "fontSize": "{{round(min(canvas.width, canvas.height) * 0.04)}}",
980
+ "color": "{{text}}",
981
+ "fontWeight": 700,
982
+ "startFrame": 38,
983
+ "animations": [
984
+ {
985
+ "property": "opacity",
986
+ "keyframes": [
987
+ {
988
+ "frame": 0,
989
+ "value": 0
990
+ },
991
+ {
992
+ "frame": 14,
993
+ "value": 1,
994
+ "easing": "glide"
995
+ }
996
+ ]
997
+ },
998
+ {
999
+ "property": "y",
1000
+ "keyframes": [
1001
+ {
1002
+ "frame": 0,
1003
+ "value": 18,
1004
+ "easing": "land"
1005
+ },
1006
+ {
1007
+ "frame": 18,
1008
+ "value": 0
1009
+ }
1010
+ ]
1011
+ }
1012
+ ]
1013
+ },
1014
+ {
1015
+ "id": "role",
1016
+ "type": "text",
1017
+ "content": "{{role}}",
1018
+ "fontSize": "{{round(min(canvas.width, canvas.height) * 0.032)}}",
1019
+ "color": "{{muted}}",
1020
+ "startFrame": 42,
1021
+ "animations": [
1022
+ {
1023
+ "property": "opacity",
1024
+ "keyframes": [
1025
+ {
1026
+ "frame": 0,
1027
+ "value": 0
1028
+ },
1029
+ {
1030
+ "frame": 14,
1031
+ "value": 1,
1032
+ "easing": "glide"
1033
+ }
1034
+ ]
1035
+ },
1036
+ {
1037
+ "property": "y",
1038
+ "keyframes": [
1039
+ {
1040
+ "frame": 0,
1041
+ "value": 18,
1042
+ "easing": "land"
1043
+ },
1044
+ {
1045
+ "frame": 18,
1046
+ "value": 0
1047
+ }
1048
+ ]
1049
+ }
1050
+ ]
1051
+ }
1052
+ ]
1053
+ },
1054
+ {
1055
+ "id": "sfx-in",
1056
+ "type": "audio",
1057
+ "src": "sfx:tick",
1058
+ "startFrame": 6,
1059
+ "volume": 0.35
1060
+ }
1061
+ ]
1062
+ },
1063
+ "cta_end": {
1064
+ "description": "Closing scene: a headline, a button and a web address.",
1065
+ "params": {
1066
+ "headline": {
1067
+ "type": "string",
1068
+ "default": "Ready to start?"
1069
+ },
1070
+ "button": {
1071
+ "type": "string",
1072
+ "default": "Get started"
1073
+ },
1074
+ "url": {
1075
+ "type": "string",
1076
+ "default": "example.com"
1077
+ }
1078
+ },
1079
+ "layers": [
1080
+ {
1081
+ "id": "bg",
1082
+ "type": "rect",
1083
+ "x": 0,
1084
+ "y": 0,
1085
+ "width": "{{canvas.width}}",
1086
+ "height": "{{canvas.height}}",
1087
+ "fill": "{{bg}}"
1088
+ },
1089
+ {
1090
+ "id": "glow",
1091
+ "type": "circle",
1092
+ "x": "{{round(canvas.width * 0.5)}}",
1093
+ "y": "{{round(canvas.height * 0.4)}}",
1094
+ "width": "{{round(min(canvas.width, canvas.height) * 1.1)}}",
1095
+ "fill": "{{accent}}",
1096
+ "opacity": 0.16,
1097
+ "blur": 120,
1098
+ "animations": [
1099
+ {
1100
+ "property": "scale",
1101
+ "keyframes": [
1102
+ {
1103
+ "frame": 0,
1104
+ "value": 0.9
1105
+ },
1106
+ {
1107
+ "frame": 150,
1108
+ "value": 1.1,
1109
+ "easing": "drift"
1110
+ }
1111
+ ]
1112
+ },
1113
+ {
1114
+ "property": "x",
1115
+ "keyframes": [
1116
+ {
1117
+ "frame": 0,
1118
+ "value": "{{round(canvas.width * 0.5)}}"
1119
+ },
1120
+ {
1121
+ "frame": 180,
1122
+ "value": "{{round(canvas.width * 0.4)}}",
1123
+ "easing": "drift"
1124
+ }
1125
+ ]
1126
+ }
1127
+ ]
1128
+ },
1129
+ {
1130
+ "id": "glow2",
1131
+ "type": "circle",
1132
+ "x": "{{round(canvas.width * 0.5)}}",
1133
+ "y": "{{round(canvas.height * 0.6)}}",
1134
+ "width": "{{round(min(canvas.width, canvas.height) * 0.8)}}",
1135
+ "fill": "{{accent2}}",
1136
+ "opacity": 0.096,
1137
+ "blur": 140,
1138
+ "animations": [
1139
+ {
1140
+ "property": "y",
1141
+ "keyframes": [
1142
+ {
1143
+ "frame": 0,
1144
+ "value": "{{round(canvas.height * 0.6)}}"
1145
+ },
1146
+ {
1147
+ "frame": 180,
1148
+ "value": "{{round(canvas.height * 0.5)}}",
1149
+ "easing": "drift"
1150
+ }
1151
+ ]
1152
+ },
1153
+ {
1154
+ "property": "scale",
1155
+ "keyframes": [
1156
+ {
1157
+ "frame": 0,
1158
+ "value": 1.1
1159
+ },
1160
+ {
1161
+ "frame": 150,
1162
+ "value": 0.9,
1163
+ "easing": "drift"
1164
+ }
1165
+ ]
1166
+ }
1167
+ ]
1168
+ },
1169
+ {
1170
+ "id": "stack",
1171
+ "type": "group",
1172
+ "x": 0,
1173
+ "y": 0,
1174
+ "width": "{{canvas.width}}",
1175
+ "height": "{{canvas.height}}",
1176
+ "layout": {
1177
+ "direction": "column",
1178
+ "gap": "{{round(min(canvas.width, canvas.height) * 0.05)}}",
1179
+ "align": "center",
1180
+ "justify": "center"
1181
+ },
1182
+ "children": [
1183
+ {
1184
+ "id": "headline",
1185
+ "type": "text",
1186
+ "content": "{{headline}}",
1187
+ "fontSize": "{{round(min(canvas.width, canvas.height) * 0.1)}}",
1188
+ "color": "{{text}}",
1189
+ "fontWeight": "{{headWeight}}",
1190
+ "textAlign": "center",
1191
+ "maxWidth": "{{round(canvas.width * 0.84)}}",
1192
+ "maxLines": 3,
1193
+ "minFontSize": "{{round(min(canvas.width, canvas.height) * 0.06)}}",
1194
+ "lineHeight": 1.05,
1195
+ "split": {
1196
+ "by": "words",
1197
+ "stagger": 4,
1198
+ "preset": "rise",
1199
+ "duration": 18
1200
+ }
1201
+ },
1202
+ {
1203
+ "id": "btn",
1204
+ "type": "group",
1205
+ "width": "{{round(canvas.width * 0.42)}}",
1206
+ "height": "{{round(min(canvas.width, canvas.height) * 0.13)}}",
1207
+ "startFrame": 24,
1208
+ "animations": [
1209
+ {
1210
+ "property": "scale",
1211
+ "keyframes": [
1212
+ {
1213
+ "frame": 0,
1214
+ "value": 0.85,
1215
+ "easing": "pop"
1216
+ },
1217
+ {
1218
+ "frame": 16,
1219
+ "value": 1
1220
+ }
1221
+ ]
1222
+ },
1223
+ {
1224
+ "property": "opacity",
1225
+ "keyframes": [
1226
+ {
1227
+ "frame": 0,
1228
+ "value": 0
1229
+ },
1230
+ {
1231
+ "frame": 8,
1232
+ "value": 1
1233
+ }
1234
+ ]
1235
+ }
1236
+ ],
1237
+ "children": [
1238
+ {
1239
+ "id": "pill",
1240
+ "type": "rect",
1241
+ "x": 0,
1242
+ "y": 0,
1243
+ "width": "{{round(canvas.width * 0.42)}}",
1244
+ "height": "{{round(min(canvas.width, canvas.height) * 0.13)}}",
1245
+ "radius": "{{round(min(canvas.width, canvas.height) * 0.065)}}",
1246
+ "fill": "{{accent}}"
1247
+ },
1248
+ {
1249
+ "id": "label",
1250
+ "type": "text",
1251
+ "content": "{{button}}",
1252
+ "x": "{{round(canvas.width * 0.21)}}",
1253
+ "y": "{{round(min(canvas.width, canvas.height) * 0.065 - min(canvas.width, canvas.height) * 0.03)}}",
1254
+ "fontSize": "{{round(min(canvas.width, canvas.height) * 0.05)}}",
1255
+ "fontWeight": 800,
1256
+ "color": "{{bg}}",
1257
+ "textAlign": "center",
1258
+ "maxWidth": "{{round(canvas.width * 0.38)}}",
1259
+ "maxLines": 1,
1260
+ "minFontSize": "{{round(min(canvas.width, canvas.height) * 0.032)}}"
1261
+ }
1262
+ ]
1263
+ },
1264
+ {
1265
+ "id": "url",
1266
+ "type": "text",
1267
+ "content": "{{url}}",
1268
+ "fontSize": "{{round(min(canvas.width, canvas.height) * 0.04)}}",
1269
+ "color": "{{muted}}",
1270
+ "textAlign": "center",
1271
+ "maxWidth": "{{round(canvas.width * 0.8)}}",
1272
+ "startFrame": 34,
1273
+ "animations": [
1274
+ {
1275
+ "property": "opacity",
1276
+ "keyframes": [
1277
+ {
1278
+ "frame": 0,
1279
+ "value": 0
1280
+ },
1281
+ {
1282
+ "frame": 14,
1283
+ "value": 1,
1284
+ "easing": "glide"
1285
+ }
1286
+ ]
1287
+ },
1288
+ {
1289
+ "property": "y",
1290
+ "keyframes": [
1291
+ {
1292
+ "frame": 0,
1293
+ "value": 16,
1294
+ "easing": "land"
1295
+ },
1296
+ {
1297
+ "frame": 18,
1298
+ "value": 0
1299
+ }
1300
+ ]
1301
+ }
1302
+ ]
1303
+ }
1304
+ ]
1305
+ },
1306
+ {
1307
+ "id": "sfx-btn",
1308
+ "type": "audio",
1309
+ "src": "sfx:ding",
1310
+ "startFrame": 24,
1311
+ "volume": 0.45
1312
+ }
1313
+ ]
1314
+ },
1315
+ "badge": {
1316
+ "description": "A small highlighted label in the top left corner, such as NEW or LIVE.",
1317
+ "params": {
1318
+ "label": {
1319
+ "type": "string",
1320
+ "default": "NEW"
1321
+ }
1322
+ },
1323
+ "layers": [
1324
+ {
1325
+ "id": "tag",
1326
+ "type": "text",
1327
+ "spans": [
1328
+ {
1329
+ "text": " {{label}} ",
1330
+ "background": "{{accent}}",
1331
+ "color": "{{bg}}",
1332
+ "fontWeight": 800
1333
+ }
1334
+ ],
1335
+ "x": "{{round(canvas.width * 0.06)}}",
1336
+ "y": "{{round(canvas.height * 0.05)}}",
1337
+ "fontSize": "{{round(min(canvas.width, canvas.height) * 0.032)}}",
1338
+ "letterSpacing": "{{round(min(canvas.width, canvas.height) * 0.003)}}",
1339
+ "animations": [
1340
+ {
1341
+ "property": "opacity",
1342
+ "keyframes": [
1343
+ {
1344
+ "frame": 0,
1345
+ "value": 0
1346
+ },
1347
+ {
1348
+ "frame": 10,
1349
+ "value": 1
1350
+ }
1351
+ ]
1352
+ },
1353
+ {
1354
+ "property": "scale",
1355
+ "keyframes": [
1356
+ {
1357
+ "frame": 0,
1358
+ "value": 0.8,
1359
+ "easing": "pop"
1360
+ },
1361
+ {
1362
+ "frame": 14,
1363
+ "value": 1
1364
+ }
1365
+ ]
1366
+ }
1367
+ ]
1368
+ },
1369
+ {
1370
+ "id": "sfx-in",
1371
+ "type": "audio",
1372
+ "src": "sfx:pop",
1373
+ "startFrame": 0,
1374
+ "volume": 0.3
1375
+ }
1376
+ ]
1377
+ }
1378
+ }
1379
+ }