@scenerok/cli 2.2.0

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 (79) hide show
  1. package/README.md +173 -0
  2. package/dist/commands/auth.d.ts +3 -0
  3. package/dist/commands/auth.d.ts.map +1 -0
  4. package/dist/commands/auth.js +94 -0
  5. package/dist/commands/cache.d.ts +3 -0
  6. package/dist/commands/cache.d.ts.map +1 -0
  7. package/dist/commands/cache.js +65 -0
  8. package/dist/commands/lint-video.d.ts +21 -0
  9. package/dist/commands/lint-video.d.ts.map +1 -0
  10. package/dist/commands/lint-video.js +122 -0
  11. package/dist/commands/project.d.ts +3 -0
  12. package/dist/commands/project.d.ts.map +1 -0
  13. package/dist/commands/project.js +173 -0
  14. package/dist/commands/render.d.ts +4 -0
  15. package/dist/commands/render.d.ts.map +1 -0
  16. package/dist/commands/render.js +242 -0
  17. package/dist/commands/skills.d.ts +3 -0
  18. package/dist/commands/skills.d.ts.map +1 -0
  19. package/dist/commands/skills.js +208 -0
  20. package/dist/commands/validate.d.ts +3 -0
  21. package/dist/commands/validate.d.ts.map +1 -0
  22. package/dist/commands/validate.js +254 -0
  23. package/dist/index.d.ts +3 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +51 -0
  26. package/dist/lib/api.d.ts +268 -0
  27. package/dist/lib/api.d.ts.map +1 -0
  28. package/dist/lib/api.js +160 -0
  29. package/dist/lib/config.d.ts +13 -0
  30. package/dist/lib/config.d.ts.map +1 -0
  31. package/dist/lib/config.js +53 -0
  32. package/dist/lib/format-api-error.d.ts +2 -0
  33. package/dist/lib/format-api-error.d.ts.map +1 -0
  34. package/dist/lib/format-api-error.js +24 -0
  35. package/dist/lib/language.d.ts +3 -0
  36. package/dist/lib/language.d.ts.map +1 -0
  37. package/dist/lib/language.js +9 -0
  38. package/dist/lib/logger.d.ts +8 -0
  39. package/dist/lib/logger.d.ts.map +1 -0
  40. package/dist/lib/logger.js +51 -0
  41. package/dist/lib/project.d.ts +29 -0
  42. package/dist/lib/project.d.ts.map +1 -0
  43. package/dist/lib/project.js +156 -0
  44. package/dist/lib/sdk-scene-modules.d.ts +7 -0
  45. package/dist/lib/sdk-scene-modules.d.ts.map +1 -0
  46. package/dist/lib/sdk-scene-modules.js +35 -0
  47. package/dist/utils/skillsManifest.d.ts +42 -0
  48. package/dist/utils/skillsManifest.d.ts.map +1 -0
  49. package/dist/utils/skillsManifest.js +122 -0
  50. package/examples/system/3-tips-fitness.vid +45 -0
  51. package/examples/system/ecom-product-launch.vid +31 -0
  52. package/examples/system/glitch-title.vid +17 -0
  53. package/examples/system/meme-remix.vid +15 -0
  54. package/examples/system/minimal-text-reel.vid +11 -0
  55. package/examples/system/product-launch.vid +18 -0
  56. package/examples/system/rokmilk-chocolate-promo.vid +25 -0
  57. package/examples/system/testimonial-cut.vid +16 -0
  58. package/examples/system/ugc-testimonial-voiceover.vid +33 -0
  59. package/examples/system/voice-visual-promo.vid +21 -0
  60. package/package.json +51 -0
  61. package/skills/remote/ai-models.md +65 -0
  62. package/skills/remote/animations-catalog.md +89 -0
  63. package/skills/remote/animations-picker.md +77 -0
  64. package/skills/remote/brand-setup.md +69 -0
  65. package/skills/remote/catalog-index.json +1810 -0
  66. package/skills/remote/environments.md +73 -0
  67. package/skills/remote/intent-router.md +81 -0
  68. package/skills/remote/media-stdlib.md +66 -0
  69. package/skills/remote/music.md +69 -0
  70. package/skills/remote/sdk-guide.md +201 -0
  71. package/skills/remote/shaders-filters.md +97 -0
  72. package/skills/remote/text-styles.md +108 -0
  73. package/skills/remote/transitions-catalog.md +55 -0
  74. package/skills/remote/tts.md +82 -0
  75. package/skills/remote/vidscript-guide.md +574 -0
  76. package/skills/remote/vidscript-sample.md +28 -0
  77. package/skills/remote/vidscript-strict.md +251 -0
  78. package/skills/remote/workflow.md +72 -0
  79. package/skills/shared/SKILL.md +157 -0
@@ -0,0 +1,1810 @@
1
+ {
2
+ "schema": "https://scenerok.com/catalog-index/v1",
3
+ "generatedAt": "2026-07-03T01:54:50.808Z",
4
+ "cdnBase": "https://assets-public.scenerok.com/catalog",
5
+ "categories": [
6
+ {
7
+ "id": "ai-models",
8
+ "title": "AI Models",
9
+ "description": "Text-to-video with x.ai Grok. Pre-rendered samples only — copy the VidScript, do not re-run generation from this page.",
10
+ "items": [
11
+ {
12
+ "id": "grok-gen-video",
13
+ "title": "Grok genVideo()",
14
+ "description": "Explicit duration, resolution, and aspect ratio for text-to-video.",
15
+ "examples": [
16
+ {
17
+ "id": "ai-models:grok-gen-video-wide",
18
+ "title": "Landscape 8 s",
19
+ "description": "Longer clip, 16:9 frame.",
20
+ "durationSeconds": 3,
21
+ "vidscript": "import xai from \"@scenerok/xai\"\n\n[- 3s] = video xai.genVideo(\"Timelapse of clouds over desert mesas, wide cinematic, anamorphic flare\", duration: 3, aspect_ratio: \"16:9\", resolution: \"720p\")\n\n[prev .. prev + 0.8s] = text \"genVideo()\", font: \"Inter Bold\", size: 44, color: \"#FFFFFF\", shadow_blur: 10, align: \"center\", y: \"88%\"",
22
+ "mp4Url": null,
23
+ "posterUrl": null
24
+ },
25
+ {
26
+ "id": "ai-models:grok-gen-video",
27
+ "title": "Vertical 6 s reel",
28
+ "description": "duration: 3, aspect_ratio: \"9:16\".",
29
+ "durationSeconds": 3,
30
+ "vidscript": "import xai from \"@scenerok/xai\"\n\n[- 3s] = video xai.genVideo(\"Drone shot over a futuristic city at sunset, lens flare, cinematic\", duration: 3, aspect_ratio: \"9:16\", resolution: \"720p\")",
31
+ "mp4Url": "https://assets-public.scenerok.com/catalog/ai-models__grok-gen-video.mp4",
32
+ "posterUrl": "https://assets-public.scenerok.com/catalog/posters/ai-models__grok-gen-video.jpg"
33
+ }
34
+ ]
35
+ },
36
+ {
37
+ "id": "grok-imagine",
38
+ "title": "Grok imagine()",
39
+ "description": "One-call text-to-video. Default 5 s, 720p, 9:16.",
40
+ "examples": [
41
+ {
42
+ "id": "ai-models:grok-imagine-ocean",
43
+ "title": "Ocean drone",
44
+ "description": "Same API, different prompt and aspect.",
45
+ "durationSeconds": 3,
46
+ "vidscript": "import xai from \"@scenerok/xai\"\n\n[- 3s] = video xai.imagine(\"Slow aerial drone over turquoise ocean waves, golden hour, cinematic\", aspect_ratio: \"16:9\", resolution: \"720p\")\n\n[prev .. prev + 0.8s] = text \"imagine()\", font: \"Inter Bold\", size: 48, color: \"#FFFFFF\", align: \"center\", y: \"85%\"",
47
+ "mp4Url": null,
48
+ "posterUrl": null
49
+ },
50
+ {
51
+ "id": "ai-models:grok-imagine",
52
+ "title": "Street market",
53
+ "description": "Default params — no duration override.",
54
+ "durationSeconds": 3,
55
+ "vidscript": "import xai from \"@scenerok/xai\"\n\n[- 3s] = video xai.imagine(\"A neon-lit street market at night, cinematic, volumetric light\", aspect_ratio: \"9:16\", resolution: \"720p\")\n\n[prev .. prev + 0.8s] = text \"Grok imagine()\", font: \"Inter Bold\", size: 56, color: \"#FFFFFF\", shadow_color: \"#000000\", shadow_blur: 12, position: \"bottom\", align: \"center\"",
56
+ "mp4Url": "https://assets-public.scenerok.com/catalog/ai-models__grok-imagine.mp4",
57
+ "posterUrl": "https://assets-public.scenerok.com/catalog/posters/ai-models__grok-imagine.jpg"
58
+ }
59
+ ]
60
+ }
61
+ ]
62
+ },
63
+ {
64
+ "id": "text-styles",
65
+ "title": "Text Styles",
66
+ "description": "Headlines, captions, and motion presets from @scenerok/basic-animations.",
67
+ "items": [
68
+ {
69
+ "id": "hero-headline",
70
+ "title": "Bold hero headline",
71
+ "description": "Large sans-serif with shadow and fade entrance/exit.",
72
+ "examples": [
73
+ {
74
+ "id": "text-styles:hero-headline-center",
75
+ "title": "Center pop",
76
+ "description": "popIn entrance on a dark canvas.",
77
+ "durationSeconds": 3,
78
+ "vidscript": "import motion from \"@scenerok/basic-animations\"\n\n[0s .. 3s] = text \"SCENEROK\", font: \"Inter Black\", size: 200, color: \"#7CFAC7\", align: \"center\", letter_spacing: 6, animate: [motion.popIn(0.8), motion.fadeOut(0.5)]",
79
+ "mp4Url": "https://assets-public.scenerok.com/catalog/text-styles__hero-headline-center.mp4",
80
+ "posterUrl": "https://assets-public.scenerok.com/catalog/posters/text-styles__hero-headline-center.jpg"
81
+ },
82
+ {
83
+ "id": "text-styles:hero-headline",
84
+ "title": "Bottom-anchored",
85
+ "description": "position: \"bottom\", motion.fadeIn + fadeOut.",
86
+ "durationSeconds": 3,
87
+ "vidscript": "import motion from \"@scenerok/basic-animations\"\n\n[0s .. 3s] = text \"Make videos from text.\", font: \"Inter Bold\", size: 96, color: \"#FFFFFF\", position: \"bottom\", align: \"center\", shadow_color: \"#000000\", shadow_blur: 16, x: \"50%\", y: -180, animate: [motion.fadeIn(0.6), motion.fadeOut(0.6)]",
88
+ "mp4Url": "https://assets-public.scenerok.com/catalog/text-styles__hero-headline.mp4",
89
+ "posterUrl": "https://assets-public.scenerok.com/catalog/posters/text-styles__hero-headline.jpg"
90
+ }
91
+ ]
92
+ },
93
+ {
94
+ "id": "motion-presets",
95
+ "title": "Motion presets",
96
+ "description": "Composable motion.fadeIn, popIn, and float descriptors.",
97
+ "examples": [
98
+ {
99
+ "id": "text-styles:motion-fade",
100
+ "title": "Fade in + out",
101
+ "description": "motion.fadeIn(0.5) + motion.fadeOut(0.5).",
102
+ "durationSeconds": 3,
103
+ "vidscript": "import motion from \"@scenerok/basic-animations\"\n\n[0s .. 3s] = text \"FADE\", font: \"Inter Black\", size: 220, color: \"#FFFFFF\", align: \"center\", animate: [motion.fadeIn(0.5), motion.fadeOut(0.5)]",
104
+ "mp4Url": "https://assets-public.scenerok.com/catalog/text-styles__motion-fade.mp4",
105
+ "posterUrl": "https://assets-public.scenerok.com/catalog/posters/text-styles__motion-fade.jpg"
106
+ },
107
+ {
108
+ "id": "text-styles:motion-pop-float",
109
+ "title": "Pop + float",
110
+ "description": "popIn(0.7) then float(2.2, 12).",
111
+ "durationSeconds": 3,
112
+ "vidscript": "import motion from \"@scenerok/basic-animations\"\n\n[0s .. 3s] = text \"POP\", font: \"Inter Black\", size: 220, color: \"#FFD7A0\", align: \"center\", animate: [motion.popIn(0.7), motion.float(2.2, 12)]",
113
+ "mp4Url": "https://assets-public.scenerok.com/catalog/text-styles__motion-pop-float.mp4",
114
+ "posterUrl": "https://assets-public.scenerok.com/catalog/posters/text-styles__motion-pop-float.jpg"
115
+ }
116
+ ]
117
+ },
118
+ {
119
+ "id": "typewriter",
120
+ "title": "Typewriter reveal",
121
+ "description": "motion.typewriter() reveals characters one at a time.",
122
+ "examples": [
123
+ {
124
+ "id": "text-styles:typewriter-slow",
125
+ "title": "Slow sans",
126
+ "description": "Inter, white, longer typewriter duration.",
127
+ "durationSeconds": 3,
128
+ "vidscript": "import motion from \"@scenerok/basic-animations\"\n\n[0s .. 3s] = text \"Type. Render. Ship.\", font: \"Inter\", size: 72, color: \"#FFFFFF\", align: \"center\", animate: [motion.typewriter(1.8), motion.fadeOut(0.4)]",
129
+ "mp4Url": "https://assets-public.scenerok.com/catalog/text-styles__typewriter-slow.mp4",
130
+ "posterUrl": "https://assets-public.scenerok.com/catalog/posters/text-styles__typewriter-slow.jpg"
131
+ },
132
+ {
133
+ "id": "text-styles:typewriter",
134
+ "title": "Mono terminal",
135
+ "description": "JetBrains Mono, mint green on black.",
136
+ "durationSeconds": 3,
137
+ "vidscript": "import motion from \"@scenerok/basic-animations\"\n\n[0s .. 3s] = text \"build videos from text.\", font: \"JetBrains Mono\", size: 58, color: \"#7CFAC7\", align: \"center\", animate: [motion.typewriter(1.6), motion.fadeOut(0.3)]",
138
+ "mp4Url": "https://assets-public.scenerok.com/catalog/text-styles__typewriter.mp4",
139
+ "posterUrl": "https://assets-public.scenerok.com/catalog/posters/text-styles__typewriter.jpg"
140
+ }
141
+ ]
142
+ }
143
+ ]
144
+ },
145
+ {
146
+ "id": "animations",
147
+ "title": "Animation Blocks",
148
+ "description": "All @scenerok/animations compositions — code, lower thirds, maps, social UI, and more.",
149
+ "items": [
150
+ {
151
+ "id": "app-showcase",
152
+ "title": "App Showcase",
153
+ "description": "@scenerok/animations.app_showcase() — app-showcase composition.",
154
+ "examples": [
155
+ {
156
+ "id": "animations:app_showcase",
157
+ "title": "Default",
158
+ "description": "3s sample at 720×1280.",
159
+ "durationSeconds": 3,
160
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.app_showcase(\"Sample\")",
161
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__app_showcase.mp4",
162
+ "posterUrl": null
163
+ }
164
+ ]
165
+ },
166
+ {
167
+ "id": "apple-money-count",
168
+ "title": "Apple Money Count",
169
+ "description": "@scenerok/animations.apple_money_count() — apple-money-count composition.",
170
+ "examples": [
171
+ {
172
+ "id": "animations:apple_money_count",
173
+ "title": "Default",
174
+ "description": "3s sample at 720×1280.",
175
+ "durationSeconds": 3,
176
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.apple_money_count(\"Sample\")",
177
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__apple_money_count.mp4",
178
+ "posterUrl": null
179
+ }
180
+ ]
181
+ },
182
+ {
183
+ "id": "blend-caption",
184
+ "title": "Blend Caption",
185
+ "description": "@scenerok/animations.blend_caption() — blend-caption composition.",
186
+ "examples": [
187
+ {
188
+ "id": "animations:blend_caption",
189
+ "title": "Default",
190
+ "description": "3s sample at 720×1280.",
191
+ "durationSeconds": 3,
192
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.blend_caption(\"HYPERFRAMES\")",
193
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__blend_caption.mp4",
194
+ "posterUrl": null
195
+ }
196
+ ]
197
+ },
198
+ {
199
+ "id": "blue-sweater-intro-video",
200
+ "title": "Blue Sweater Intro Video",
201
+ "description": "@scenerok/animations.blue_sweater_intro_video() — blue-sweater-intro-video composition.",
202
+ "examples": [
203
+ {
204
+ "id": "animations:blue_sweater_intro_video",
205
+ "title": "Default",
206
+ "description": "3s sample at 720×1280.",
207
+ "durationSeconds": 3,
208
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.blue_sweater_intro_video(\"Sample\")",
209
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__blue_sweater_intro_video.mp4",
210
+ "posterUrl": null
211
+ }
212
+ ]
213
+ },
214
+ {
215
+ "id": "code-3d-extrude",
216
+ "title": "Code 3d Extrude",
217
+ "description": "@scenerok/animations.code_3d_extrude() — code-3d-extrude composition.",
218
+ "examples": [
219
+ {
220
+ "id": "animations:code_3d_extrude",
221
+ "title": "Default",
222
+ "description": "3s sample at 720×1280.",
223
+ "durationSeconds": 3,
224
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_3d_extrude(\"[0s .. 3s] = video xai.imagine('let there be light');\")",
225
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_3d_extrude.mp4?v=1fb913bd",
226
+ "posterUrl": "https://assets-public.scenerok.com/catalog/posters/animations__code_3d_extrude.jpg?v=52e23127"
227
+ }
228
+ ]
229
+ },
230
+ {
231
+ "id": "code-diff",
232
+ "title": "Code Diff",
233
+ "description": "@scenerok/animations.code_diff() — code-diff composition.",
234
+ "examples": [
235
+ {
236
+ "id": "animations:code_diff",
237
+ "title": "Default",
238
+ "description": "3s sample at 720×1280.",
239
+ "durationSeconds": 3,
240
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_diff(\"let x = 1\", \"let x = 2\")",
241
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_diff.mp4",
242
+ "posterUrl": null
243
+ }
244
+ ]
245
+ },
246
+ {
247
+ "id": "code-highlight",
248
+ "title": "Code Highlight",
249
+ "description": "@scenerok/animations.code_highlight() — code-highlight composition.",
250
+ "examples": [
251
+ {
252
+ "id": "animations:code_highlight",
253
+ "title": "Default",
254
+ "description": "3s sample at 720×1280.",
255
+ "durationSeconds": 3,
256
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_highlight(\"const app = 'scenerok'\")",
257
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_highlight.mp4",
258
+ "posterUrl": null
259
+ }
260
+ ]
261
+ },
262
+ {
263
+ "id": "code-morph",
264
+ "title": "Code Morph",
265
+ "description": "@scenerok/animations.code_morph() — code-morph composition.",
266
+ "examples": [
267
+ {
268
+ "id": "animations:code_morph",
269
+ "title": "Default",
270
+ "description": "3s sample at 720×1280.",
271
+ "durationSeconds": 3,
272
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_morph(\"let x = 1\", \"let x = 2\")",
273
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_morph.mp4",
274
+ "posterUrl": null
275
+ }
276
+ ]
277
+ },
278
+ {
279
+ "id": "code-particle-assemble",
280
+ "title": "Code Particle Assemble",
281
+ "description": "@scenerok/animations.code_particle_assemble() — code-particle-assemble composition.",
282
+ "examples": [
283
+ {
284
+ "id": "animations:code_particle_assemble",
285
+ "title": "Default",
286
+ "description": "3s sample at 720×1280.",
287
+ "durationSeconds": 3,
288
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_particle_assemble(\"[0s .. 3s] = video xai.imagine('let there be light')\")",
289
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_particle_assemble.mp4?v=f76081fa",
290
+ "posterUrl": "https://assets-public.scenerok.com/catalog/posters/animations__code_particle_assemble.jpg?v=882b1fd3"
291
+ }
292
+ ]
293
+ },
294
+ {
295
+ "id": "code-scroll",
296
+ "title": "Code Scroll",
297
+ "description": "@scenerok/animations.code_scroll() — code-scroll composition.",
298
+ "examples": [
299
+ {
300
+ "id": "animations:code_scroll",
301
+ "title": "Default",
302
+ "description": "3s sample at 720×1280.",
303
+ "durationSeconds": 3,
304
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_scroll(\"const app = 'scenerok'\")",
305
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_scroll.mp4",
306
+ "posterUrl": null
307
+ }
308
+ ]
309
+ },
310
+ {
311
+ "id": "code-shader-dissolve",
312
+ "title": "Code Shader Dissolve",
313
+ "description": "@scenerok/animations.code_shader_dissolve() — code-shader-dissolve composition.",
314
+ "examples": [
315
+ {
316
+ "id": "animations:code_shader_dissolve",
317
+ "title": "Default",
318
+ "description": "3s sample at 720×1280.",
319
+ "durationSeconds": 3,
320
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_shader_dissolve(\"const app = 'scenerok'\")",
321
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_shader_dissolve.mp4",
322
+ "posterUrl": null
323
+ }
324
+ ]
325
+ },
326
+ {
327
+ "id": "code-snippet-apple-terminal-basic",
328
+ "title": "Code Snippet Apple Terminal Basic",
329
+ "description": "@scenerok/animations.code_snippet_apple_terminal_basic() — code-snippet-apple-terminal-basic composition.",
330
+ "examples": [
331
+ {
332
+ "id": "animations:code_snippet_apple_terminal_basic",
333
+ "title": "Default",
334
+ "description": "3s sample at 720×1280.",
335
+ "durationSeconds": 3,
336
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_apple_terminal_basic(\"npm run build\")",
337
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_basic.mp4",
338
+ "posterUrl": null
339
+ }
340
+ ]
341
+ },
342
+ {
343
+ "id": "code-snippet-apple-terminal-clear-dark",
344
+ "title": "Code Snippet Apple Terminal Clear Dark",
345
+ "description": "@scenerok/animations.code_snippet_apple_terminal_clear_dark() — code-snippet-apple-terminal-clear-dark composition.",
346
+ "examples": [
347
+ {
348
+ "id": "animations:code_snippet_apple_terminal_clear_dark",
349
+ "title": "Default",
350
+ "description": "3s sample at 720×1280.",
351
+ "durationSeconds": 3,
352
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_apple_terminal_clear_dark(\"npm run build\")",
353
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_clear_dark.mp4",
354
+ "posterUrl": null
355
+ }
356
+ ]
357
+ },
358
+ {
359
+ "id": "code-snippet-apple-terminal-clear-light",
360
+ "title": "Code Snippet Apple Terminal Clear Light",
361
+ "description": "@scenerok/animations.code_snippet_apple_terminal_clear_light() — code-snippet-apple-terminal-clear-light composition.",
362
+ "examples": [
363
+ {
364
+ "id": "animations:code_snippet_apple_terminal_clear_light",
365
+ "title": "Default",
366
+ "description": "3s sample at 720×1280.",
367
+ "durationSeconds": 3,
368
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_apple_terminal_clear_light(\"npm run build\")",
369
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_clear_light.mp4",
370
+ "posterUrl": null
371
+ }
372
+ ]
373
+ },
374
+ {
375
+ "id": "code-snippet-apple-terminal-grass",
376
+ "title": "Code Snippet Apple Terminal Grass",
377
+ "description": "@scenerok/animations.code_snippet_apple_terminal_grass() — code-snippet-apple-terminal-grass composition.",
378
+ "examples": [
379
+ {
380
+ "id": "animations:code_snippet_apple_terminal_grass",
381
+ "title": "Default",
382
+ "description": "3s sample at 720×1280.",
383
+ "durationSeconds": 3,
384
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_apple_terminal_grass(\"npm run build\")",
385
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_grass.mp4",
386
+ "posterUrl": null
387
+ }
388
+ ]
389
+ },
390
+ {
391
+ "id": "code-snippet-apple-terminal-homebrew",
392
+ "title": "Code Snippet Apple Terminal Homebrew",
393
+ "description": "@scenerok/animations.code_snippet_apple_terminal_homebrew() — code-snippet-apple-terminal-homebrew composition.",
394
+ "examples": [
395
+ {
396
+ "id": "animations:code_snippet_apple_terminal_homebrew",
397
+ "title": "Default",
398
+ "description": "3s sample at 720×1280.",
399
+ "durationSeconds": 3,
400
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_apple_terminal_homebrew(\"npm run build\")",
401
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_homebrew.mp4",
402
+ "posterUrl": null
403
+ }
404
+ ]
405
+ },
406
+ {
407
+ "id": "code-snippet-apple-terminal-man-page",
408
+ "title": "Code Snippet Apple Terminal Man Page",
409
+ "description": "@scenerok/animations.code_snippet_apple_terminal_man_page() — code-snippet-apple-terminal-man-page composition.",
410
+ "examples": [
411
+ {
412
+ "id": "animations:code_snippet_apple_terminal_man_page",
413
+ "title": "Default",
414
+ "description": "3s sample at 720×1280.",
415
+ "durationSeconds": 3,
416
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_apple_terminal_man_page(\"npm run build\")",
417
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_man_page.mp4",
418
+ "posterUrl": null
419
+ }
420
+ ]
421
+ },
422
+ {
423
+ "id": "code-snippet-apple-terminal-novel",
424
+ "title": "Code Snippet Apple Terminal Novel",
425
+ "description": "@scenerok/animations.code_snippet_apple_terminal_novel() — code-snippet-apple-terminal-novel composition.",
426
+ "examples": [
427
+ {
428
+ "id": "animations:code_snippet_apple_terminal_novel",
429
+ "title": "Default",
430
+ "description": "3s sample at 720×1280.",
431
+ "durationSeconds": 3,
432
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_apple_terminal_novel(\"npm run build\")",
433
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_novel.mp4",
434
+ "posterUrl": null
435
+ }
436
+ ]
437
+ },
438
+ {
439
+ "id": "code-snippet-apple-terminal-ocean",
440
+ "title": "Code Snippet Apple Terminal Ocean",
441
+ "description": "@scenerok/animations.code_snippet_apple_terminal_ocean() — code-snippet-apple-terminal-ocean composition.",
442
+ "examples": [
443
+ {
444
+ "id": "animations:code_snippet_apple_terminal_ocean",
445
+ "title": "Default",
446
+ "description": "3s sample at 720×1280.",
447
+ "durationSeconds": 3,
448
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_apple_terminal_ocean(\"npm run build\")",
449
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_ocean.mp4",
450
+ "posterUrl": null
451
+ }
452
+ ]
453
+ },
454
+ {
455
+ "id": "code-snippet-apple-terminal-pro",
456
+ "title": "Code Snippet Apple Terminal Pro",
457
+ "description": "@scenerok/animations.code_snippet_apple_terminal_pro() — code-snippet-apple-terminal-pro composition.",
458
+ "examples": [
459
+ {
460
+ "id": "animations:code_snippet_apple_terminal_pro",
461
+ "title": "Default",
462
+ "description": "3s sample at 720×1280.",
463
+ "durationSeconds": 3,
464
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_apple_terminal_pro(\"npm run build\")",
465
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_pro.mp4",
466
+ "posterUrl": null
467
+ }
468
+ ]
469
+ },
470
+ {
471
+ "id": "code-snippet-apple-terminal-red-sands",
472
+ "title": "Code Snippet Apple Terminal Red Sands",
473
+ "description": "@scenerok/animations.code_snippet_apple_terminal_red_sands() — code-snippet-apple-terminal-red-sands composition.",
474
+ "examples": [
475
+ {
476
+ "id": "animations:code_snippet_apple_terminal_red_sands",
477
+ "title": "Default",
478
+ "description": "3s sample at 720×1280.",
479
+ "durationSeconds": 3,
480
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_apple_terminal_red_sands(\"npm run build\")",
481
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_red_sands.mp4",
482
+ "posterUrl": null
483
+ }
484
+ ]
485
+ },
486
+ {
487
+ "id": "code-snippet-apple-terminal-silver-aerogel",
488
+ "title": "Code Snippet Apple Terminal Silver Aerogel",
489
+ "description": "@scenerok/animations.code_snippet_apple_terminal_silver_aerogel() — code-snippet-apple-terminal-silver-aerogel composition.",
490
+ "examples": [
491
+ {
492
+ "id": "animations:code_snippet_apple_terminal_silver_aerogel",
493
+ "title": "Default",
494
+ "description": "3s sample at 720×1280.",
495
+ "durationSeconds": 3,
496
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_apple_terminal_silver_aerogel(\"npm run build\")",
497
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_silver_aerogel.mp4",
498
+ "posterUrl": null
499
+ }
500
+ ]
501
+ },
502
+ {
503
+ "id": "code-snippet-apple-terminal-solid-colors",
504
+ "title": "Code Snippet Apple Terminal Solid Colors",
505
+ "description": "@scenerok/animations.code_snippet_apple_terminal_solid_colors() — code-snippet-apple-terminal-solid-colors composition.",
506
+ "examples": [
507
+ {
508
+ "id": "animations:code_snippet_apple_terminal_solid_colors",
509
+ "title": "Default",
510
+ "description": "3s sample at 720×1280.",
511
+ "durationSeconds": 3,
512
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_apple_terminal_solid_colors(\"npm run build\")",
513
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_solid_colors.mp4",
514
+ "posterUrl": null
515
+ }
516
+ ]
517
+ },
518
+ {
519
+ "id": "code-snippet-dark-2026",
520
+ "title": "Code Snippet Dark 2026",
521
+ "description": "@scenerok/animations.code_snippet_dark_2026() — code-snippet-dark-2026 composition.",
522
+ "examples": [
523
+ {
524
+ "id": "animations:code_snippet_dark_2026",
525
+ "title": "Default",
526
+ "description": "3s sample at 720×1280.",
527
+ "durationSeconds": 3,
528
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_dark_2026()",
529
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_dark_2026.mp4",
530
+ "posterUrl": null
531
+ }
532
+ ]
533
+ },
534
+ {
535
+ "id": "code-snippet-dark-modern",
536
+ "title": "Code Snippet Dark Modern",
537
+ "description": "@scenerok/animations.code_snippet_dark_modern() — code-snippet-dark-modern composition.",
538
+ "examples": [
539
+ {
540
+ "id": "animations:code_snippet_dark_modern",
541
+ "title": "Default",
542
+ "description": "3s sample at 720×1280.",
543
+ "durationSeconds": 3,
544
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_dark_modern()",
545
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_dark_modern.mp4",
546
+ "posterUrl": null
547
+ }
548
+ ]
549
+ },
550
+ {
551
+ "id": "code-snippet-dark-plus",
552
+ "title": "Code Snippet Dark Plus",
553
+ "description": "@scenerok/animations.code_snippet_dark_plus() — code-snippet-dark-plus composition.",
554
+ "examples": [
555
+ {
556
+ "id": "animations:code_snippet_dark_plus",
557
+ "title": "Default",
558
+ "description": "3s sample at 720×1280.",
559
+ "durationSeconds": 3,
560
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_dark_plus()",
561
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_dark_plus.mp4",
562
+ "posterUrl": null
563
+ }
564
+ ]
565
+ },
566
+ {
567
+ "id": "code-snippet-flight",
568
+ "title": "Code Snippet Flight",
569
+ "description": "@scenerok/animations.code_snippet_flight() — code-snippet-flight composition.",
570
+ "examples": [
571
+ {
572
+ "id": "animations:code_snippet_flight",
573
+ "title": "Default",
574
+ "description": "3s sample at 720×1280.",
575
+ "durationSeconds": 3,
576
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_flight(\"const app = 'scenerok'\")",
577
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_flight.mp4",
578
+ "posterUrl": null
579
+ }
580
+ ]
581
+ },
582
+ {
583
+ "id": "code-snippet-high-contrast",
584
+ "title": "Code Snippet High Contrast",
585
+ "description": "@scenerok/animations.code_snippet_high_contrast() — code-snippet-high-contrast composition.",
586
+ "examples": [
587
+ {
588
+ "id": "animations:code_snippet_high_contrast",
589
+ "title": "Default",
590
+ "description": "3s sample at 720×1280.",
591
+ "durationSeconds": 3,
592
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_high_contrast()",
593
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_high_contrast.mp4",
594
+ "posterUrl": null
595
+ }
596
+ ]
597
+ },
598
+ {
599
+ "id": "code-snippet-high-contrast-light",
600
+ "title": "Code Snippet High Contrast Light",
601
+ "description": "@scenerok/animations.code_snippet_high_contrast_light() — code-snippet-high-contrast-light composition.",
602
+ "examples": [
603
+ {
604
+ "id": "animations:code_snippet_high_contrast_light",
605
+ "title": "Default",
606
+ "description": "3s sample at 720×1280.",
607
+ "durationSeconds": 3,
608
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_high_contrast_light()",
609
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_high_contrast_light.mp4",
610
+ "posterUrl": null
611
+ }
612
+ ]
613
+ },
614
+ {
615
+ "id": "code-snippet-light-2026",
616
+ "title": "Code Snippet Light 2026",
617
+ "description": "@scenerok/animations.code_snippet_light_2026() — code-snippet-light-2026 composition.",
618
+ "examples": [
619
+ {
620
+ "id": "animations:code_snippet_light_2026",
621
+ "title": "Default",
622
+ "description": "3s sample at 720×1280.",
623
+ "durationSeconds": 3,
624
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_light_2026()",
625
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_light_2026.mp4",
626
+ "posterUrl": null
627
+ }
628
+ ]
629
+ },
630
+ {
631
+ "id": "code-snippet-light-modern",
632
+ "title": "Code Snippet Light Modern",
633
+ "description": "@scenerok/animations.code_snippet_light_modern() — code-snippet-light-modern composition.",
634
+ "examples": [
635
+ {
636
+ "id": "animations:code_snippet_light_modern",
637
+ "title": "Default",
638
+ "description": "3s sample at 720×1280.",
639
+ "durationSeconds": 3,
640
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_light_modern()",
641
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_light_modern.mp4",
642
+ "posterUrl": null
643
+ }
644
+ ]
645
+ },
646
+ {
647
+ "id": "code-snippet-light-plus",
648
+ "title": "Code Snippet Light Plus",
649
+ "description": "@scenerok/animations.code_snippet_light_plus() — code-snippet-light-plus composition.",
650
+ "examples": [
651
+ {
652
+ "id": "animations:code_snippet_light_plus",
653
+ "title": "Default",
654
+ "description": "3s sample at 720×1280.",
655
+ "durationSeconds": 3,
656
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_light_plus()",
657
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_light_plus.mp4",
658
+ "posterUrl": null
659
+ }
660
+ ]
661
+ },
662
+ {
663
+ "id": "code-snippet-monokai",
664
+ "title": "Code Snippet Monokai",
665
+ "description": "@scenerok/animations.code_snippet_monokai() — code-snippet-monokai composition.",
666
+ "examples": [
667
+ {
668
+ "id": "animations:code_snippet_monokai",
669
+ "title": "Default",
670
+ "description": "3s sample at 720×1280.",
671
+ "durationSeconds": 3,
672
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_monokai()",
673
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_monokai.mp4",
674
+ "posterUrl": null
675
+ }
676
+ ]
677
+ },
678
+ {
679
+ "id": "code-snippet-solarized-light",
680
+ "title": "Code Snippet Solarized Light",
681
+ "description": "@scenerok/animations.code_snippet_solarized_light() — code-snippet-solarized-light composition.",
682
+ "examples": [
683
+ {
684
+ "id": "animations:code_snippet_solarized_light",
685
+ "title": "Default",
686
+ "description": "3s sample at 720×1280.",
687
+ "durationSeconds": 3,
688
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_solarized_light()",
689
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_snippet_solarized_light.mp4",
690
+ "posterUrl": null
691
+ }
692
+ ]
693
+ },
694
+ {
695
+ "id": "code-snippet-visual-studio-dark",
696
+ "title": "Code Snippet Visual Studio Dark",
697
+ "description": "@scenerok/animations.code_snippet_visual_studio_dark() — code-snippet-visual-studio-dark composition.",
698
+ "examples": [
699
+ {
700
+ "id": "animations:code_snippet_visual_studio_dark",
701
+ "title": "Default",
702
+ "description": "3s sample at 720×1280.",
703
+ "durationSeconds": 3,
704
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_visual_studio_dark()",
705
+ "mp4Url": null,
706
+ "posterUrl": null
707
+ }
708
+ ]
709
+ },
710
+ {
711
+ "id": "code-snippet-visual-studio-light",
712
+ "title": "Code Snippet Visual Studio Light",
713
+ "description": "@scenerok/animations.code_snippet_visual_studio_light() — code-snippet-visual-studio-light composition.",
714
+ "examples": [
715
+ {
716
+ "id": "animations:code_snippet_visual_studio_light",
717
+ "title": "Default",
718
+ "description": "3s sample at 720×1280.",
719
+ "durationSeconds": 3,
720
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_snippet_visual_studio_light()",
721
+ "mp4Url": null,
722
+ "posterUrl": null
723
+ }
724
+ ]
725
+ },
726
+ {
727
+ "id": "code-typing",
728
+ "title": "Code Typing",
729
+ "description": "@scenerok/animations.code_typing() — code-typing composition.",
730
+ "examples": [
731
+ {
732
+ "id": "animations:code_typing",
733
+ "title": "Default",
734
+ "description": "3s sample at 720×1280.",
735
+ "durationSeconds": 3,
736
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.code_typing(\"const app = 'scenerok'\")",
737
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__code_typing.mp4",
738
+ "posterUrl": null
739
+ }
740
+ ]
741
+ },
742
+ {
743
+ "id": "instagram-follow",
744
+ "title": "Instagram Follow",
745
+ "description": "@scenerok/animations.instagram_follow() — instagram-follow composition.",
746
+ "examples": [
747
+ {
748
+ "id": "animations:instagram_follow",
749
+ "title": "Default",
750
+ "description": "3s sample at 720×1280.",
751
+ "durationSeconds": 3,
752
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.instagram_follow(\"SceneRok\", \"@scenerok\")",
753
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__instagram_follow.mp4",
754
+ "posterUrl": null
755
+ }
756
+ ]
757
+ },
758
+ {
759
+ "id": "ios26-liquid-glass",
760
+ "title": "Ios26 Liquid Glass",
761
+ "description": "@scenerok/animations.ios26_liquid_glass() — ios26-liquid-glass composition.",
762
+ "examples": [
763
+ {
764
+ "id": "animations:ios26_liquid_glass",
765
+ "title": "Default",
766
+ "description": "3s sample at 720×1280.",
767
+ "durationSeconds": 3,
768
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.ios26_liquid_glass()",
769
+ "mp4Url": null,
770
+ "posterUrl": null
771
+ }
772
+ ]
773
+ },
774
+ {
775
+ "id": "liquid-glass-context-menu",
776
+ "title": "Liquid Glass Context Menu",
777
+ "description": "@scenerok/animations.liquid_glass_context_menu() — liquid-glass-context-menu composition.",
778
+ "examples": [
779
+ {
780
+ "id": "animations:liquid_glass_context_menu",
781
+ "title": "Default",
782
+ "description": "3s sample at 720×1280.",
783
+ "durationSeconds": 3,
784
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.liquid_glass_context_menu(\"Sample\")",
785
+ "mp4Url": null,
786
+ "posterUrl": null
787
+ }
788
+ ]
789
+ },
790
+ {
791
+ "id": "liquid-glass-media-controls",
792
+ "title": "Liquid Glass Media Controls",
793
+ "description": "@scenerok/animations.liquid_glass_media_controls() — liquid-glass-media-controls composition.",
794
+ "examples": [
795
+ {
796
+ "id": "animations:liquid_glass_media_controls",
797
+ "title": "Default",
798
+ "description": "3s sample at 720×1280.",
799
+ "durationSeconds": 3,
800
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.liquid_glass_media_controls(\"Sample\")",
801
+ "mp4Url": null,
802
+ "posterUrl": null
803
+ }
804
+ ]
805
+ },
806
+ {
807
+ "id": "liquid-glass-notification",
808
+ "title": "Liquid Glass Notification",
809
+ "description": "@scenerok/animations.liquid_glass_notification() — liquid-glass-notification composition.",
810
+ "examples": [
811
+ {
812
+ "id": "animations:liquid_glass_notification",
813
+ "title": "Default",
814
+ "description": "3s sample at 720×1280.",
815
+ "durationSeconds": 3,
816
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.liquid_glass_notification(\"Jane Doe\")",
817
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__liquid_glass_notification.mp4",
818
+ "posterUrl": null
819
+ }
820
+ ]
821
+ },
822
+ {
823
+ "id": "liquid-glass-widgets",
824
+ "title": "Liquid Glass Widgets",
825
+ "description": "@scenerok/animations.liquid_glass_widgets() — liquid-glass-widgets composition.",
826
+ "examples": [
827
+ {
828
+ "id": "animations:liquid_glass_widgets",
829
+ "title": "Default",
830
+ "description": "3s sample at 720×1280.",
831
+ "durationSeconds": 3,
832
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.liquid_glass_widgets(\"Sample\")",
833
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__liquid_glass_widgets.mp4",
834
+ "posterUrl": null
835
+ }
836
+ ]
837
+ },
838
+ {
839
+ "id": "logo-outro",
840
+ "title": "Logo Outro",
841
+ "description": "@scenerok/animations.logo_outro() — logo-outro composition.",
842
+ "examples": [
843
+ {
844
+ "id": "animations:logo_outro",
845
+ "title": "Default",
846
+ "description": "3s sample at 720×1280.",
847
+ "durationSeconds": 3,
848
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.logo_outro(\"Make videos from text.\")",
849
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__logo_outro.mp4",
850
+ "posterUrl": null
851
+ }
852
+ ]
853
+ },
854
+ {
855
+ "id": "lower-third",
856
+ "title": "Lower Third",
857
+ "description": "@scenerok/animations.lower_third() — lower-third composition.",
858
+ "examples": [
859
+ {
860
+ "id": "animations:lower_third",
861
+ "title": "Default",
862
+ "description": "3s sample at 720×1280.",
863
+ "durationSeconds": 3,
864
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.lower_third(\"Jane Doe\", \"Engineer\")",
865
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__lower_third.mp4",
866
+ "posterUrl": null
867
+ }
868
+ ]
869
+ },
870
+ {
871
+ "id": "lower-third-bild",
872
+ "title": "Lower Third Bild",
873
+ "description": "@scenerok/animations.lower_third_bild() — lower-third-bild composition.",
874
+ "examples": [
875
+ {
876
+ "id": "animations:lower_third_bild",
877
+ "title": "Default",
878
+ "description": "3s sample at 720×1280.",
879
+ "durationSeconds": 3,
880
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.lower_third_bild(\"Jane Doe\", \"Engineer\")",
881
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__lower_third_bild.mp4",
882
+ "posterUrl": null
883
+ }
884
+ ]
885
+ },
886
+ {
887
+ "id": "lt-accent-underline",
888
+ "title": "Lt Accent Underline",
889
+ "description": "@scenerok/animations.lt_accent_underline() — lt-accent-underline composition.",
890
+ "examples": [
891
+ {
892
+ "id": "animations:lt_accent_underline",
893
+ "title": "Default",
894
+ "description": "3s sample at 720×1280.",
895
+ "durationSeconds": 3,
896
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.lt_accent_underline(\"Jane Doe\", \"Engineer\")",
897
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__lt_accent_underline.mp4",
898
+ "posterUrl": null
899
+ }
900
+ ]
901
+ },
902
+ {
903
+ "id": "lt-bold-block",
904
+ "title": "Lt Bold Block",
905
+ "description": "@scenerok/animations.lt_bold_block() — lt-bold-block composition.",
906
+ "examples": [
907
+ {
908
+ "id": "animations:lt_bold_block",
909
+ "title": "Default",
910
+ "description": "3s sample at 720×1280.",
911
+ "durationSeconds": 3,
912
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.lt_bold_block(\"Jane Doe\", \"Engineer\")",
913
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__lt_bold_block.mp4",
914
+ "posterUrl": null
915
+ }
916
+ ]
917
+ },
918
+ {
919
+ "id": "lt-clean-bar",
920
+ "title": "Lt Clean Bar",
921
+ "description": "@scenerok/animations.lt_clean_bar() — lt-clean-bar composition.",
922
+ "examples": [
923
+ {
924
+ "id": "animations:lt_clean_bar",
925
+ "title": "Default",
926
+ "description": "3s sample at 720×1280.",
927
+ "durationSeconds": 3,
928
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.lt_clean_bar(\"Jane Doe\", \"Engineer\")",
929
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__lt_clean_bar.mp4",
930
+ "posterUrl": null
931
+ }
932
+ ]
933
+ },
934
+ {
935
+ "id": "lt-color-block",
936
+ "title": "Lt Color Block",
937
+ "description": "@scenerok/animations.lt_color_block() — lt-color-block composition.",
938
+ "examples": [
939
+ {
940
+ "id": "animations:lt_color_block",
941
+ "title": "Default",
942
+ "description": "3s sample at 720×1280.",
943
+ "durationSeconds": 3,
944
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.lt_color_block(\"Jane Doe\", \"Engineer\")",
945
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__lt_color_block.mp4",
946
+ "posterUrl": null
947
+ }
948
+ ]
949
+ },
950
+ {
951
+ "id": "lt-dark-card",
952
+ "title": "Lt Dark Card",
953
+ "description": "@scenerok/animations.lt_dark_card() — lt-dark-card composition.",
954
+ "examples": [
955
+ {
956
+ "id": "animations:lt_dark_card",
957
+ "title": "Default",
958
+ "description": "3s sample at 720×1280.",
959
+ "durationSeconds": 3,
960
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.lt_dark_card(\"Jane Doe\", \"Engineer\")",
961
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__lt_dark_card.mp4",
962
+ "posterUrl": null
963
+ }
964
+ ]
965
+ },
966
+ {
967
+ "id": "lt-kicker-name",
968
+ "title": "Lt Kicker Name",
969
+ "description": "@scenerok/animations.lt_kicker_name() — lt-kicker-name composition.",
970
+ "examples": [
971
+ {
972
+ "id": "animations:lt_kicker_name",
973
+ "title": "Default",
974
+ "description": "3s sample at 720×1280.",
975
+ "durationSeconds": 3,
976
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.lt_kicker_name(\"Breaking\", \"Jane Doe\")",
977
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__lt_kicker_name.mp4",
978
+ "posterUrl": null
979
+ }
980
+ ]
981
+ },
982
+ {
983
+ "id": "lt-mask-reveal",
984
+ "title": "Lt Mask Reveal",
985
+ "description": "@scenerok/animations.lt_mask_reveal() — lt-mask-reveal composition.",
986
+ "examples": [
987
+ {
988
+ "id": "animations:lt_mask_reveal",
989
+ "title": "Default",
990
+ "description": "3s sample at 720×1280.",
991
+ "durationSeconds": 3,
992
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.lt_mask_reveal(\"Jane Doe\", \"Engineer\")",
993
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__lt_mask_reveal.mp4",
994
+ "posterUrl": null
995
+ }
996
+ ]
997
+ },
998
+ {
999
+ "id": "lt-side-rule",
1000
+ "title": "Lt Side Rule",
1001
+ "description": "@scenerok/animations.lt_side_rule() — lt-side-rule composition.",
1002
+ "examples": [
1003
+ {
1004
+ "id": "animations:lt_side_rule",
1005
+ "title": "Default",
1006
+ "description": "3s sample at 720×1280.",
1007
+ "durationSeconds": 3,
1008
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.lt_side_rule(\"Jane Doe\", \"Engineer\")",
1009
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__lt_side_rule.mp4",
1010
+ "posterUrl": null
1011
+ }
1012
+ ]
1013
+ },
1014
+ {
1015
+ "id": "lt-soft-pill",
1016
+ "title": "Lt Soft Pill",
1017
+ "description": "@scenerok/animations.lt_soft_pill() — lt-soft-pill composition.",
1018
+ "examples": [
1019
+ {
1020
+ "id": "animations:lt_soft_pill",
1021
+ "title": "Default",
1022
+ "description": "3s sample at 720×1280.",
1023
+ "durationSeconds": 3,
1024
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.lt_soft_pill(\"Jane Doe\", \"Engineer\")",
1025
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__lt_soft_pill.mp4",
1026
+ "posterUrl": null
1027
+ }
1028
+ ]
1029
+ },
1030
+ {
1031
+ "id": "lt-stack-bars",
1032
+ "title": "Lt Stack Bars",
1033
+ "description": "@scenerok/animations.lt_stack_bars() — lt-stack-bars composition.",
1034
+ "examples": [
1035
+ {
1036
+ "id": "animations:lt_stack_bars",
1037
+ "title": "Default",
1038
+ "description": "3s sample at 720×1280.",
1039
+ "durationSeconds": 3,
1040
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.lt_stack_bars(\"Jane Doe\", \"Engineer\")",
1041
+ "mp4Url": null,
1042
+ "posterUrl": null
1043
+ }
1044
+ ]
1045
+ },
1046
+ {
1047
+ "id": "macos-notification",
1048
+ "title": "Macos Notification",
1049
+ "description": "@scenerok/animations.macos_notification() — macos-notification composition.",
1050
+ "examples": [
1051
+ {
1052
+ "id": "animations:macos_notification",
1053
+ "title": "Default",
1054
+ "description": "3s sample at 720×1280.",
1055
+ "durationSeconds": 3,
1056
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.macos_notification(\"SceneRok\", \"Jane Doe\", body: \"Shipped the catalog.\")",
1057
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__macos_notification.mp4",
1058
+ "posterUrl": null
1059
+ }
1060
+ ]
1061
+ },
1062
+ {
1063
+ "id": "macos-tahoe-liquid-glass",
1064
+ "title": "Macos Tahoe Liquid Glass",
1065
+ "description": "@scenerok/animations.macos_tahoe_liquid_glass() — macos-tahoe-liquid-glass composition.",
1066
+ "examples": [
1067
+ {
1068
+ "id": "animations:macos_tahoe_liquid_glass",
1069
+ "title": "Default",
1070
+ "description": "3s sample at 720×1280.",
1071
+ "durationSeconds": 3,
1072
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.macos_tahoe_liquid_glass(\"Sample\")",
1073
+ "mp4Url": null,
1074
+ "posterUrl": null
1075
+ }
1076
+ ]
1077
+ },
1078
+ {
1079
+ "id": "news-ticker",
1080
+ "title": "News Ticker",
1081
+ "description": "@scenerok/animations.news_ticker() — news-ticker composition.",
1082
+ "examples": [
1083
+ {
1084
+ "id": "animations:news_ticker",
1085
+ "title": "Default",
1086
+ "description": "3s sample at 720×1280.",
1087
+ "durationSeconds": 3,
1088
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.news_ticker(\"Tech Desk\", time: \"15:30 UTC\", headline: \"SceneRok ships\", headlineAccent: \"catalog live\", ticker: \"Copy any snippet to the editor\")",
1089
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__news_ticker.mp4",
1090
+ "posterUrl": null
1091
+ }
1092
+ ]
1093
+ },
1094
+ {
1095
+ "id": "reddit-post",
1096
+ "title": "Reddit Post",
1097
+ "description": "@scenerok/animations.reddit_post() — reddit-post composition.",
1098
+ "examples": [
1099
+ {
1100
+ "id": "animations:reddit_post",
1101
+ "title": "Default",
1102
+ "description": "3s sample at 720×1280.",
1103
+ "durationSeconds": 3,
1104
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.reddit_post(\"scenerok\", \"Jane Doe\")",
1105
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__reddit_post.mp4",
1106
+ "posterUrl": null
1107
+ }
1108
+ ]
1109
+ },
1110
+ {
1111
+ "id": "spotify-card",
1112
+ "title": "Spotify Card",
1113
+ "description": "@scenerok/animations.spotify_card() — spotify-card composition.",
1114
+ "examples": [
1115
+ {
1116
+ "id": "animations:spotify_card",
1117
+ "title": "Default",
1118
+ "description": "3s sample at 720×1280.",
1119
+ "durationSeconds": 3,
1120
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.spotify_card(\"HyperFrames\", \"SceneRok\")",
1121
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__spotify_card.mp4",
1122
+ "posterUrl": null
1123
+ }
1124
+ ]
1125
+ },
1126
+ {
1127
+ "id": "tiktok-follow",
1128
+ "title": "Tiktok Follow",
1129
+ "description": "@scenerok/animations.tiktok_follow() — tiktok-follow composition.",
1130
+ "examples": [
1131
+ {
1132
+ "id": "animations:tiktok_follow",
1133
+ "title": "Default",
1134
+ "description": "3s sample at 720×1280.",
1135
+ "durationSeconds": 3,
1136
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.tiktok_follow(\"SceneRok\", \"@scenerok\")",
1137
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__tiktok_follow.mp4",
1138
+ "posterUrl": null
1139
+ }
1140
+ ]
1141
+ },
1142
+ {
1143
+ "id": "ui-3d-reveal",
1144
+ "title": "Ui 3d Reveal",
1145
+ "description": "@scenerok/animations.ui_3d_reveal() — ui-3d-reveal composition.",
1146
+ "examples": [
1147
+ {
1148
+ "id": "animations:ui_3d_reveal",
1149
+ "title": "Default",
1150
+ "description": "3s sample at 720×1280.",
1151
+ "durationSeconds": 3,
1152
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.ui_3d_reveal(\"Sample\")",
1153
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__ui_3d_reveal.mp4",
1154
+ "posterUrl": null
1155
+ }
1156
+ ]
1157
+ },
1158
+ {
1159
+ "id": "vfx-iphone-device",
1160
+ "title": "Vfx Iphone Device",
1161
+ "description": "@scenerok/animations.vfx_iphone_device() — vfx-iphone-device composition.",
1162
+ "examples": [
1163
+ {
1164
+ "id": "animations:vfx_iphone_device",
1165
+ "title": "Default",
1166
+ "description": "3s sample at 720×1280.",
1167
+ "durationSeconds": 3,
1168
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.vfx_iphone_device(\"Sample\")",
1169
+ "mp4Url": null,
1170
+ "posterUrl": null
1171
+ }
1172
+ ]
1173
+ },
1174
+ {
1175
+ "id": "vpn-youtube-spot",
1176
+ "title": "Vpn Youtube Spot",
1177
+ "description": "@scenerok/animations.vpn_youtube_spot() — vpn-youtube-spot composition.",
1178
+ "examples": [
1179
+ {
1180
+ "id": "animations:vpn_youtube_spot",
1181
+ "title": "Default",
1182
+ "description": "3s sample at 720×1280.",
1183
+ "durationSeconds": 3,
1184
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.vpn_youtube_spot(\"Sample\")",
1185
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__vpn_youtube_spot.mp4",
1186
+ "posterUrl": null
1187
+ }
1188
+ ]
1189
+ },
1190
+ {
1191
+ "id": "x-post",
1192
+ "title": "X Post",
1193
+ "description": "@scenerok/animations.x_post() — x-post composition.",
1194
+ "examples": [
1195
+ {
1196
+ "id": "animations:x_post",
1197
+ "title": "Default",
1198
+ "description": "3s sample at 720×1280.",
1199
+ "durationSeconds": 3,
1200
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.x_post(\"SceneRok\", \"@scenerok\")",
1201
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__x_post.mp4",
1202
+ "posterUrl": null
1203
+ }
1204
+ ]
1205
+ },
1206
+ {
1207
+ "id": "yt-lower-third",
1208
+ "title": "Yt Lower Third",
1209
+ "description": "@scenerok/animations.yt_lower_third() — yt-lower-third composition.",
1210
+ "examples": [
1211
+ {
1212
+ "id": "animations:yt_lower_third",
1213
+ "title": "Default",
1214
+ "description": "3s sample at 720×1280.",
1215
+ "durationSeconds": 3,
1216
+ "vidscript": "import animations from \"@scenerok/animations\"\n\n[0s .. 3s] = animations.yt_lower_third(\"SceneRok\", \"12K\")",
1217
+ "mp4Url": "https://assets-public.scenerok.com/catalog/animations__yt_lower_third.mp4",
1218
+ "posterUrl": null
1219
+ }
1220
+ ]
1221
+ }
1222
+ ]
1223
+ },
1224
+ {
1225
+ "id": "transitions",
1226
+ "title": "Transitions",
1227
+ "description": "All @scenerok/transitions GL blend shaders between prerendered catalog MP4 clips.",
1228
+ "items": [
1229
+ {
1230
+ "id": "blur",
1231
+ "title": "Blur",
1232
+ "description": "tr.blur() — blur GL blend shader.",
1233
+ "examples": [
1234
+ {
1235
+ "id": "transitions:blur",
1236
+ "title": "Default",
1237
+ "description": "0.30000000000000004s transition in a 3s sample.",
1238
+ "durationSeconds": 3,
1239
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__motion-fade.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__hero-headline.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.blur()\n[1.5s .. 3s] = video clipB",
1240
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__blur.mp4",
1241
+ "posterUrl": null
1242
+ }
1243
+ ]
1244
+ },
1245
+ {
1246
+ "id": "burn",
1247
+ "title": "Burn",
1248
+ "description": "tr.burn() — burn GL blend shader.",
1249
+ "examples": [
1250
+ {
1251
+ "id": "transitions:burn",
1252
+ "title": "Default",
1253
+ "description": "0.30000000000000004s transition in a 3s sample.",
1254
+ "durationSeconds": 3,
1255
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/animations__blend-caption.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__motion-pop-float.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.burn()\n[1.5s .. 3s] = video clipB",
1256
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__burn.mp4",
1257
+ "posterUrl": null
1258
+ }
1259
+ ]
1260
+ },
1261
+ {
1262
+ "id": "chromatic-split",
1263
+ "title": "Chromatic Split",
1264
+ "description": "tr.chromatic_split() — chromatic_split GL blend shader.",
1265
+ "examples": [
1266
+ {
1267
+ "id": "transitions:chromatic_split",
1268
+ "title": "Default",
1269
+ "description": "0.30000000000000004s transition in a 3s sample.",
1270
+ "durationSeconds": 3,
1271
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/animations__blend-caption.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__motion-pop-float.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.chromatic_split()\n[1.5s .. 3s] = video clipB",
1272
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__chromatic_split.mp4",
1273
+ "posterUrl": null
1274
+ }
1275
+ ]
1276
+ },
1277
+ {
1278
+ "id": "cinematic-zoom",
1279
+ "title": "Cinematic Zoom",
1280
+ "description": "tr.cinematic_zoom() — cinematic_zoom GL blend shader.",
1281
+ "examples": [
1282
+ {
1283
+ "id": "transitions:cinematic_zoom",
1284
+ "title": "Default",
1285
+ "description": "0.30000000000000004s transition in a 3s sample.",
1286
+ "durationSeconds": 3,
1287
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__motion-pop-float.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__motion-fade.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.cinematic_zoom()\n[1.5s .. 3s] = video clipB",
1288
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__cinematic_zoom.mp4",
1289
+ "posterUrl": null
1290
+ }
1291
+ ]
1292
+ },
1293
+ {
1294
+ "id": "cover",
1295
+ "title": "Cover",
1296
+ "description": "tr.cover() — cover GL blend shader.",
1297
+ "examples": [
1298
+ {
1299
+ "id": "transitions:cover",
1300
+ "title": "Default",
1301
+ "description": "0.30000000000000004s transition in a 3s sample.",
1302
+ "durationSeconds": 3,
1303
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__hero-headline-center.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__typewriter.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.cover(direction: \"up\")\n[1.5s .. 3s] = video clipB",
1304
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__cover.mp4",
1305
+ "posterUrl": null
1306
+ }
1307
+ ]
1308
+ },
1309
+ {
1310
+ "id": "cube",
1311
+ "title": "Cube",
1312
+ "description": "tr.cube() — cube GL blend shader.",
1313
+ "examples": [
1314
+ {
1315
+ "id": "transitions:cube",
1316
+ "title": "Default",
1317
+ "description": "0.30000000000000004s transition in a 3s sample.",
1318
+ "durationSeconds": 3,
1319
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__motion-pop-float.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__motion-fade.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.cube()\n[1.5s .. 3s] = video clipB",
1320
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__cube.mp4",
1321
+ "posterUrl": null
1322
+ }
1323
+ ]
1324
+ },
1325
+ {
1326
+ "id": "destruction",
1327
+ "title": "Destruction",
1328
+ "description": "tr.destruction() — destruction GL blend shader.",
1329
+ "examples": [
1330
+ {
1331
+ "id": "transitions:destruction",
1332
+ "title": "Default",
1333
+ "description": "0.30000000000000004s transition in a 3s sample.",
1334
+ "durationSeconds": 3,
1335
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__hero-headline-center.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__typewriter.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.destruction()\n[1.5s .. 3s] = video clipB",
1336
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__destruction.mp4",
1337
+ "posterUrl": null
1338
+ }
1339
+ ]
1340
+ },
1341
+ {
1342
+ "id": "dissolve",
1343
+ "title": "Dissolve",
1344
+ "description": "tr.dissolve() — dissolve GL blend shader.",
1345
+ "examples": [
1346
+ {
1347
+ "id": "transitions:dissolve",
1348
+ "title": "Default",
1349
+ "description": "0.30000000000000004s transition in a 3s sample.",
1350
+ "durationSeconds": 3,
1351
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__motion-fade.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__hero-headline.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.dissolve()\n[1.5s .. 3s] = video clipB",
1352
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__dissolve.mp4",
1353
+ "posterUrl": "https://assets-public.scenerok.com/catalog/posters/transitions__dissolve.jpg"
1354
+ }
1355
+ ]
1356
+ },
1357
+ {
1358
+ "id": "distortion",
1359
+ "title": "Distortion",
1360
+ "description": "tr.distortion() — distortion GL blend shader.",
1361
+ "examples": [
1362
+ {
1363
+ "id": "transitions:distortion",
1364
+ "title": "Default",
1365
+ "description": "0.30000000000000004s transition in a 3s sample.",
1366
+ "durationSeconds": 3,
1367
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__hero-headline.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__hero-headline-center.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.distortion()\n[1.5s .. 3s] = video clipB",
1368
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__distortion.mp4",
1369
+ "posterUrl": null
1370
+ }
1371
+ ]
1372
+ },
1373
+ {
1374
+ "id": "domain-warp",
1375
+ "title": "Domain Warp",
1376
+ "description": "tr.domain_warp() — domain_warp GL blend shader.",
1377
+ "examples": [
1378
+ {
1379
+ "id": "transitions:domain_warp",
1380
+ "title": "Default",
1381
+ "description": "0.30000000000000004s transition in a 3s sample.",
1382
+ "durationSeconds": 3,
1383
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/animations__code-typing.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/animations__blend-caption.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.domain_warp()\n[1.5s .. 3s] = video clipB",
1384
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__domain_warp.mp4",
1385
+ "posterUrl": null
1386
+ }
1387
+ ]
1388
+ },
1389
+ {
1390
+ "id": "flash",
1391
+ "title": "Flash",
1392
+ "description": "tr.flash() — flash GL blend shader.",
1393
+ "examples": [
1394
+ {
1395
+ "id": "transitions:flash",
1396
+ "title": "Default",
1397
+ "description": "0.30000000000000004s transition in a 3s sample.",
1398
+ "durationSeconds": 3,
1399
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__hero-headline-center.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__typewriter.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.flash()\n[1.5s .. 3s] = video clipB",
1400
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__flash.mp4",
1401
+ "posterUrl": null
1402
+ }
1403
+ ]
1404
+ },
1405
+ {
1406
+ "id": "glitch",
1407
+ "title": "Glitch",
1408
+ "description": "tr.glitch() — glitch GL blend shader.",
1409
+ "examples": [
1410
+ {
1411
+ "id": "transitions:glitch",
1412
+ "title": "Default",
1413
+ "description": "0.30000000000000004s transition in a 3s sample.",
1414
+ "durationSeconds": 3,
1415
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__motion-fade.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__hero-headline.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.glitch()\n[1.5s .. 3s] = video clipB",
1416
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__glitch.mp4",
1417
+ "posterUrl": null
1418
+ }
1419
+ ]
1420
+ },
1421
+ {
1422
+ "id": "grid",
1423
+ "title": "Grid",
1424
+ "description": "tr.grid() — grid GL blend shader.",
1425
+ "examples": [
1426
+ {
1427
+ "id": "transitions:grid",
1428
+ "title": "Default",
1429
+ "description": "0.30000000000000004s transition in a 3s sample.",
1430
+ "durationSeconds": 3,
1431
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/animations__code-typing.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/animations__blend-caption.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.grid()\n[1.5s .. 3s] = video clipB",
1432
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__grid.mp4",
1433
+ "posterUrl": null
1434
+ }
1435
+ ]
1436
+ },
1437
+ {
1438
+ "id": "iris",
1439
+ "title": "Iris",
1440
+ "description": "tr.iris() — iris GL blend shader.",
1441
+ "examples": [
1442
+ {
1443
+ "id": "transitions:iris",
1444
+ "title": "Default",
1445
+ "description": "0.30000000000000004s transition in a 3s sample.",
1446
+ "durationSeconds": 3,
1447
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/animations__code-typing.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/animations__blend-caption.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.iris()\n[1.5s .. 3s] = video clipB",
1448
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__iris.mp4",
1449
+ "posterUrl": null
1450
+ }
1451
+ ]
1452
+ },
1453
+ {
1454
+ "id": "lens",
1455
+ "title": "Lens",
1456
+ "description": "tr.lens() — lens GL blend shader.",
1457
+ "examples": [
1458
+ {
1459
+ "id": "transitions:lens",
1460
+ "title": "Default",
1461
+ "description": "0.30000000000000004s transition in a 3s sample.",
1462
+ "durationSeconds": 3,
1463
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__motion-pop-float.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__motion-fade.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.lens()\n[1.5s .. 3s] = video clipB",
1464
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__lens.mp4",
1465
+ "posterUrl": null
1466
+ }
1467
+ ]
1468
+ },
1469
+ {
1470
+ "id": "light",
1471
+ "title": "Light",
1472
+ "description": "tr.light() — light GL blend shader.",
1473
+ "examples": [
1474
+ {
1475
+ "id": "transitions:light",
1476
+ "title": "Default",
1477
+ "description": "0.30000000000000004s transition in a 3s sample.",
1478
+ "durationSeconds": 3,
1479
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__typewriter.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/animations__code-typing.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.light()\n[1.5s .. 3s] = video clipB",
1480
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__light.mp4",
1481
+ "posterUrl": null
1482
+ }
1483
+ ]
1484
+ },
1485
+ {
1486
+ "id": "light-leak",
1487
+ "title": "Light Leak",
1488
+ "description": "tr.light_leak() — light_leak GL blend shader.",
1489
+ "examples": [
1490
+ {
1491
+ "id": "transitions:light_leak",
1492
+ "title": "Default",
1493
+ "description": "0.30000000000000004s transition in a 3s sample.",
1494
+ "durationSeconds": 3,
1495
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__hero-headline.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__hero-headline-center.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.light_leak()\n[1.5s .. 3s] = video clipB",
1496
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__light_leak.mp4",
1497
+ "posterUrl": null
1498
+ }
1499
+ ]
1500
+ },
1501
+ {
1502
+ "id": "liquid",
1503
+ "title": "Liquid",
1504
+ "description": "tr.liquid() — liquid GL blend shader.",
1505
+ "examples": [
1506
+ {
1507
+ "id": "transitions:liquid",
1508
+ "title": "Default",
1509
+ "description": "0.30000000000000004s transition in a 3s sample.",
1510
+ "durationSeconds": 3,
1511
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__motion-fade.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__hero-headline.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.liquid()\n[1.5s .. 3s] = video clipB",
1512
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__liquid.mp4",
1513
+ "posterUrl": null
1514
+ }
1515
+ ]
1516
+ },
1517
+ {
1518
+ "id": "mechanical",
1519
+ "title": "Mechanical",
1520
+ "description": "tr.mechanical() — mechanical GL blend shader.",
1521
+ "examples": [
1522
+ {
1523
+ "id": "transitions:mechanical",
1524
+ "title": "Default",
1525
+ "description": "0.30000000000000004s transition in a 3s sample.",
1526
+ "durationSeconds": 3,
1527
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/animations__code-typing.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/animations__blend-caption.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.mechanical()\n[1.5s .. 3s] = video clipB",
1528
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__mechanical.mp4",
1529
+ "posterUrl": null
1530
+ }
1531
+ ]
1532
+ },
1533
+ {
1534
+ "id": "push",
1535
+ "title": "Push",
1536
+ "description": "tr.push() — push GL blend shader.",
1537
+ "examples": [
1538
+ {
1539
+ "id": "transitions:push",
1540
+ "title": "Default",
1541
+ "description": "0.30000000000000004s transition in a 3s sample.",
1542
+ "durationSeconds": 3,
1543
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__hero-headline.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__hero-headline-center.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.push(direction: \"left\")\n[1.5s .. 3s] = video clipB",
1544
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__push.mp4",
1545
+ "posterUrl": null
1546
+ }
1547
+ ]
1548
+ },
1549
+ {
1550
+ "id": "radial",
1551
+ "title": "Radial",
1552
+ "description": "tr.radial() — radial GL blend shader.",
1553
+ "examples": [
1554
+ {
1555
+ "id": "transitions:radial",
1556
+ "title": "Default",
1557
+ "description": "0.30000000000000004s transition in a 3s sample.",
1558
+ "durationSeconds": 3,
1559
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__typewriter.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/animations__code-typing.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.radial()\n[1.5s .. 3s] = video clipB",
1560
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__radial.mp4",
1561
+ "posterUrl": null
1562
+ }
1563
+ ]
1564
+ },
1565
+ {
1566
+ "id": "ripple",
1567
+ "title": "Ripple",
1568
+ "description": "tr.ripple() — ripple GL blend shader.",
1569
+ "examples": [
1570
+ {
1571
+ "id": "transitions:ripple",
1572
+ "title": "Default",
1573
+ "description": "0.30000000000000004s transition in a 3s sample.",
1574
+ "durationSeconds": 3,
1575
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__typewriter.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/animations__code-typing.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.ripple()\n[1.5s .. 3s] = video clipB",
1576
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__ripple.mp4",
1577
+ "posterUrl": null
1578
+ }
1579
+ ]
1580
+ },
1581
+ {
1582
+ "id": "scale",
1583
+ "title": "Scale",
1584
+ "description": "tr.scale() — scale GL blend shader.",
1585
+ "examples": [
1586
+ {
1587
+ "id": "transitions:scale",
1588
+ "title": "Default",
1589
+ "description": "0.30000000000000004s transition in a 3s sample.",
1590
+ "durationSeconds": 3,
1591
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/animations__blend-caption.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__motion-pop-float.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.scale()\n[1.5s .. 3s] = video clipB",
1592
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__scale.mp4",
1593
+ "posterUrl": null
1594
+ }
1595
+ ]
1596
+ },
1597
+ {
1598
+ "id": "shatter",
1599
+ "title": "Shatter",
1600
+ "description": "tr.shatter() — shatter GL blend shader.",
1601
+ "examples": [
1602
+ {
1603
+ "id": "transitions:shatter",
1604
+ "title": "Default",
1605
+ "description": "0.30000000000000004s transition in a 3s sample.",
1606
+ "durationSeconds": 3,
1607
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__motion-pop-float.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__motion-fade.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.shatter()\n[1.5s .. 3s] = video clipB",
1608
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__shatter.mp4",
1609
+ "posterUrl": null
1610
+ }
1611
+ ]
1612
+ },
1613
+ {
1614
+ "id": "swirl",
1615
+ "title": "Swirl",
1616
+ "description": "tr.swirl() — swirl GL blend shader.",
1617
+ "examples": [
1618
+ {
1619
+ "id": "transitions:swirl",
1620
+ "title": "Default",
1621
+ "description": "0.30000000000000004s transition in a 3s sample.",
1622
+ "durationSeconds": 3,
1623
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__hero-headline.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__hero-headline-center.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.swirl()\n[1.5s .. 3s] = video clipB",
1624
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__swirl.mp4",
1625
+ "posterUrl": null
1626
+ }
1627
+ ]
1628
+ },
1629
+ {
1630
+ "id": "thermal",
1631
+ "title": "Thermal",
1632
+ "description": "tr.thermal() — thermal GL blend shader.",
1633
+ "examples": [
1634
+ {
1635
+ "id": "transitions:thermal",
1636
+ "title": "Default",
1637
+ "description": "0.30000000000000004s transition in a 3s sample.",
1638
+ "durationSeconds": 3,
1639
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__hero-headline-center.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__typewriter.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.thermal()\n[1.5s .. 3s] = video clipB",
1640
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__thermal.mp4",
1641
+ "posterUrl": null
1642
+ }
1643
+ ]
1644
+ },
1645
+ {
1646
+ "id": "warp-morph",
1647
+ "title": "Warp Morph",
1648
+ "description": "tr.warp_morph() — warp_morph GL blend shader.",
1649
+ "examples": [
1650
+ {
1651
+ "id": "transitions:warp_morph",
1652
+ "title": "Default",
1653
+ "description": "0.30000000000000004s transition in a 3s sample.",
1654
+ "durationSeconds": 3,
1655
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__typewriter.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/animations__code-typing.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.warp_morph()\n[1.5s .. 3s] = video clipB",
1656
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__warp_morph.mp4",
1657
+ "posterUrl": null
1658
+ }
1659
+ ]
1660
+ },
1661
+ {
1662
+ "id": "whip-pan",
1663
+ "title": "Whip Pan",
1664
+ "description": "tr.whip_pan() — whip_pan GL blend shader.",
1665
+ "examples": [
1666
+ {
1667
+ "id": "transitions:whip_pan",
1668
+ "title": "Default",
1669
+ "description": "0.30000000000000004s transition in a 3s sample.",
1670
+ "durationSeconds": 3,
1671
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/text-styles__motion-fade.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__hero-headline.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.whip_pan(direction: \"left\")\n[1.5s .. 3s] = video clipB",
1672
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__whip_pan.mp4",
1673
+ "posterUrl": null
1674
+ }
1675
+ ]
1676
+ },
1677
+ {
1678
+ "id": "wipe",
1679
+ "title": "Wipe",
1680
+ "description": "tr.wipe() — wipe GL blend shader.",
1681
+ "examples": [
1682
+ {
1683
+ "id": "transitions:wipe",
1684
+ "title": "Default",
1685
+ "description": "0.30000000000000004s transition in a 3s sample.",
1686
+ "durationSeconds": 3,
1687
+ "vidscript": "import tr from \"@scenerok/transitions\"\n\ninput clipA = \"https://assets-public.scenerok.com/catalog/animations__blend-caption.mp4\"\ninput clipB = \"https://assets-public.scenerok.com/catalog/text-styles__motion-pop-float.mp4\"\n\n[0s .. 1.2s] = video clipA\n[1.2s .. 1.5s] = tr.wipe(direction: \"right\")\n[1.5s .. 3s] = video clipB",
1688
+ "mp4Url": "https://assets-public.scenerok.com/catalog/transitions__wipe.mp4",
1689
+ "posterUrl": null
1690
+ }
1691
+ ]
1692
+ }
1693
+ ]
1694
+ },
1695
+ {
1696
+ "id": "tts",
1697
+ "title": "Text-to-Speech",
1698
+ "description": "Voice-over audio via the x.ai TTS plugin.",
1699
+ "items": [
1700
+ {
1701
+ "id": "energetic-vo",
1702
+ "title": "Energetic voice-over",
1703
+ "description": "Higher-energy delivery for hooks and CTAs.",
1704
+ "examples": [
1705
+ {
1706
+ "id": "tts:energetic-vo-hype",
1707
+ "title": "Leo — launch",
1708
+ "description": "Product launch energy.",
1709
+ "durationSeconds": 3,
1710
+ "vidscript": "import xai from \"@scenerok/xai\"\n\n[0s .. 3s] = text \"GO.\", font: \"Inter Black\", size: 240, color: \"#FF3B3B\", align: \"center\"\n[0s .. 3s] = audio xai.tts(\"Ship it. Right now.\", voice: \"leo\")",
1711
+ "mp4Url": null,
1712
+ "posterUrl": null
1713
+ },
1714
+ {
1715
+ "id": "tts:energetic-vo",
1716
+ "title": "Rex — countdown",
1717
+ "description": "Punchy three-beat hook.",
1718
+ "durationSeconds": 3,
1719
+ "vidscript": "import xai from \"@scenerok/xai\"\n\n[0s .. 3s] = text \"Drop it.\", font: \"Inter Black\", size: 198, color: \"#FFD23F\", align: \"center\"\n[0s .. 3s] = audio xai.tts(\"Three. Two. One. Drop it.\", voice: \"rex\")",
1720
+ "mp4Url": null,
1721
+ "posterUrl": null
1722
+ }
1723
+ ]
1724
+ },
1725
+ {
1726
+ "id": "narrator",
1727
+ "title": "Narrator voice",
1728
+ "description": "Calm narration over a styled text card.",
1729
+ "examples": [
1730
+ {
1731
+ "id": "tts:narrator-calm",
1732
+ "title": "Ara — short line",
1733
+ "description": "Single sentence under a headline.",
1734
+ "durationSeconds": 3,
1735
+ "vidscript": "import xai from \"@scenerok/xai\"\n\n[0s .. 3s] = text \"Listen.\", font: \"Inter\", size: 120, color: \"#9FB6FF\", align: \"center\"\n[0s .. 3s] = audio xai.tts(\"One line of voice-over, baked into the mix.\", voice: \"ara\")",
1736
+ "mp4Url": null,
1737
+ "posterUrl": null
1738
+ },
1739
+ {
1740
+ "id": "tts:narrator",
1741
+ "title": "Eve — narrative",
1742
+ "description": "Long-form explanatory copy.",
1743
+ "durationSeconds": 3,
1744
+ "vidscript": "import xai from \"@scenerok/xai\"\n\n[0s .. 3s] = text \"Voice from text.\", font: \"Inter Bold\", size: 64, color: \"#FFFFFF\", align: \"center\"\n[0s .. 3s] = audio xai.tts(\"Vidscript turns plain text into a fully rendered video. No timeline editing required.\", voice: \"eve\")",
1745
+ "mp4Url": "https://assets-public.scenerok.com/catalog/tts__narrator.mp4",
1746
+ "posterUrl": "https://assets-public.scenerok.com/catalog/posters/tts__narrator.jpg"
1747
+ }
1748
+ ]
1749
+ }
1750
+ ]
1751
+ },
1752
+ {
1753
+ "id": "music",
1754
+ "title": "Music",
1755
+ "description": "Generative soundtrack via @elevenlabs/music.",
1756
+ "items": [
1757
+ {
1758
+ "id": "ambient-cinematic",
1759
+ "title": "Ambient cinematic",
1760
+ "description": "Calmer padscape for emotional or documentary copy.",
1761
+ "examples": [
1762
+ {
1763
+ "id": "music:ambient-cinematic-drone",
1764
+ "title": "Drone underscore",
1765
+ "description": "Darker, minimal bed.",
1766
+ "durationSeconds": 3,
1767
+ "vidscript": "import eleven from \"@elevenlabs/music\"\n\n[0s .. 3s] = text \"drift\", font: \"Inter\", size: 120, color: \"#6B7280\", align: \"center\", letter_spacing: 12\n[0s .. 3s] = audio eleven.music(\"dark ambient drone, minimal, cinematic tension, no percussion\", duration: 3, force_instrumental: true)",
1768
+ "mp4Url": "https://assets-public.scenerok.com/catalog/music__ambient-cinematic-drone.mp4",
1769
+ "posterUrl": "https://assets-public.scenerok.com/catalog/posters/music__ambient-cinematic-drone.jpg"
1770
+ },
1771
+ {
1772
+ "id": "music:ambient-cinematic",
1773
+ "title": "Padscape",
1774
+ "description": "Slow-evolving ambient under a title.",
1775
+ "durationSeconds": 3,
1776
+ "vidscript": "import eleven from \"@elevenlabs/music\"\n\n[0s .. 3s] = text \"ambient\", font: \"Inter\", size: 140, color: \"#9FB6FF\", align: \"center\", letter_spacing: 8\n[0s .. 3s] = audio eleven.music(\"ambient cinematic padscape, slow evolving, contemplative\", duration: 3, force_instrumental: true)",
1777
+ "mp4Url": "https://assets-public.scenerok.com/catalog/music__ambient-cinematic.mp4",
1778
+ "posterUrl": "https://assets-public.scenerok.com/catalog/posters/music__ambient-cinematic.jpg"
1779
+ }
1780
+ ]
1781
+ },
1782
+ {
1783
+ "id": "upbeat-corporate",
1784
+ "title": "Upbeat corporate",
1785
+ "description": "eleven.music() with a short instrumental prompt.",
1786
+ "examples": [
1787
+ {
1788
+ "id": "music:upbeat-corporate-short",
1789
+ "title": "4 s sting",
1790
+ "description": "Shorter duration for bumpers.",
1791
+ "durationSeconds": 3,
1792
+ "vidscript": "import eleven from \"@elevenlabs/music\"\n\n[0s .. 3s] = text \"▶\", font: \"Inter Black\", size: 200, color: \"#FFD23F\", align: \"center\"\n[0s .. 3s] = audio eleven.music(\"short upbeat logo sting, claps, bright\", duration: 3, force_instrumental: true)",
1793
+ "mp4Url": "https://assets-public.scenerok.com/catalog/music__upbeat-corporate-short.mp4",
1794
+ "posterUrl": "https://assets-public.scenerok.com/catalog/posters/music__upbeat-corporate-short.jpg"
1795
+ },
1796
+ {
1797
+ "id": "music:upbeat-corporate",
1798
+ "title": "Bright brand cue",
1799
+ "description": "duration: 3, force_instrumental: true.",
1800
+ "durationSeconds": 3,
1801
+ "vidscript": "import eleven from \"@elevenlabs/music\"\n\n[0s .. 3s] = text \"UPBEAT\", font: \"Inter Black\", size: 180, color: \"#FFFFFF\", align: \"center\"\n[0s .. 3s] = audio eleven.music(\"uplifting corporate brand cue, claps, bright synth, optimistic\", duration: 3, force_instrumental: true)",
1802
+ "mp4Url": "https://assets-public.scenerok.com/catalog/music__upbeat-corporate.mp4",
1803
+ "posterUrl": "https://assets-public.scenerok.com/catalog/posters/music__upbeat-corporate.jpg"
1804
+ }
1805
+ ]
1806
+ }
1807
+ ]
1808
+ }
1809
+ ]
1810
+ }