@scenerok/sdk 0.27.0 → 0.29.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.
- package/package.json +1 -1
- package/skills/scenerok/SKILL.md +81 -54
- package/skills/scenerok/references/animations-picker.md +1 -1
- package/skills/scenerok/references/catalog-index.json +2855 -1
- package/skills/scenerok/references/choosing.md +111 -0
- package/skills/scenerok/references/intent-router.md +3 -3
- package/skills/scenerok/references/look-and-feel.md +25 -18
- package/skills/scenerok/references/plugins.md +5 -4
- package/skills/scenerok/references/recipes.md +69 -200
- package/skills/scenerok/references/repertoire.md +1493 -0
- package/skills/scenerok/references/shaders-filters.md +1 -1
- package/skills/scenerok/references/vidscript-guide.md +2 -2
- package/skills/scenerok/references/vidscript-strict.md +4 -4
- package/skills/scenerok/references/workflow.md +3 -3
|
@@ -1,7 +1,2861 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "https://scenerok.com/catalog-index/v1",
|
|
3
|
-
"generatedAt": "2026-10-
|
|
3
|
+
"generatedAt": "2026-10-28T07:47:54.382Z",
|
|
4
4
|
"cdnBase": "https://assets-public.scenerok.com/catalog",
|
|
5
|
+
"jobs": {
|
|
6
|
+
"establish": "set the place, mood or subject",
|
|
7
|
+
"announce": "a headline, launch or piece of news",
|
|
8
|
+
"name": "identify a person, product or place",
|
|
9
|
+
"list": "several points in sequence",
|
|
10
|
+
"count": "a number that matters",
|
|
11
|
+
"compare": "before and after, A against B",
|
|
12
|
+
"quote": "someone's words",
|
|
13
|
+
"code": "show code or a command",
|
|
14
|
+
"prove": "real evidence: a UI, a post, a rating, footage",
|
|
15
|
+
"demo": "show the thing in use",
|
|
16
|
+
"emphasize": "punch one word or moment",
|
|
17
|
+
"brand": "logo, sign-off, identity",
|
|
18
|
+
"cta": "tell the viewer what to do next",
|
|
19
|
+
"caption": "put speech on screen",
|
|
20
|
+
"transition": "move from one beat to the next",
|
|
21
|
+
"grade": "set the colour and finish",
|
|
22
|
+
"texture": "add surface, energy or atmosphere",
|
|
23
|
+
"source": "get a picture, clip or sound",
|
|
24
|
+
"edit": "cut, time, layer or frame footage",
|
|
25
|
+
"sound": "voice or music"
|
|
26
|
+
},
|
|
27
|
+
"tools": [
|
|
28
|
+
{
|
|
29
|
+
"family": "animation",
|
|
30
|
+
"id": "app_showcase",
|
|
31
|
+
"call": "animations.app_showcase(…)",
|
|
32
|
+
"is": "Three phone mock-ups fanned on a pale green set, showing your app screenshot.",
|
|
33
|
+
"looks": "Soft sage background, three phones tilted in a fan, a dark profile card floating over them. The phones drift and settle; the eye lands on the centre phone. Light, airy, product-marketing style.",
|
|
34
|
+
"for": [
|
|
35
|
+
"demo",
|
|
36
|
+
"prove"
|
|
37
|
+
],
|
|
38
|
+
"fights": "Dark, moody videos (it is bright and pastel); screenshots in landscape (the phones are portrait).",
|
|
39
|
+
"fit": "Demo block: most of what it shows is fixed artwork; only the listed params change. A portrait screenshot (imageUrl) reads best.",
|
|
40
|
+
"derived": [
|
|
41
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
42
|
+
"6 s default.",
|
|
43
|
+
"Takes imageUrl, userName, userRole, tagline, accentColor.",
|
|
44
|
+
"Image asset via imageUrl."
|
|
45
|
+
],
|
|
46
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__app_showcase.mp4"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"family": "animation",
|
|
50
|
+
"id": "apple_money_count",
|
|
51
|
+
"call": "animations.apple_money_count(…)",
|
|
52
|
+
"is": "A large dollar amount counting up on white.",
|
|
53
|
+
"looks": "Plain white frame, a bold black amount in the centre that holds at $0, counts up and lands with a small bounce at about 3.2 s; nothing else. Very clean, very quiet.",
|
|
54
|
+
"for": [
|
|
55
|
+
"count"
|
|
56
|
+
],
|
|
57
|
+
"fights": "Dark-themed videos (it is a white slab), non-money numbers.",
|
|
58
|
+
"fit": "One amount. Use `text_counter_stat` for anything that is not money or for a dark palette.",
|
|
59
|
+
"derived": [
|
|
60
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
61
|
+
"5 s default.",
|
|
62
|
+
"Takes amount, currency, accentColor."
|
|
63
|
+
],
|
|
64
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__apple_money_count.mp4"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"family": "animation",
|
|
68
|
+
"id": "blend_caption",
|
|
69
|
+
"call": "animations.blend_caption(…)",
|
|
70
|
+
"is": "One huge word or line in difference blend, so it inverts whatever is behind it.",
|
|
71
|
+
"looks": "A 190 px, weight-900 line across the frame drawn with a difference blend: white over dark footage, dark over bright footage, colour-inverted over colour. The letters change as the picture moves under them.",
|
|
72
|
+
"for": [
|
|
73
|
+
"emphasize",
|
|
74
|
+
"caption"
|
|
75
|
+
],
|
|
76
|
+
"fights": "Long words in 9:16 (the catalog sample runs off the frame), mid-grey footage (difference gives low contrast).",
|
|
77
|
+
"fit": "One or two short words. Inline overlay: it scales with the frame rather than letterboxing.",
|
|
78
|
+
"derived": [
|
|
79
|
+
"Inline overlay: scales with the frame.",
|
|
80
|
+
"5 s default.",
|
|
81
|
+
"Takes text, color."
|
|
82
|
+
],
|
|
83
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__blend_caption.mp4"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"family": "animation",
|
|
87
|
+
"id": "blue_sweater_intro_video",
|
|
88
|
+
"call": "animations.blue_sweater_intro_video(…)",
|
|
89
|
+
"is": "A creator intro: a typed \"Introducing\" line, a name, a bio and an avatar on warm off-white.",
|
|
90
|
+
"looks": "Warm cream background, grey \"Introducing\" typed in the middle with a cursor, then the creator name in a highlighted box, then the bio and avatar. Calm, editorial, 12 s long.",
|
|
91
|
+
"for": [
|
|
92
|
+
"name",
|
|
93
|
+
"announce"
|
|
94
|
+
],
|
|
95
|
+
"fights": "Fast edits (it needs its 12 s), dark palettes.",
|
|
96
|
+
"fit": "Demo block: most of what it shows is fixed artwork; only the listed params change. headline, creatorName, creatorHandle, creatorBio and avatarUrl are yours.",
|
|
97
|
+
"derived": [
|
|
98
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
99
|
+
"12 s default.",
|
|
100
|
+
"Takes headline, creatorName, creatorHandle, creatorBio, avatarUrl.",
|
|
101
|
+
"Image asset via avatarUrl."
|
|
102
|
+
],
|
|
103
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__blue_sweater_intro_video.mp4"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"family": "animation",
|
|
107
|
+
"id": "code_3d_extrude",
|
|
108
|
+
"call": "animations.code_3d_extrude(…)",
|
|
109
|
+
"is": "Your code as a lit 3D slab that turns in space.",
|
|
110
|
+
"looks": "Dark frame; a single code line rendered on a thick slab, tilted in perspective with a light sweep, rotating toward the viewer until it reads flat.",
|
|
111
|
+
"for": [
|
|
112
|
+
"code",
|
|
113
|
+
"emphasize"
|
|
114
|
+
],
|
|
115
|
+
"fights": "More than one or two lines, anything that needs to be read in detail.",
|
|
116
|
+
"fit": "WebGL: heavier to render than the 2D code blocks. One short line.",
|
|
117
|
+
"derived": [
|
|
118
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
119
|
+
"8 s default.",
|
|
120
|
+
"Takes code, lang, theme, filename."
|
|
121
|
+
],
|
|
122
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_3d_extrude.mp4?v=1fb913bd"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"family": "animation",
|
|
126
|
+
"id": "code_diff",
|
|
127
|
+
"call": "animations.code_diff(…)",
|
|
128
|
+
"is": "A before/after code change shown as a diff.",
|
|
129
|
+
"looks": "Editor window on a dark navy and green glow, under a \"+1 −1\" count in green and red. The old line appears in red with a minus, then the new line arrives in green with a plus and a cyan outline. With keep_removed the red line stays, so the frame reads as a before/after. In 9:16 it uses a portrait layout in the upper half of the frame (checked in render 536); the lower half stays empty.",
|
|
130
|
+
"for": [
|
|
131
|
+
"code",
|
|
132
|
+
"compare"
|
|
133
|
+
],
|
|
134
|
+
"fights": "Big multi-file changes; changes where the old line is not worth seeing.",
|
|
135
|
+
"fit": "A few changed lines; a line of ~36 characters fits the 9:16 card. The catalog preview predates the portrait layout.",
|
|
136
|
+
"derived": [
|
|
137
|
+
"Has its own 9:16 layout.",
|
|
138
|
+
"6 s default.",
|
|
139
|
+
"Takes from, to, lang, theme, filename, label, keep_removed."
|
|
140
|
+
],
|
|
141
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_diff.mp4"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"family": "animation",
|
|
145
|
+
"id": "code_highlight",
|
|
146
|
+
"call": "animations.code_highlight(…)",
|
|
147
|
+
"is": "A code window that sweeps a highlight across one line.",
|
|
148
|
+
"looks": "Dark editor window on a navy glow; the code fades in, then a highlight bar sweeps under the line that matters.",
|
|
149
|
+
"for": [
|
|
150
|
+
"code",
|
|
151
|
+
"emphasize"
|
|
152
|
+
],
|
|
153
|
+
"fights": "Long files; a second highlight competing for attention.",
|
|
154
|
+
"fit": "A few lines; the highlight lands on one.",
|
|
155
|
+
"derived": [
|
|
156
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
157
|
+
"5 s default.",
|
|
158
|
+
"Takes code, lang, theme, filename."
|
|
159
|
+
],
|
|
160
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_highlight.mp4"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"family": "animation",
|
|
164
|
+
"id": "code_morph",
|
|
165
|
+
"call": "animations.code_morph(…)",
|
|
166
|
+
"is": "Code that morphs from one version to another token by token.",
|
|
167
|
+
"looks": "Dark editor window; the first snippet sits still, then tokens slide, fade and rearrange into the second snippet. Unchanged tokens stay put, so the eye follows the change.",
|
|
168
|
+
"for": [
|
|
169
|
+
"code",
|
|
170
|
+
"compare"
|
|
171
|
+
],
|
|
172
|
+
"fights": "Two snippets with little in common (it turns into a cross-fade).",
|
|
173
|
+
"fit": "Short snippets of similar shape.",
|
|
174
|
+
"derived": [
|
|
175
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
176
|
+
"7 s default.",
|
|
177
|
+
"Takes from, to, lang, theme, filename, label, keep_removed."
|
|
178
|
+
],
|
|
179
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_morph.mp4"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"family": "animation",
|
|
183
|
+
"id": "code_particle_assemble",
|
|
184
|
+
"call": "animations.code_particle_assemble(…)",
|
|
185
|
+
"is": "Code that assembles from a cloud of particles.",
|
|
186
|
+
"looks": "Dark frame full of drifting glowing dots that fly together into a line of code, which then sits sharp in the centre.",
|
|
187
|
+
"for": [
|
|
188
|
+
"code",
|
|
189
|
+
"announce"
|
|
190
|
+
],
|
|
191
|
+
"fights": "Busy footage behind it, motion-sensitive viewers, dense code.",
|
|
192
|
+
"fit": "WebGL particles: heavier render. One short line.",
|
|
193
|
+
"derived": [
|
|
194
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
195
|
+
"8 s default.",
|
|
196
|
+
"Takes code, lang, theme, filename."
|
|
197
|
+
],
|
|
198
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_particle_assemble.mp4?v=5666582a"
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"family": "animation",
|
|
202
|
+
"id": "code_scroll",
|
|
203
|
+
"call": "animations.code_scroll(…)",
|
|
204
|
+
"is": "A code window that scrolls to a target line.",
|
|
205
|
+
"looks": "Dark editor window; the file scrolls smoothly and stops on a line that lights up.",
|
|
206
|
+
"for": [
|
|
207
|
+
"code"
|
|
208
|
+
],
|
|
209
|
+
"fights": "Short snippets (nothing to scroll), voiceover that needs a still frame.",
|
|
210
|
+
"fit": "Longer files; the scroll is the point.",
|
|
211
|
+
"derived": [
|
|
212
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
213
|
+
"6 s default.",
|
|
214
|
+
"Takes code, lang, theme, filename."
|
|
215
|
+
],
|
|
216
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_scroll.mp4"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"family": "animation",
|
|
220
|
+
"id": "code_shader_dissolve",
|
|
221
|
+
"call": "animations.code_shader_dissolve(…)",
|
|
222
|
+
"is": "Code that dissolves in or out through a noise shader.",
|
|
223
|
+
"looks": "Dark frame; a code line dissolves in through a noise shader and resolves into crisp text. The catalog preview stays dark for its 3 s sample, so render it before relying on it.",
|
|
224
|
+
"for": [
|
|
225
|
+
"code",
|
|
226
|
+
"texture"
|
|
227
|
+
],
|
|
228
|
+
"fights": "Reading-heavy beats; it is a reveal, not a reading surface.",
|
|
229
|
+
"fit": "WebGL: heavier render. One short line.",
|
|
230
|
+
"derived": [
|
|
231
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
232
|
+
"7 s default.",
|
|
233
|
+
"Takes code, lang, theme, filename."
|
|
234
|
+
],
|
|
235
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_shader_dissolve.mp4"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"family": "animation",
|
|
239
|
+
"id": "code_snippet_apple_terminal_basic",
|
|
240
|
+
"call": "animations.code_snippet_apple_terminal_basic(…)",
|
|
241
|
+
"is": "A macOS Terminal window (Basic (white) profile) that types a command and prints its output.",
|
|
242
|
+
"looks": "A Terminal window centred on a Basic (white) backdrop with the window chrome (traffic lights, title). The prompt sits top-left, the command types character by character, then the output appears. Mostly still apart from the typing and caret.",
|
|
243
|
+
"for": [
|
|
244
|
+
"code",
|
|
245
|
+
"demo"
|
|
246
|
+
],
|
|
247
|
+
"fights": "Long multi-line output, small phones (16:9 design only, so in 9:16 the window shrinks to about half width).",
|
|
248
|
+
"fit": "One command and a few lines of output. 12 s default leaves room for the typing to finish.",
|
|
249
|
+
"derived": [
|
|
250
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
251
|
+
"12 s default.",
|
|
252
|
+
"Takes command, output, prompt, title."
|
|
253
|
+
],
|
|
254
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_basic.mp4"
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
"family": "animation",
|
|
258
|
+
"id": "code_snippet_apple_terminal_clear_dark",
|
|
259
|
+
"call": "animations.code_snippet_apple_terminal_clear_dark(…)",
|
|
260
|
+
"is": "A macOS Terminal window (Clear Dark profile) that types a command and prints its output.",
|
|
261
|
+
"looks": "A Terminal window centred on a Clear Dark backdrop with the window chrome (traffic lights, title). The prompt sits top-left, the command types character by character, then the output appears. Mostly still apart from the typing and caret.",
|
|
262
|
+
"for": [
|
|
263
|
+
"code",
|
|
264
|
+
"demo"
|
|
265
|
+
],
|
|
266
|
+
"fights": "Long multi-line output, small phones (16:9 design only, so in 9:16 the window shrinks to about half width).",
|
|
267
|
+
"fit": "One command and a few lines of output. 12 s default leaves room for the typing to finish.",
|
|
268
|
+
"derived": [
|
|
269
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
270
|
+
"12 s default.",
|
|
271
|
+
"Takes command, output, prompt, title."
|
|
272
|
+
],
|
|
273
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_clear_dark.mp4"
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"family": "animation",
|
|
277
|
+
"id": "code_snippet_apple_terminal_clear_light",
|
|
278
|
+
"call": "animations.code_snippet_apple_terminal_clear_light(…)",
|
|
279
|
+
"is": "A macOS Terminal window (Clear Light profile) that types a command and prints its output.",
|
|
280
|
+
"looks": "A Terminal window centred on a Clear Light backdrop with the window chrome (traffic lights, title). The prompt sits top-left, the command types character by character, then the output appears. Mostly still apart from the typing and caret.",
|
|
281
|
+
"for": [
|
|
282
|
+
"code",
|
|
283
|
+
"demo"
|
|
284
|
+
],
|
|
285
|
+
"fights": "Long multi-line output, small phones (16:9 design only, so in 9:16 the window shrinks to about half width).",
|
|
286
|
+
"fit": "One command and a few lines of output. 12 s default leaves room for the typing to finish.",
|
|
287
|
+
"derived": [
|
|
288
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
289
|
+
"12 s default.",
|
|
290
|
+
"Takes command, output, prompt, title."
|
|
291
|
+
],
|
|
292
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_clear_light.mp4"
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"family": "animation",
|
|
296
|
+
"id": "code_snippet_apple_terminal_grass",
|
|
297
|
+
"call": "animations.code_snippet_apple_terminal_grass(…)",
|
|
298
|
+
"is": "A macOS Terminal window (Grass (green on black) profile) that types a command and prints its output.",
|
|
299
|
+
"looks": "A Terminal window centred on a Grass (green on black) backdrop with the window chrome (traffic lights, title). The prompt sits top-left, the command types character by character, then the output appears. Mostly still apart from the typing and caret.",
|
|
300
|
+
"for": [
|
|
301
|
+
"code",
|
|
302
|
+
"demo"
|
|
303
|
+
],
|
|
304
|
+
"fights": "Long multi-line output, small phones (16:9 design only, so in 9:16 the window shrinks to about half width).",
|
|
305
|
+
"fit": "One command and a few lines of output. 12 s default leaves room for the typing to finish.",
|
|
306
|
+
"derived": [
|
|
307
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
308
|
+
"12 s default.",
|
|
309
|
+
"Takes command, output, prompt, title."
|
|
310
|
+
],
|
|
311
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_grass.mp4"
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"family": "animation",
|
|
315
|
+
"id": "code_snippet_apple_terminal_homebrew",
|
|
316
|
+
"call": "animations.code_snippet_apple_terminal_homebrew(…)",
|
|
317
|
+
"is": "A macOS Terminal window (Homebrew (green on black) profile) that types a command and prints its output.",
|
|
318
|
+
"looks": "A Terminal window centred on a Homebrew (green on black) backdrop with the window chrome (traffic lights, title). The prompt sits top-left, the command types character by character, then the output appears. Mostly still apart from the typing and caret.",
|
|
319
|
+
"for": [
|
|
320
|
+
"code",
|
|
321
|
+
"demo"
|
|
322
|
+
],
|
|
323
|
+
"fights": "Long multi-line output, small phones (16:9 design only, so in 9:16 the window shrinks to about half width).",
|
|
324
|
+
"fit": "One command and a few lines of output. 12 s default leaves room for the typing to finish.",
|
|
325
|
+
"derived": [
|
|
326
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
327
|
+
"12 s default.",
|
|
328
|
+
"Takes command, output, prompt, title."
|
|
329
|
+
],
|
|
330
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_homebrew.mp4"
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"family": "animation",
|
|
334
|
+
"id": "code_snippet_apple_terminal_man_page",
|
|
335
|
+
"call": "animations.code_snippet_apple_terminal_man_page(…)",
|
|
336
|
+
"is": "A macOS Terminal window (Man Page (pale yellow) profile) that types a command and prints its output.",
|
|
337
|
+
"looks": "A Terminal window centred on a Man Page (pale yellow) backdrop with the window chrome (traffic lights, title). The prompt sits top-left, the command types character by character, then the output appears. Mostly still apart from the typing and caret.",
|
|
338
|
+
"for": [
|
|
339
|
+
"code",
|
|
340
|
+
"demo"
|
|
341
|
+
],
|
|
342
|
+
"fights": "Long multi-line output, small phones (16:9 design only, so in 9:16 the window shrinks to about half width).",
|
|
343
|
+
"fit": "One command and a few lines of output. 12 s default leaves room for the typing to finish.",
|
|
344
|
+
"derived": [
|
|
345
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
346
|
+
"12 s default.",
|
|
347
|
+
"Takes command, output, prompt, title."
|
|
348
|
+
],
|
|
349
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_man_page.mp4"
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"family": "animation",
|
|
353
|
+
"id": "code_snippet_apple_terminal_novel",
|
|
354
|
+
"call": "animations.code_snippet_apple_terminal_novel(…)",
|
|
355
|
+
"is": "A macOS Terminal window (Novel (tan paper) profile) that types a command and prints its output.",
|
|
356
|
+
"looks": "A Terminal window centred on a Novel (tan paper) backdrop with the window chrome (traffic lights, title). The prompt sits top-left, the command types character by character, then the output appears. Mostly still apart from the typing and caret.",
|
|
357
|
+
"for": [
|
|
358
|
+
"code",
|
|
359
|
+
"demo"
|
|
360
|
+
],
|
|
361
|
+
"fights": "Long multi-line output, small phones (16:9 design only, so in 9:16 the window shrinks to about half width).",
|
|
362
|
+
"fit": "One command and a few lines of output. 12 s default leaves room for the typing to finish.",
|
|
363
|
+
"derived": [
|
|
364
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
365
|
+
"12 s default.",
|
|
366
|
+
"Takes command, output, prompt, title."
|
|
367
|
+
],
|
|
368
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_novel.mp4"
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
"family": "animation",
|
|
372
|
+
"id": "code_snippet_apple_terminal_ocean",
|
|
373
|
+
"call": "animations.code_snippet_apple_terminal_ocean(…)",
|
|
374
|
+
"is": "A macOS Terminal window (Ocean (blue) profile) that types a command and prints its output.",
|
|
375
|
+
"looks": "A Terminal window centred on a Ocean (blue) backdrop with the window chrome (traffic lights, title). The prompt sits top-left, the command types character by character, then the output appears. Mostly still apart from the typing and caret.",
|
|
376
|
+
"for": [
|
|
377
|
+
"code",
|
|
378
|
+
"demo"
|
|
379
|
+
],
|
|
380
|
+
"fights": "Long multi-line output, small phones (16:9 design only, so in 9:16 the window shrinks to about half width).",
|
|
381
|
+
"fit": "One command and a few lines of output. 12 s default leaves room for the typing to finish.",
|
|
382
|
+
"derived": [
|
|
383
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
384
|
+
"12 s default.",
|
|
385
|
+
"Takes command, output, prompt, title."
|
|
386
|
+
],
|
|
387
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_ocean.mp4"
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"family": "animation",
|
|
391
|
+
"id": "code_snippet_apple_terminal_pro",
|
|
392
|
+
"call": "animations.code_snippet_apple_terminal_pro(…)",
|
|
393
|
+
"is": "A macOS Terminal window (Pro (black) profile) that types a command and prints its output.",
|
|
394
|
+
"looks": "A Terminal window centred on a Pro (black) backdrop with the window chrome (traffic lights, title). The prompt sits top-left, the command types character by character, then the output appears. Mostly still apart from the typing and caret.",
|
|
395
|
+
"for": [
|
|
396
|
+
"code",
|
|
397
|
+
"demo"
|
|
398
|
+
],
|
|
399
|
+
"fights": "Long multi-line output, small phones (16:9 design only, so in 9:16 the window shrinks to about half width).",
|
|
400
|
+
"fit": "One command and a few lines of output. 12 s default leaves room for the typing to finish.",
|
|
401
|
+
"derived": [
|
|
402
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
403
|
+
"12 s default.",
|
|
404
|
+
"Takes command, output, prompt, title."
|
|
405
|
+
],
|
|
406
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_pro.mp4"
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
"family": "animation",
|
|
410
|
+
"id": "code_snippet_apple_terminal_red_sands",
|
|
411
|
+
"call": "animations.code_snippet_apple_terminal_red_sands(…)",
|
|
412
|
+
"is": "A macOS Terminal window (Red Sands (deep red) profile) that types a command and prints its output.",
|
|
413
|
+
"looks": "A Terminal window centred on a Red Sands (deep red) backdrop with the window chrome (traffic lights, title). The prompt sits top-left, the command types character by character, then the output appears. Mostly still apart from the typing and caret.",
|
|
414
|
+
"for": [
|
|
415
|
+
"code",
|
|
416
|
+
"demo"
|
|
417
|
+
],
|
|
418
|
+
"fights": "Long multi-line output, small phones (16:9 design only, so in 9:16 the window shrinks to about half width).",
|
|
419
|
+
"fit": "One command and a few lines of output. 12 s default leaves room for the typing to finish.",
|
|
420
|
+
"derived": [
|
|
421
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
422
|
+
"12 s default.",
|
|
423
|
+
"Takes command, output, prompt, title."
|
|
424
|
+
],
|
|
425
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_red_sands.mp4"
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"family": "animation",
|
|
429
|
+
"id": "code_snippet_apple_terminal_silver_aerogel",
|
|
430
|
+
"call": "animations.code_snippet_apple_terminal_silver_aerogel(…)",
|
|
431
|
+
"is": "A macOS Terminal window (Silver Aerogel (grey) profile) that types a command and prints its output.",
|
|
432
|
+
"looks": "A Terminal window centred on a Silver Aerogel (grey) backdrop with the window chrome (traffic lights, title). The prompt sits top-left, the command types character by character, then the output appears. Mostly still apart from the typing and caret.",
|
|
433
|
+
"for": [
|
|
434
|
+
"code",
|
|
435
|
+
"demo"
|
|
436
|
+
],
|
|
437
|
+
"fights": "Long multi-line output, small phones (16:9 design only, so in 9:16 the window shrinks to about half width).",
|
|
438
|
+
"fit": "One command and a few lines of output. 12 s default leaves room for the typing to finish.",
|
|
439
|
+
"derived": [
|
|
440
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
441
|
+
"12 s default.",
|
|
442
|
+
"Takes command, output, prompt, title."
|
|
443
|
+
],
|
|
444
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_silver_aerogel.mp4"
|
|
445
|
+
},
|
|
446
|
+
{
|
|
447
|
+
"family": "animation",
|
|
448
|
+
"id": "code_snippet_apple_terminal_solid_colors",
|
|
449
|
+
"call": "animations.code_snippet_apple_terminal_solid_colors(…)",
|
|
450
|
+
"is": "A macOS Terminal window (Solid Colors (purple) profile) that types a command and prints its output.",
|
|
451
|
+
"looks": "A Terminal window centred on a Solid Colors (purple) backdrop with the window chrome (traffic lights, title). The prompt sits top-left, the command types character by character, then the output appears. Mostly still apart from the typing and caret.",
|
|
452
|
+
"for": [
|
|
453
|
+
"code",
|
|
454
|
+
"demo"
|
|
455
|
+
],
|
|
456
|
+
"fights": "Long multi-line output, small phones (16:9 design only, so in 9:16 the window shrinks to about half width).",
|
|
457
|
+
"fit": "One command and a few lines of output. 12 s default leaves room for the typing to finish.",
|
|
458
|
+
"derived": [
|
|
459
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
460
|
+
"12 s default.",
|
|
461
|
+
"Takes command, output, prompt, title."
|
|
462
|
+
],
|
|
463
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_apple_terminal_solid_colors.mp4"
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
"family": "animation",
|
|
467
|
+
"id": "code_snippet_dark_2026",
|
|
468
|
+
"call": "animations.code_snippet_dark_2026(…)",
|
|
469
|
+
"is": "A VS Code editor window in the Dark 2026 theme that types out your code.",
|
|
470
|
+
"looks": "16:9: a full editor (title bar, file tab, explorer sidebar, line numbers, status bar) on a Dark 2026 workbench, with a small header naming the theme. In 9:16 it switches to a portrait layout (checked in render 536): a small caps kicker and a 56 px file name at the top left, then a card in the upper half of the frame where lines slide in one by one under a moving highlight bar; at the end one line stays lit, the rest dim, and the card fades. The lower ~40 % of a 9:16 frame stays empty. The eye goes to the highlighted line.",
|
|
471
|
+
"for": [
|
|
472
|
+
"code",
|
|
473
|
+
"prove"
|
|
474
|
+
],
|
|
475
|
+
"fights": "Long lines (in 9:16 they wrap, breaking the code shape), a busy background behind it, a voiceover reading the code aloud word for word.",
|
|
476
|
+
"fit": "Code at ~15 px in the 16:9 editor reads small on a phone; the 9:16 card sets code at 40 px. About 10-14 lines fit. The catalog preview is blank, so judge it from a render.",
|
|
477
|
+
"derived": [
|
|
478
|
+
"Has its own 9:16 layout.",
|
|
479
|
+
"11 s default.",
|
|
480
|
+
"Takes code, filename, lang."
|
|
481
|
+
],
|
|
482
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_dark_2026.mp4"
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
"family": "animation",
|
|
486
|
+
"id": "code_snippet_dark_modern",
|
|
487
|
+
"call": "animations.code_snippet_dark_modern(…)",
|
|
488
|
+
"is": "A VS Code editor window in the Dark Modern theme that types out your code.",
|
|
489
|
+
"looks": "16:9: a full editor (title bar, file tab, explorer sidebar, line numbers, status bar) on a Dark Modern workbench, with a small header naming the theme. In 9:16 it switches to a portrait layout (checked in render 536): a small caps kicker and a 56 px file name at the top left, then a card in the upper half of the frame where lines slide in one by one under a moving highlight bar; at the end one line stays lit, the rest dim, and the card fades. The lower ~40 % of a 9:16 frame stays empty. The eye goes to the highlighted line.",
|
|
490
|
+
"for": [
|
|
491
|
+
"code",
|
|
492
|
+
"prove"
|
|
493
|
+
],
|
|
494
|
+
"fights": "Long lines (in 9:16 they wrap, breaking the code shape), a busy background behind it, a voiceover reading the code aloud word for word.",
|
|
495
|
+
"fit": "Code at ~15 px in the 16:9 editor reads small on a phone; the 9:16 card sets code at 40 px. About 10-14 lines fit. The catalog preview is blank, so judge it from a render.",
|
|
496
|
+
"derived": [
|
|
497
|
+
"Has its own 9:16 layout.",
|
|
498
|
+
"11 s default.",
|
|
499
|
+
"Takes code, filename, lang."
|
|
500
|
+
],
|
|
501
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_dark_modern.mp4"
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
"family": "animation",
|
|
505
|
+
"id": "code_snippet_dark_plus",
|
|
506
|
+
"call": "animations.code_snippet_dark_plus(…)",
|
|
507
|
+
"is": "A VS Code editor window in the Dark+ theme that types out your code.",
|
|
508
|
+
"looks": "16:9: a full editor (title bar, file tab, explorer sidebar, line numbers, status bar) on a Dark+ workbench, with a small header naming the theme. In 9:16 it switches to a portrait layout (checked in render 536): a small caps kicker and a 56 px file name at the top left, then a card in the upper half of the frame where lines slide in one by one under a moving highlight bar; at the end one line stays lit, the rest dim, and the card fades. The lower ~40 % of a 9:16 frame stays empty. The eye goes to the highlighted line.",
|
|
509
|
+
"for": [
|
|
510
|
+
"code",
|
|
511
|
+
"prove"
|
|
512
|
+
],
|
|
513
|
+
"fights": "Long lines (in 9:16 they wrap, breaking the code shape), a busy background behind it, a voiceover reading the code aloud word for word.",
|
|
514
|
+
"fit": "Code at ~15 px in the 16:9 editor reads small on a phone; the 9:16 card sets code at 40 px. About 10-14 lines fit. The catalog preview is blank, so judge it from a render.",
|
|
515
|
+
"derived": [
|
|
516
|
+
"Has its own 9:16 layout.",
|
|
517
|
+
"11 s default.",
|
|
518
|
+
"Takes code, filename, lang."
|
|
519
|
+
],
|
|
520
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_dark_plus.mp4"
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
"family": "animation",
|
|
524
|
+
"id": "code_snippet_flight",
|
|
525
|
+
"call": "animations.code_snippet_flight(…)",
|
|
526
|
+
"is": "Code snippets that fly in and assemble into one file.",
|
|
527
|
+
"looks": "Dark editor window on a navy glow; fragments of code slide in from off-frame and lock into place line by line.",
|
|
528
|
+
"for": [
|
|
529
|
+
"code"
|
|
530
|
+
],
|
|
531
|
+
"fights": "Code that should be read top to bottom from the start.",
|
|
532
|
+
"fit": "A few short lines.",
|
|
533
|
+
"derived": [
|
|
534
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
535
|
+
"6 s default.",
|
|
536
|
+
"Takes code, lang, theme, filename."
|
|
537
|
+
],
|
|
538
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_flight.mp4"
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
"family": "animation",
|
|
542
|
+
"id": "code_snippet_high_contrast",
|
|
543
|
+
"call": "animations.code_snippet_high_contrast(…)",
|
|
544
|
+
"is": "A VS Code editor window in the High Contrast (black and yellow) theme that types out your code.",
|
|
545
|
+
"looks": "16:9: a full editor (title bar, file tab, explorer sidebar, line numbers, status bar) on a High Contrast (black and yellow) workbench, with a small header naming the theme. In 9:16 it switches to a portrait layout (checked in render 536): a small caps kicker and a 56 px file name at the top left, then a card in the upper half of the frame where lines slide in one by one under a moving highlight bar; at the end one line stays lit, the rest dim, and the card fades. The lower ~40 % of a 9:16 frame stays empty. The eye goes to the highlighted line.",
|
|
546
|
+
"for": [
|
|
547
|
+
"code",
|
|
548
|
+
"prove"
|
|
549
|
+
],
|
|
550
|
+
"fights": "Long lines (in 9:16 they wrap, breaking the code shape), a busy background behind it, a voiceover reading the code aloud word for word.",
|
|
551
|
+
"fit": "Code at ~15 px in the 16:9 editor reads small on a phone; the 9:16 card sets code at 40 px. About 10-14 lines fit. The catalog preview is blank, so judge it from a render.",
|
|
552
|
+
"derived": [
|
|
553
|
+
"Has its own 9:16 layout.",
|
|
554
|
+
"11 s default.",
|
|
555
|
+
"Takes code, filename, lang."
|
|
556
|
+
],
|
|
557
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_high_contrast.mp4"
|
|
558
|
+
},
|
|
559
|
+
{
|
|
560
|
+
"family": "animation",
|
|
561
|
+
"id": "code_snippet_high_contrast_light",
|
|
562
|
+
"call": "animations.code_snippet_high_contrast_light(…)",
|
|
563
|
+
"is": "A VS Code editor window in the High Contrast Light theme that types out your code.",
|
|
564
|
+
"looks": "16:9: a full editor (title bar, file tab, explorer sidebar, line numbers, status bar) on a High Contrast Light workbench, with a small header naming the theme. In 9:16 it switches to a portrait layout (checked in render 536): a small caps kicker and a 56 px file name at the top left, then a card in the upper half of the frame where lines slide in one by one under a moving highlight bar; at the end one line stays lit, the rest dim, and the card fades. The lower ~40 % of a 9:16 frame stays empty. The eye goes to the highlighted line.",
|
|
565
|
+
"for": [
|
|
566
|
+
"code",
|
|
567
|
+
"prove"
|
|
568
|
+
],
|
|
569
|
+
"fights": "Long lines (in 9:16 they wrap, breaking the code shape), a busy background behind it, a voiceover reading the code aloud word for word.",
|
|
570
|
+
"fit": "Code at ~15 px in the 16:9 editor reads small on a phone; the 9:16 card sets code at 40 px. About 10-14 lines fit. The catalog preview is blank, so judge it from a render.",
|
|
571
|
+
"derived": [
|
|
572
|
+
"Has its own 9:16 layout.",
|
|
573
|
+
"11 s default.",
|
|
574
|
+
"Takes code, filename, lang."
|
|
575
|
+
],
|
|
576
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_high_contrast_light.mp4"
|
|
577
|
+
},
|
|
578
|
+
{
|
|
579
|
+
"family": "animation",
|
|
580
|
+
"id": "code_snippet_light_2026",
|
|
581
|
+
"call": "animations.code_snippet_light_2026(…)",
|
|
582
|
+
"is": "A VS Code editor window in the Light 2026 theme that types out your code.",
|
|
583
|
+
"looks": "16:9: a full editor (title bar, file tab, explorer sidebar, line numbers, status bar) on a Light 2026 workbench, with a small header naming the theme. In 9:16 it switches to a portrait layout (checked in render 536): a small caps kicker and a 56 px file name at the top left, then a card in the upper half of the frame where lines slide in one by one under a moving highlight bar; at the end one line stays lit, the rest dim, and the card fades. The lower ~40 % of a 9:16 frame stays empty. The eye goes to the highlighted line.",
|
|
584
|
+
"for": [
|
|
585
|
+
"code",
|
|
586
|
+
"prove"
|
|
587
|
+
],
|
|
588
|
+
"fights": "Long lines (in 9:16 they wrap, breaking the code shape), a busy background behind it, a voiceover reading the code aloud word for word.",
|
|
589
|
+
"fit": "Code at ~15 px in the 16:9 editor reads small on a phone; the 9:16 card sets code at 40 px. About 10-14 lines fit. The catalog preview is blank, so judge it from a render.",
|
|
590
|
+
"derived": [
|
|
591
|
+
"Has its own 9:16 layout.",
|
|
592
|
+
"11 s default.",
|
|
593
|
+
"Takes code, filename, lang."
|
|
594
|
+
],
|
|
595
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_light_2026.mp4"
|
|
596
|
+
},
|
|
597
|
+
{
|
|
598
|
+
"family": "animation",
|
|
599
|
+
"id": "code_snippet_light_modern",
|
|
600
|
+
"call": "animations.code_snippet_light_modern(…)",
|
|
601
|
+
"is": "A VS Code editor window in the Light Modern theme that types out your code.",
|
|
602
|
+
"looks": "16:9: a full editor (title bar, file tab, explorer sidebar, line numbers, status bar) on a Light Modern workbench, with a small header naming the theme. In 9:16 it switches to a portrait layout (checked in render 536): a small caps kicker and a 56 px file name at the top left, then a card in the upper half of the frame where lines slide in one by one under a moving highlight bar; at the end one line stays lit, the rest dim, and the card fades. The lower ~40 % of a 9:16 frame stays empty. The eye goes to the highlighted line.",
|
|
603
|
+
"for": [
|
|
604
|
+
"code",
|
|
605
|
+
"prove"
|
|
606
|
+
],
|
|
607
|
+
"fights": "Long lines (in 9:16 they wrap, breaking the code shape), a busy background behind it, a voiceover reading the code aloud word for word.",
|
|
608
|
+
"fit": "Code at ~15 px in the 16:9 editor reads small on a phone; the 9:16 card sets code at 40 px. About 10-14 lines fit. The catalog preview is blank, so judge it from a render.",
|
|
609
|
+
"derived": [
|
|
610
|
+
"Has its own 9:16 layout.",
|
|
611
|
+
"11 s default.",
|
|
612
|
+
"Takes code, filename, lang."
|
|
613
|
+
],
|
|
614
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_light_modern.mp4"
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
"family": "animation",
|
|
618
|
+
"id": "code_snippet_light_plus",
|
|
619
|
+
"call": "animations.code_snippet_light_plus(…)",
|
|
620
|
+
"is": "A VS Code editor window in the Light+ theme that types out your code.",
|
|
621
|
+
"looks": "16:9: a full editor (title bar, file tab, explorer sidebar, line numbers, status bar) on a Light+ workbench, with a small header naming the theme. In 9:16 it switches to a portrait layout (checked in render 536): a small caps kicker and a 56 px file name at the top left, then a card in the upper half of the frame where lines slide in one by one under a moving highlight bar; at the end one line stays lit, the rest dim, and the card fades. The lower ~40 % of a 9:16 frame stays empty. The eye goes to the highlighted line.",
|
|
622
|
+
"for": [
|
|
623
|
+
"code",
|
|
624
|
+
"prove"
|
|
625
|
+
],
|
|
626
|
+
"fights": "Long lines (in 9:16 they wrap, breaking the code shape), a busy background behind it, a voiceover reading the code aloud word for word.",
|
|
627
|
+
"fit": "Code at ~15 px in the 16:9 editor reads small on a phone; the 9:16 card sets code at 40 px. About 10-14 lines fit. The catalog preview is blank, so judge it from a render.",
|
|
628
|
+
"derived": [
|
|
629
|
+
"Has its own 9:16 layout.",
|
|
630
|
+
"11 s default.",
|
|
631
|
+
"Takes code, filename, lang."
|
|
632
|
+
],
|
|
633
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_light_plus.mp4"
|
|
634
|
+
},
|
|
635
|
+
{
|
|
636
|
+
"family": "animation",
|
|
637
|
+
"id": "code_snippet_monokai",
|
|
638
|
+
"call": "animations.code_snippet_monokai(…)",
|
|
639
|
+
"is": "A VS Code editor window in the Monokai theme that types out your code.",
|
|
640
|
+
"looks": "16:9: a full editor (title bar, file tab, explorer sidebar, line numbers, status bar) on a Monokai workbench, with a small header naming the theme. In 9:16 it switches to a portrait layout (checked in render 536): a small caps kicker and a 56 px file name at the top left, then a card in the upper half of the frame where lines slide in one by one under a moving highlight bar; at the end one line stays lit, the rest dim, and the card fades. The lower ~40 % of a 9:16 frame stays empty. The eye goes to the highlighted line.",
|
|
641
|
+
"for": [
|
|
642
|
+
"code",
|
|
643
|
+
"prove"
|
|
644
|
+
],
|
|
645
|
+
"fights": "Long lines (in 9:16 they wrap, breaking the code shape), a busy background behind it, a voiceover reading the code aloud word for word.",
|
|
646
|
+
"fit": "Code at ~15 px in the 16:9 editor reads small on a phone; the 9:16 card sets code at 40 px. About 10-14 lines fit. The catalog preview is blank, so judge it from a render.",
|
|
647
|
+
"derived": [
|
|
648
|
+
"Has its own 9:16 layout.",
|
|
649
|
+
"11 s default.",
|
|
650
|
+
"Takes code, filename, lang."
|
|
651
|
+
],
|
|
652
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_monokai.mp4"
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
"family": "animation",
|
|
656
|
+
"id": "code_snippet_solarized_light",
|
|
657
|
+
"call": "animations.code_snippet_solarized_light(…)",
|
|
658
|
+
"is": "A VS Code editor window in the Solarized Light theme that types out your code.",
|
|
659
|
+
"looks": "16:9: a full editor (title bar, file tab, explorer sidebar, line numbers, status bar) on a Solarized Light workbench, with a small header naming the theme. In 9:16 it switches to a portrait layout (checked in render 536): a small caps kicker and a 56 px file name at the top left, then a card in the upper half of the frame where lines slide in one by one under a moving highlight bar; at the end one line stays lit, the rest dim, and the card fades. The lower ~40 % of a 9:16 frame stays empty. The eye goes to the highlighted line.",
|
|
660
|
+
"for": [
|
|
661
|
+
"code",
|
|
662
|
+
"prove"
|
|
663
|
+
],
|
|
664
|
+
"fights": "Long lines (in 9:16 they wrap, breaking the code shape), a busy background behind it, a voiceover reading the code aloud word for word.",
|
|
665
|
+
"fit": "Code at ~15 px in the 16:9 editor reads small on a phone; the 9:16 card sets code at 40 px. About 10-14 lines fit. The catalog preview is blank, so judge it from a render.",
|
|
666
|
+
"derived": [
|
|
667
|
+
"Has its own 9:16 layout.",
|
|
668
|
+
"11 s default.",
|
|
669
|
+
"Takes code, filename, lang."
|
|
670
|
+
],
|
|
671
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_snippet_solarized_light.mp4"
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
"family": "animation",
|
|
675
|
+
"id": "code_snippet_visual_studio_dark",
|
|
676
|
+
"call": "animations.code_snippet_visual_studio_dark(…)",
|
|
677
|
+
"is": "A VS Code editor window in the Visual Studio Dark theme that types out your code.",
|
|
678
|
+
"looks": "16:9: a full editor (title bar, file tab, explorer sidebar, line numbers, status bar) on a Visual Studio Dark workbench, with a small header naming the theme. In 9:16 it switches to a portrait layout (checked in render 536): a small caps kicker and a 56 px file name at the top left, then a card in the upper half of the frame where lines slide in one by one under a moving highlight bar; at the end one line stays lit, the rest dim, and the card fades. The lower ~40 % of a 9:16 frame stays empty. The eye goes to the highlighted line.",
|
|
679
|
+
"for": [
|
|
680
|
+
"code",
|
|
681
|
+
"prove"
|
|
682
|
+
],
|
|
683
|
+
"fights": "Long lines (in 9:16 they wrap, breaking the code shape), a busy background behind it, a voiceover reading the code aloud word for word.",
|
|
684
|
+
"fit": "Code at ~15 px in the 16:9 editor reads small on a phone; the 9:16 card sets code at 40 px. About 10-14 lines fit. The catalog preview is blank, so judge it from a render.",
|
|
685
|
+
"derived": [
|
|
686
|
+
"Has its own 9:16 layout.",
|
|
687
|
+
"11 s default.",
|
|
688
|
+
"Takes code, filename, lang."
|
|
689
|
+
],
|
|
690
|
+
"preview": null
|
|
691
|
+
},
|
|
692
|
+
{
|
|
693
|
+
"family": "animation",
|
|
694
|
+
"id": "code_snippet_visual_studio_light",
|
|
695
|
+
"call": "animations.code_snippet_visual_studio_light(…)",
|
|
696
|
+
"is": "A VS Code editor window in the Visual Studio Light theme that types out your code.",
|
|
697
|
+
"looks": "16:9: a full editor (title bar, file tab, explorer sidebar, line numbers, status bar) on a Visual Studio Light workbench, with a small header naming the theme. In 9:16 it switches to a portrait layout (checked in render 536): a small caps kicker and a 56 px file name at the top left, then a card in the upper half of the frame where lines slide in one by one under a moving highlight bar; at the end one line stays lit, the rest dim, and the card fades. The lower ~40 % of a 9:16 frame stays empty. The eye goes to the highlighted line.",
|
|
698
|
+
"for": [
|
|
699
|
+
"code",
|
|
700
|
+
"prove"
|
|
701
|
+
],
|
|
702
|
+
"fights": "Long lines (in 9:16 they wrap, breaking the code shape), a busy background behind it, a voiceover reading the code aloud word for word.",
|
|
703
|
+
"fit": "Code at ~15 px in the 16:9 editor reads small on a phone; the 9:16 card sets code at 40 px. About 10-14 lines fit. The catalog preview is blank, so judge it from a render.",
|
|
704
|
+
"derived": [
|
|
705
|
+
"Has its own 9:16 layout.",
|
|
706
|
+
"11 s default.",
|
|
707
|
+
"Takes code, filename, lang."
|
|
708
|
+
],
|
|
709
|
+
"preview": null
|
|
710
|
+
},
|
|
711
|
+
{
|
|
712
|
+
"family": "animation",
|
|
713
|
+
"id": "code_typing",
|
|
714
|
+
"call": "animations.code_typing(…)",
|
|
715
|
+
"is": "A minimal editor window that types your code with a caret.",
|
|
716
|
+
"looks": "Dark editor window (file name in the title bar, line numbers) on a navy glow; characters appear one by one with a blinking caret. Quiet and readable.",
|
|
717
|
+
"for": [
|
|
718
|
+
"code"
|
|
719
|
+
],
|
|
720
|
+
"fights": "Long code (typing takes the whole beat), fast cuts.",
|
|
721
|
+
"fit": "Code sits ~30 px in a 1920 frame: in 9:16 it shrinks to ~17 px, too small on a phone. Use it at 16:9, or build a code card from `text` lines at 9:16.",
|
|
722
|
+
"derived": [
|
|
723
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
724
|
+
"5 s default.",
|
|
725
|
+
"Takes code, lang, theme, filename."
|
|
726
|
+
],
|
|
727
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__code_typing.mp4"
|
|
728
|
+
},
|
|
729
|
+
{
|
|
730
|
+
"family": "animation",
|
|
731
|
+
"id": "custom_html",
|
|
732
|
+
"call": "animations.custom_html(…)",
|
|
733
|
+
"is": "Your own HTML/CSS/GSAP animation, rendered frame by frame.",
|
|
734
|
+
"looks": "Whatever you author. It draws on a transparent stage over the footage below.",
|
|
735
|
+
"for": [
|
|
736
|
+
"texture",
|
|
737
|
+
"emphasize",
|
|
738
|
+
"demo"
|
|
739
|
+
],
|
|
740
|
+
"fights": "Nothing by itself; the risk is effort and untested layout.",
|
|
741
|
+
"fit": "You write it, so you must render and look at it. See the author contract in animations-catalog.md.",
|
|
742
|
+
"derived": [
|
|
743
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
744
|
+
"5 s default.",
|
|
745
|
+
"Takes src, html."
|
|
746
|
+
],
|
|
747
|
+
"preview": null
|
|
748
|
+
},
|
|
749
|
+
{
|
|
750
|
+
"family": "animation",
|
|
751
|
+
"id": "instagram_follow",
|
|
752
|
+
"call": "animations.instagram_follow(…)",
|
|
753
|
+
"is": "An Instagram-style profile pill with a Follow button that flips to Following.",
|
|
754
|
+
"looks": "A dark rounded pill with avatar, display name, handle and follower count; a pink Follow button that is pressed and turns grey \"Following\". Native vertical design, small in the frame.",
|
|
755
|
+
"for": [
|
|
756
|
+
"cta",
|
|
757
|
+
"brand"
|
|
758
|
+
],
|
|
759
|
+
"fights": "A busy picture right behind the pill; landscape frames (it is designed for 9:16).",
|
|
760
|
+
"fit": "One name and handle.",
|
|
761
|
+
"derived": [
|
|
762
|
+
"Vertical design (1080x1920): fills 9:16; in 16:9 it shrinks with side bands.",
|
|
763
|
+
"5 s default.",
|
|
764
|
+
"Takes displayName, handle, followers, avatarUrl, url.",
|
|
765
|
+
"Image asset via avatarUrl."
|
|
766
|
+
],
|
|
767
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__instagram_follow.mp4"
|
|
768
|
+
},
|
|
769
|
+
{
|
|
770
|
+
"family": "animation",
|
|
771
|
+
"id": "ios26_liquid_glass",
|
|
772
|
+
"call": "animations.ios26_liquid_glass(…)",
|
|
773
|
+
"is": "An iOS 26 liquid-glass device scene.",
|
|
774
|
+
"looks": "A blurred blue-violet wallpaper with frosted glass panels; slow, glossy and abstract.",
|
|
775
|
+
"for": [
|
|
776
|
+
"texture",
|
|
777
|
+
"establish"
|
|
778
|
+
],
|
|
779
|
+
"fights": "Anything that needs your own content: it takes no params.",
|
|
780
|
+
"fit": "Demo block: most of what it shows is fixed artwork; only the listed params change. No params at all. WebGL: heavy render.",
|
|
781
|
+
"derived": [
|
|
782
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
783
|
+
"15 s default.",
|
|
784
|
+
"Takes no params."
|
|
785
|
+
],
|
|
786
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__ios26_liquid_glass.mp4?v=f9f046f0"
|
|
787
|
+
},
|
|
788
|
+
{
|
|
789
|
+
"family": "animation",
|
|
790
|
+
"id": "liquid_glass_context_menu",
|
|
791
|
+
"call": "animations.liquid_glass_context_menu(…)",
|
|
792
|
+
"is": "A liquid-glass context menu over an aurora shader background.",
|
|
793
|
+
"looks": "A moving aurora gradient behind a frosted glass menu panel listing a file name and metadata.",
|
|
794
|
+
"for": [
|
|
795
|
+
"demo",
|
|
796
|
+
"texture"
|
|
797
|
+
],
|
|
798
|
+
"fights": "Content that is not a file or menu.",
|
|
799
|
+
"fit": "Demo block: most of what it shows is fixed artwork; only the listed params change. fileName and fileMeta are yours. No catalog preview.",
|
|
800
|
+
"derived": [
|
|
801
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
802
|
+
"8 s default.",
|
|
803
|
+
"Takes fileName, fileMeta."
|
|
804
|
+
],
|
|
805
|
+
"preview": null
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
"family": "animation",
|
|
809
|
+
"id": "liquid_glass_media_controls",
|
|
810
|
+
"call": "animations.liquid_glass_media_controls(…)",
|
|
811
|
+
"is": "A small liquid-glass media player panel.",
|
|
812
|
+
"looks": "A compact frosted panel with track title, artist and play controls, small in the frame on dark.",
|
|
813
|
+
"for": [
|
|
814
|
+
"demo"
|
|
815
|
+
],
|
|
816
|
+
"fights": "Large phones-first framing: the panel is small.",
|
|
817
|
+
"fit": "Demo block: most of what it shows is fixed artwork; only the listed params change. trackTitle and artist are yours.",
|
|
818
|
+
"derived": [
|
|
819
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
820
|
+
"8 s default.",
|
|
821
|
+
"Takes trackTitle, artist."
|
|
822
|
+
],
|
|
823
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__liquid_glass_media_controls.mp4?v=24d2c880"
|
|
824
|
+
},
|
|
825
|
+
{
|
|
826
|
+
"family": "animation",
|
|
827
|
+
"id": "liquid_glass_notification",
|
|
828
|
+
"call": "animations.liquid_glass_notification(…)",
|
|
829
|
+
"is": "Liquid-glass notifications sliding in over a colourful wave wallpaper.",
|
|
830
|
+
"looks": "A loud orange/blue/purple wave wallpaper fills the frame; frosted notification cards slide in at the top right.",
|
|
831
|
+
"for": [
|
|
832
|
+
"demo",
|
|
833
|
+
"announce"
|
|
834
|
+
],
|
|
835
|
+
"fights": "Brand palettes that clash with the fixed rainbow wallpaper.",
|
|
836
|
+
"fit": "Demo block: most of what it shows is fixed artwork; only the listed params change. title, body and messageText are yours.",
|
|
837
|
+
"derived": [
|
|
838
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
839
|
+
"8 s default.",
|
|
840
|
+
"Takes title, body, messageText."
|
|
841
|
+
],
|
|
842
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__liquid_glass_notification.mp4"
|
|
843
|
+
},
|
|
844
|
+
{
|
|
845
|
+
"family": "animation",
|
|
846
|
+
"id": "liquid_glass_widgets",
|
|
847
|
+
"call": "animations.liquid_glass_widgets(…)",
|
|
848
|
+
"is": "A row of liquid-glass widgets with a title card.",
|
|
849
|
+
"looks": "Dark frame with a row of small glossy widget tiles and a frosted card; restrained motion.",
|
|
850
|
+
"for": [
|
|
851
|
+
"demo"
|
|
852
|
+
],
|
|
853
|
+
"fights": "Anything that needs to be read from a phone: the tiles are small.",
|
|
854
|
+
"fit": "Demo block: most of what it shows is fixed artwork; only the listed params change. showcaseTitle and showcaseDescription are yours.",
|
|
855
|
+
"derived": [
|
|
856
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
857
|
+
"8 s default.",
|
|
858
|
+
"Takes showcaseTitle, showcaseDescription."
|
|
859
|
+
],
|
|
860
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__liquid_glass_widgets.mp4"
|
|
861
|
+
},
|
|
862
|
+
{
|
|
863
|
+
"family": "animation",
|
|
864
|
+
"id": "logo_outro",
|
|
865
|
+
"call": "animations.logo_outro(…)",
|
|
866
|
+
"is": "A logo sting: the logo appears with a glow and a tagline under it.",
|
|
867
|
+
"looks": "Dark frame; a small accent dot grows into the logo badge with a soft glow behind it, then the tagline (and URL) fades in below, centred.",
|
|
868
|
+
"for": [
|
|
869
|
+
"brand",
|
|
870
|
+
"cta"
|
|
871
|
+
],
|
|
872
|
+
"fights": "Being anywhere but the end; a missing logo (without logoUrl or brand it shows a Figma-style demo mark).",
|
|
873
|
+
"fit": "Pass logoUrl or brand: \"scenerok\". Tagline: one short line.",
|
|
874
|
+
"derived": [
|
|
875
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
876
|
+
"6 s default.",
|
|
877
|
+
"Takes tagline, url, logoUrl, brand, accent.",
|
|
878
|
+
"Image asset via logoUrl."
|
|
879
|
+
],
|
|
880
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__logo_outro.mp4"
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
"family": "animation",
|
|
884
|
+
"id": "lower_third",
|
|
885
|
+
"call": "animations.lower_third(…)",
|
|
886
|
+
"is": "A plain lower third: a bold name over a smaller role, with an accent rule.",
|
|
887
|
+
"looks": "A thin blue rule draws out, then a bold white name and a grey role appear under it, left-aligned. No box behind the text.",
|
|
888
|
+
"for": [
|
|
889
|
+
"name"
|
|
890
|
+
],
|
|
891
|
+
"fights": "Bright busy footage behind it (there is no plate for contrast).",
|
|
892
|
+
"fit": "Name and role, one line each.",
|
|
893
|
+
"derived": [
|
|
894
|
+
"Has its own 9:16 layout.",
|
|
895
|
+
"5 s default.",
|
|
896
|
+
"Takes title, subtitle."
|
|
897
|
+
],
|
|
898
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__lower_third.mp4"
|
|
899
|
+
},
|
|
900
|
+
{
|
|
901
|
+
"family": "animation",
|
|
902
|
+
"id": "lower_third_bild",
|
|
903
|
+
"call": "animations.lower_third_bild(…)",
|
|
904
|
+
"is": "A tabloid-style lower third: a white name box with a red tag.",
|
|
905
|
+
"looks": "A white box with a heavy black name and a red role tag under it. Loud, news-like.",
|
|
906
|
+
"for": [
|
|
907
|
+
"name",
|
|
908
|
+
"announce"
|
|
909
|
+
],
|
|
910
|
+
"fights": "Calm, premium edits.",
|
|
911
|
+
"fit": "Short name, one-word role.",
|
|
912
|
+
"derived": [
|
|
913
|
+
"16:9 design: in 9:16 it scales to 56 % and a layout profile repositions it; type reads small.",
|
|
914
|
+
"8 s default.",
|
|
915
|
+
"Takes title, subtitle, accent, bg."
|
|
916
|
+
],
|
|
917
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__lower_third_bild.mp4"
|
|
918
|
+
},
|
|
919
|
+
{
|
|
920
|
+
"family": "animation",
|
|
921
|
+
"id": "lt_accent_underline",
|
|
922
|
+
"call": "animations.lt_accent_underline(…)",
|
|
923
|
+
"is": "A broadcast lower third: a name and a role in a caps name with a coloured underline.",
|
|
924
|
+
"looks": "A caps name with a coloured underline enters from the left edge of the lower third, the name (bold) first and the role (smaller) after; it holds still once settled. The frame above stays free for the picture.",
|
|
925
|
+
"for": [
|
|
926
|
+
"name"
|
|
927
|
+
],
|
|
928
|
+
"fights": "A picture with its own text in the lower third, a second lower third, long titles (two short lines is the design).",
|
|
929
|
+
"fit": "Name up to ~24 characters, role up to ~32.",
|
|
930
|
+
"derived": [
|
|
931
|
+
"Has its own 9:16 layout.",
|
|
932
|
+
"5 s default.",
|
|
933
|
+
"Takes title, subtitle, accent, bg."
|
|
934
|
+
],
|
|
935
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__lt_accent_underline.mp4"
|
|
936
|
+
},
|
|
937
|
+
{
|
|
938
|
+
"family": "animation",
|
|
939
|
+
"id": "lt_bold_block",
|
|
940
|
+
"call": "animations.lt_bold_block(…)",
|
|
941
|
+
"is": "A broadcast lower third: a name and a role in a heavy block with a yellow role bar.",
|
|
942
|
+
"looks": "A heavy block with a yellow role bar enters from the left edge of the lower third, the name (bold) first and the role (smaller) after; it holds still once settled. The frame above stays free for the picture. Strong and broadcast-like.",
|
|
943
|
+
"for": [
|
|
944
|
+
"name"
|
|
945
|
+
],
|
|
946
|
+
"fights": "A picture with its own text in the lower third, a second lower third, long titles (two short lines is the design).",
|
|
947
|
+
"fit": "Name up to ~24 characters, role up to ~32.",
|
|
948
|
+
"derived": [
|
|
949
|
+
"Has its own 9:16 layout.",
|
|
950
|
+
"5 s default.",
|
|
951
|
+
"Takes title, subtitle, accent, bg."
|
|
952
|
+
],
|
|
953
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__lt_bold_block.mp4"
|
|
954
|
+
},
|
|
955
|
+
{
|
|
956
|
+
"family": "animation",
|
|
957
|
+
"id": "lt_clean_bar",
|
|
958
|
+
"call": "animations.lt_clean_bar(…)",
|
|
959
|
+
"is": "A broadcast lower third: a name and a role in a white card with an accent edge.",
|
|
960
|
+
"looks": "A white card with an accent edge enters from the left edge of the lower third, the name (bold) first and the role (smaller) after; it holds still once settled. The frame above stays free for the picture.",
|
|
961
|
+
"for": [
|
|
962
|
+
"name"
|
|
963
|
+
],
|
|
964
|
+
"fights": "A picture with its own text in the lower third, a second lower third, long titles (two short lines is the design).",
|
|
965
|
+
"fit": "Name up to ~24 characters, role up to ~32.",
|
|
966
|
+
"derived": [
|
|
967
|
+
"16:9 design: in 9:16 it scales to 56 % and a layout profile repositions it; type reads small.",
|
|
968
|
+
"5 s default.",
|
|
969
|
+
"Takes title, subtitle, accent, bg."
|
|
970
|
+
],
|
|
971
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__lt_clean_bar.mp4"
|
|
972
|
+
},
|
|
973
|
+
{
|
|
974
|
+
"family": "animation",
|
|
975
|
+
"id": "lt_color_block",
|
|
976
|
+
"call": "animations.lt_color_block(…)",
|
|
977
|
+
"is": "A broadcast lower third: a name and a role in a solid accent-coloured block.",
|
|
978
|
+
"looks": "A solid accent-coloured block enters from the left edge of the lower third, the name (bold) first and the role (smaller) after; it holds still once settled. The frame above stays free for the picture.",
|
|
979
|
+
"for": [
|
|
980
|
+
"name"
|
|
981
|
+
],
|
|
982
|
+
"fights": "A picture with its own text in the lower third, a second lower third, long titles (two short lines is the design).",
|
|
983
|
+
"fit": "Name up to ~24 characters, role up to ~32.",
|
|
984
|
+
"derived": [
|
|
985
|
+
"Has its own 9:16 layout.",
|
|
986
|
+
"5 s default.",
|
|
987
|
+
"Takes title, subtitle, accent, bg."
|
|
988
|
+
],
|
|
989
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__lt_color_block.mp4"
|
|
990
|
+
},
|
|
991
|
+
{
|
|
992
|
+
"family": "animation",
|
|
993
|
+
"id": "lt_dark_card",
|
|
994
|
+
"call": "animations.lt_dark_card(…)",
|
|
995
|
+
"is": "A broadcast lower third: a name and a role in a dark card.",
|
|
996
|
+
"looks": "A dark card enters from the left edge of the lower third, the name (bold) first and the role (smaller) after; it holds still once settled. The frame above stays free for the picture.",
|
|
997
|
+
"for": [
|
|
998
|
+
"name"
|
|
999
|
+
],
|
|
1000
|
+
"fights": "A picture with its own text in the lower third, a second lower third, long titles (two short lines is the design).",
|
|
1001
|
+
"fit": "Name up to ~24 characters, role up to ~32.",
|
|
1002
|
+
"derived": [
|
|
1003
|
+
"Has its own 9:16 layout.",
|
|
1004
|
+
"5 s default.",
|
|
1005
|
+
"Takes title, subtitle, accent, bg."
|
|
1006
|
+
],
|
|
1007
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__lt_dark_card.mp4"
|
|
1008
|
+
},
|
|
1009
|
+
{
|
|
1010
|
+
"family": "animation",
|
|
1011
|
+
"id": "lt_kicker_name",
|
|
1012
|
+
"call": "animations.lt_kicker_name(…)",
|
|
1013
|
+
"is": "A lower third with a small coloured kicker tag above a caps name.",
|
|
1014
|
+
"looks": "A small accent tag (the kicker, e.g. a role or label) appears first, then the name in caps below with an underline. Lower third of the frame; holds still once in.",
|
|
1015
|
+
"for": [
|
|
1016
|
+
"name"
|
|
1017
|
+
],
|
|
1018
|
+
"fights": "Pictures with text low in frame; a second lower third.",
|
|
1019
|
+
"fit": "Kicker: one or two words. Name: up to ~24 characters.",
|
|
1020
|
+
"derived": [
|
|
1021
|
+
"Has its own 9:16 layout.",
|
|
1022
|
+
"5 s default.",
|
|
1023
|
+
"Takes kicker, title, accent."
|
|
1024
|
+
],
|
|
1025
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__lt_kicker_name.mp4"
|
|
1026
|
+
},
|
|
1027
|
+
{
|
|
1028
|
+
"family": "animation",
|
|
1029
|
+
"id": "lt_mask_reveal",
|
|
1030
|
+
"call": "animations.lt_mask_reveal(…)",
|
|
1031
|
+
"is": "A broadcast lower third: a name and a role in a name revealed by a wipe mask.",
|
|
1032
|
+
"looks": "A name revealed by a wipe mask enters from the left edge of the lower third, the name (bold) first and the role (smaller) after; it holds still once settled. The frame above stays free for the picture. The text is wiped on rather than faded.",
|
|
1033
|
+
"for": [
|
|
1034
|
+
"name"
|
|
1035
|
+
],
|
|
1036
|
+
"fights": "A picture with its own text in the lower third, a second lower third, long titles (two short lines is the design).",
|
|
1037
|
+
"fit": "Name up to ~24 characters, role up to ~32.",
|
|
1038
|
+
"derived": [
|
|
1039
|
+
"Has its own 9:16 layout.",
|
|
1040
|
+
"5 s default.",
|
|
1041
|
+
"Takes title, subtitle, accent, bg."
|
|
1042
|
+
],
|
|
1043
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__lt_mask_reveal.mp4"
|
|
1044
|
+
},
|
|
1045
|
+
{
|
|
1046
|
+
"family": "animation",
|
|
1047
|
+
"id": "lt_side_rule",
|
|
1048
|
+
"call": "animations.lt_side_rule(…)",
|
|
1049
|
+
"is": "A broadcast lower third: a name and a role in a thin vertical rule beside the name.",
|
|
1050
|
+
"looks": "A thin vertical rule beside the name enters from the left edge of the lower third, the name (bold) first and the role (smaller) after; it holds still once settled. The frame above stays free for the picture.",
|
|
1051
|
+
"for": [
|
|
1052
|
+
"name"
|
|
1053
|
+
],
|
|
1054
|
+
"fights": "A picture with its own text in the lower third, a second lower third, long titles (two short lines is the design).",
|
|
1055
|
+
"fit": "Name up to ~24 characters, role up to ~32.",
|
|
1056
|
+
"derived": [
|
|
1057
|
+
"Has its own 9:16 layout.",
|
|
1058
|
+
"5 s default.",
|
|
1059
|
+
"Takes title, subtitle, accent, bg."
|
|
1060
|
+
],
|
|
1061
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__lt_side_rule.mp4"
|
|
1062
|
+
},
|
|
1063
|
+
{
|
|
1064
|
+
"family": "animation",
|
|
1065
|
+
"id": "lt_soft_pill",
|
|
1066
|
+
"call": "animations.lt_soft_pill(…)",
|
|
1067
|
+
"is": "A broadcast lower third: a name and a role in a soft white pill.",
|
|
1068
|
+
"looks": "A soft white pill enters from the left edge of the lower third, the name (bold) first and the role (smaller) after; it holds still once settled. The frame above stays free for the picture.",
|
|
1069
|
+
"for": [
|
|
1070
|
+
"name"
|
|
1071
|
+
],
|
|
1072
|
+
"fights": "A picture with its own text in the lower third, a second lower third, long titles (two short lines is the design).",
|
|
1073
|
+
"fit": "Name up to ~24 characters, role up to ~32.",
|
|
1074
|
+
"derived": [
|
|
1075
|
+
"16:9 design: in 9:16 it scales to 56 % and a layout profile repositions it; type reads small.",
|
|
1076
|
+
"5 s default.",
|
|
1077
|
+
"Takes title, subtitle, accent, bg."
|
|
1078
|
+
],
|
|
1079
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__lt_soft_pill.mp4"
|
|
1080
|
+
},
|
|
1081
|
+
{
|
|
1082
|
+
"family": "animation",
|
|
1083
|
+
"id": "lt_stack_bars",
|
|
1084
|
+
"call": "animations.lt_stack_bars(…)",
|
|
1085
|
+
"is": "A broadcast lower third: a name and a role in a dark bar with a yellow role bar stacked under it.",
|
|
1086
|
+
"looks": "A dark bar with a yellow role bar stacked under it enters from the left edge of the lower third, the name (bold) first and the role (smaller) after; it holds still once settled. The frame above stays free for the picture.",
|
|
1087
|
+
"for": [
|
|
1088
|
+
"name"
|
|
1089
|
+
],
|
|
1090
|
+
"fights": "A picture with its own text in the lower third, a second lower third, long titles (two short lines is the design).",
|
|
1091
|
+
"fit": "Name up to ~24 characters, role up to ~32.",
|
|
1092
|
+
"derived": [
|
|
1093
|
+
"Has its own 9:16 layout.",
|
|
1094
|
+
"5 s default.",
|
|
1095
|
+
"Takes title, subtitle, accent, bg."
|
|
1096
|
+
],
|
|
1097
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__lt_stack_bars.mp4?v=be9b5b4f"
|
|
1098
|
+
},
|
|
1099
|
+
{
|
|
1100
|
+
"family": "animation",
|
|
1101
|
+
"id": "macos_notification",
|
|
1102
|
+
"call": "animations.macos_notification(…)",
|
|
1103
|
+
"is": "A macOS notification banner sliding in at the top right.",
|
|
1104
|
+
"looks": "A small grey translucent banner with app icon, app name, title and body slides in at the top right and holds. Tiny in a phone frame.",
|
|
1105
|
+
"for": [
|
|
1106
|
+
"prove",
|
|
1107
|
+
"announce"
|
|
1108
|
+
],
|
|
1109
|
+
"fights": "Text-heavy frames; 9:16 (it is a small corner element).",
|
|
1110
|
+
"fit": "App name, title and one body line.",
|
|
1111
|
+
"derived": [
|
|
1112
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
1113
|
+
"5 s default.",
|
|
1114
|
+
"Takes appName, timeLabel, title, body."
|
|
1115
|
+
],
|
|
1116
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__macos_notification.mp4"
|
|
1117
|
+
},
|
|
1118
|
+
{
|
|
1119
|
+
"family": "animation",
|
|
1120
|
+
"id": "macos_tahoe_liquid_glass",
|
|
1121
|
+
"call": "animations.macos_tahoe_liquid_glass(…)",
|
|
1122
|
+
"is": "A macOS Tahoe desktop with liquid-glass windows over a wallpaper.",
|
|
1123
|
+
"looks": "A soft blue-violet desktop wallpaper with a menu bar, glass windows, a toast and a weather widget. Glossy and slow.",
|
|
1124
|
+
"for": [
|
|
1125
|
+
"demo",
|
|
1126
|
+
"establish"
|
|
1127
|
+
],
|
|
1128
|
+
"fights": "Fast pacing; anything that is not a desktop.",
|
|
1129
|
+
"fit": "Demo block: most of what it shows is fixed artwork; only the listed params change. wallpaperUrl, windowTitle, toastBody, weatherLocation are yours. WebGL: heavy render.",
|
|
1130
|
+
"derived": [
|
|
1131
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
1132
|
+
"15 s default.",
|
|
1133
|
+
"Takes wallpaperUrl, windowTitle, toastBody, weatherLocation.",
|
|
1134
|
+
"Image asset via wallpaperUrl."
|
|
1135
|
+
],
|
|
1136
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__macos_tahoe_liquid_glass.mp4?v=7bc0b4f8"
|
|
1137
|
+
},
|
|
1138
|
+
{
|
|
1139
|
+
"family": "animation",
|
|
1140
|
+
"id": "news_ticker",
|
|
1141
|
+
"call": "animations.news_ticker(…)",
|
|
1142
|
+
"is": "A TV news strap: a red label, a headline and a scrolling ticker.",
|
|
1143
|
+
"looks": "A dark strap across the lower part of the frame with a red \"breaking\" label at the left, a bold headline with an accent-coloured phrase, and a ticker crawling along a thinner bar under it.",
|
|
1144
|
+
"for": [
|
|
1145
|
+
"announce"
|
|
1146
|
+
],
|
|
1147
|
+
"fights": "Premium or calm tone; a second strap or lower third.",
|
|
1148
|
+
"fit": "Headline under ~40 characters; ticker items separated by newlines.",
|
|
1149
|
+
"derived": [
|
|
1150
|
+
"16:9 design: in 9:16 it scales to 56 % and a layout profile repositions it; type reads small.",
|
|
1151
|
+
"7 s default.",
|
|
1152
|
+
"Takes desk, time, label, headline, headlineAccent, ticker."
|
|
1153
|
+
],
|
|
1154
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__news_ticker.mp4"
|
|
1155
|
+
},
|
|
1156
|
+
{
|
|
1157
|
+
"family": "animation",
|
|
1158
|
+
"id": "reddit_post",
|
|
1159
|
+
"call": "animations.reddit_post(…)",
|
|
1160
|
+
"is": "A Reddit post card with subreddit, title, body and votes.",
|
|
1161
|
+
"looks": "A small dark card: subreddit and author at the top, a bold title, a few lines of body, vote and comment counts at the bottom.",
|
|
1162
|
+
"for": [
|
|
1163
|
+
"prove",
|
|
1164
|
+
"quote"
|
|
1165
|
+
],
|
|
1166
|
+
"fights": "Small phones (the card is small), long post bodies.",
|
|
1167
|
+
"fit": "Title plus two or three body lines.",
|
|
1168
|
+
"derived": [
|
|
1169
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
1170
|
+
"5 s default.",
|
|
1171
|
+
"Takes subreddit, author, title, body, votes."
|
|
1172
|
+
],
|
|
1173
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__reddit_post.mp4"
|
|
1174
|
+
},
|
|
1175
|
+
{
|
|
1176
|
+
"family": "animation",
|
|
1177
|
+
"id": "spotify_card",
|
|
1178
|
+
"call": "animations.spotify_card(…)",
|
|
1179
|
+
"is": "A Spotify now-playing card with album art and track name.",
|
|
1180
|
+
"looks": "A tall dark card filling much of a 9:16 frame: a big green album square with a music note, the track title and artist under it. Native vertical design.",
|
|
1181
|
+
"for": [
|
|
1182
|
+
"sound",
|
|
1183
|
+
"prove"
|
|
1184
|
+
],
|
|
1185
|
+
"fights": "16:9 frames (it is a vertical card).",
|
|
1186
|
+
"fit": "Track and artist.",
|
|
1187
|
+
"derived": [
|
|
1188
|
+
"Vertical design (1080x1920): fills 9:16; in 16:9 it shrinks with side bands.",
|
|
1189
|
+
"5 s default.",
|
|
1190
|
+
"Takes track, artist."
|
|
1191
|
+
],
|
|
1192
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__spotify_card.mp4"
|
|
1193
|
+
},
|
|
1194
|
+
{
|
|
1195
|
+
"family": "animation",
|
|
1196
|
+
"id": "text_counter_stat",
|
|
1197
|
+
"call": "animations.text_counter_stat(…)",
|
|
1198
|
+
"is": "A big number that counts up, with a small label and an underline.",
|
|
1199
|
+
"looks": "Transparent overlay. A very large bold number in the centre ticks up to its value with an accent-coloured suffix, a small spaced-out caps label under it and a short accent underline. The eye locks on the number.",
|
|
1200
|
+
"for": [
|
|
1201
|
+
"count",
|
|
1202
|
+
"emphasize"
|
|
1203
|
+
],
|
|
1204
|
+
"fights": "A second number on screen; numbers that are not impressive at a glance.",
|
|
1205
|
+
"fit": "One number and a 1-3 word label. suffix defaults to \"+\", so pass suffix: \"\" unless the number is a floor. ~146 px number in 9:16.",
|
|
1206
|
+
"derived": [
|
|
1207
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
1208
|
+
"5 s default.",
|
|
1209
|
+
"Takes value, label, prefix, suffix, color, accent."
|
|
1210
|
+
],
|
|
1211
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__text_counter_stat.mp4?v=648434e3"
|
|
1212
|
+
},
|
|
1213
|
+
{
|
|
1214
|
+
"family": "animation",
|
|
1215
|
+
"id": "text_glitch_title",
|
|
1216
|
+
"call": "animations.text_glitch_title(…)",
|
|
1217
|
+
"is": "A title that arrives with an RGB-split glitch and settles clean.",
|
|
1218
|
+
"looks": "Transparent overlay; a heavy caps title jitters with red/blue channel offsets, then snaps to clean white.",
|
|
1219
|
+
"for": [
|
|
1220
|
+
"announce",
|
|
1221
|
+
"emphasize"
|
|
1222
|
+
],
|
|
1223
|
+
"fights": "Calm or premium tone, motion-sensitive viewers.",
|
|
1224
|
+
"fit": "Two or three words.",
|
|
1225
|
+
"derived": [
|
|
1226
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
1227
|
+
"5 s default.",
|
|
1228
|
+
"Takes text, color."
|
|
1229
|
+
],
|
|
1230
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__text_glitch_title.mp4?v=b2bec3e7"
|
|
1231
|
+
},
|
|
1232
|
+
{
|
|
1233
|
+
"family": "animation",
|
|
1234
|
+
"id": "text_gradient_sweep",
|
|
1235
|
+
"call": "animations.text_gradient_sweep(…)",
|
|
1236
|
+
"is": "A headline filled with a moving gradient.",
|
|
1237
|
+
"looks": "Transparent overlay; a bold headline whose letters fill with a pink-to-violet gradient that sweeps across them.",
|
|
1238
|
+
"for": [
|
|
1239
|
+
"announce"
|
|
1240
|
+
],
|
|
1241
|
+
"fights": "Brand palettes that do not include the gradient colours (set from/to), photos behind it.",
|
|
1242
|
+
"fit": "A short headline, one line.",
|
|
1243
|
+
"derived": [
|
|
1244
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
1245
|
+
"5 s default.",
|
|
1246
|
+
"Takes text, from, to."
|
|
1247
|
+
],
|
|
1248
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__text_gradient_sweep.mp4?v=fa7aee38"
|
|
1249
|
+
},
|
|
1250
|
+
{
|
|
1251
|
+
"family": "animation",
|
|
1252
|
+
"id": "text_kinetic_words",
|
|
1253
|
+
"call": "animations.text_kinetic_words(…)",
|
|
1254
|
+
"is": "Kinetic type: one big word at a time, on the beat.",
|
|
1255
|
+
"looks": "Transparent overlay; single words flash up large in the centre one after another, alternating white and an accent colour.",
|
|
1256
|
+
"for": [
|
|
1257
|
+
"emphasize",
|
|
1258
|
+
"announce"
|
|
1259
|
+
],
|
|
1260
|
+
"fights": "Sentences that need reading as a whole, slow music.",
|
|
1261
|
+
"fit": "Three to six short words.",
|
|
1262
|
+
"derived": [
|
|
1263
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
1264
|
+
"5 s default.",
|
|
1265
|
+
"Takes text, color, accent."
|
|
1266
|
+
],
|
|
1267
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__text_kinetic_words.mp4?v=15009872"
|
|
1268
|
+
},
|
|
1269
|
+
{
|
|
1270
|
+
"family": "animation",
|
|
1271
|
+
"id": "text_line_stack",
|
|
1272
|
+
"call": "animations.text_line_stack(…)",
|
|
1273
|
+
"is": "Two or three lines of a title revealed through masks, one after another.",
|
|
1274
|
+
"looks": "Transparent overlay; a short accent rule, then each line rises out of a mask, the second in the accent colour. Clean editorial look.",
|
|
1275
|
+
"for": [
|
|
1276
|
+
"announce",
|
|
1277
|
+
"list"
|
|
1278
|
+
],
|
|
1279
|
+
"fights": "Long lines (two to four words per line is the design).",
|
|
1280
|
+
"fit": "line1, line2, optional line3.",
|
|
1281
|
+
"derived": [
|
|
1282
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
1283
|
+
"5 s default.",
|
|
1284
|
+
"Takes line1, line2, line3, color, accent."
|
|
1285
|
+
],
|
|
1286
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__text_line_stack.mp4?v=d11dc02f"
|
|
1287
|
+
},
|
|
1288
|
+
{
|
|
1289
|
+
"family": "animation",
|
|
1290
|
+
"id": "text_neon_flicker",
|
|
1291
|
+
"call": "animations.text_neon_flicker(…)",
|
|
1292
|
+
"is": "A neon-sign title that flickers on.",
|
|
1293
|
+
"looks": "Transparent overlay; grey unlit letters flicker, then glow in a saturated neon colour with a soft halo.",
|
|
1294
|
+
"for": [
|
|
1295
|
+
"establish",
|
|
1296
|
+
"emphasize"
|
|
1297
|
+
],
|
|
1298
|
+
"fights": "Bright backgrounds (the glow needs dark), motion-sensitive viewers.",
|
|
1299
|
+
"fit": "One or two words.",
|
|
1300
|
+
"derived": [
|
|
1301
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
1302
|
+
"5 s default.",
|
|
1303
|
+
"Takes text, color."
|
|
1304
|
+
],
|
|
1305
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__text_neon_flicker.mp4?v=028f1626"
|
|
1306
|
+
},
|
|
1307
|
+
{
|
|
1308
|
+
"family": "animation",
|
|
1309
|
+
"id": "text_scramble_decode",
|
|
1310
|
+
"call": "animations.text_scramble_decode(…)",
|
|
1311
|
+
"is": "A title that decodes from random characters.",
|
|
1312
|
+
"looks": "Transparent overlay; a line of monospaced random symbols in an accent green resolves left to right into the real words.",
|
|
1313
|
+
"for": [
|
|
1314
|
+
"announce",
|
|
1315
|
+
"code"
|
|
1316
|
+
],
|
|
1317
|
+
"fights": "Warm or human tone; long titles.",
|
|
1318
|
+
"fit": "One short line.",
|
|
1319
|
+
"derived": [
|
|
1320
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
1321
|
+
"5 s default.",
|
|
1322
|
+
"Takes text, color, accent."
|
|
1323
|
+
],
|
|
1324
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__text_scramble_decode.mp4?v=5578cf99"
|
|
1325
|
+
},
|
|
1326
|
+
{
|
|
1327
|
+
"family": "animation",
|
|
1328
|
+
"id": "text_typewriter_quote",
|
|
1329
|
+
"call": "animations.text_typewriter_quote(…)",
|
|
1330
|
+
"is": "A quote typed out in italics, with the author under it.",
|
|
1331
|
+
"looks": "Transparent overlay; a serif italic quote types out with a caret, centred, then the attribution fades in small below.",
|
|
1332
|
+
"for": [
|
|
1333
|
+
"quote"
|
|
1334
|
+
],
|
|
1335
|
+
"fights": "Long quotes (typing time grows), busy pictures behind serif type.",
|
|
1336
|
+
"fit": "One or two sentences.",
|
|
1337
|
+
"derived": [
|
|
1338
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
1339
|
+
"5 s default.",
|
|
1340
|
+
"Takes text, author, color, accent."
|
|
1341
|
+
],
|
|
1342
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__text_typewriter_quote.mp4?v=c4c64c37"
|
|
1343
|
+
},
|
|
1344
|
+
{
|
|
1345
|
+
"family": "animation",
|
|
1346
|
+
"id": "text_word_cascade",
|
|
1347
|
+
"call": "animations.text_word_cascade(…)",
|
|
1348
|
+
"is": "A headline whose words drop in one by one, the last in an accent colour.",
|
|
1349
|
+
"looks": "Transparent overlay; bold words fall into place in sequence, centred, with the last word in the accent colour.",
|
|
1350
|
+
"for": [
|
|
1351
|
+
"announce"
|
|
1352
|
+
],
|
|
1353
|
+
"fights": "Headlines whose key word is not last.",
|
|
1354
|
+
"fit": "Three to eight words.",
|
|
1355
|
+
"derived": [
|
|
1356
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
1357
|
+
"5 s default.",
|
|
1358
|
+
"Takes text, color, accent."
|
|
1359
|
+
],
|
|
1360
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__text_word_cascade.mp4?v=2eca3c74"
|
|
1361
|
+
},
|
|
1362
|
+
{
|
|
1363
|
+
"family": "animation",
|
|
1364
|
+
"id": "tiktok_follow",
|
|
1365
|
+
"call": "animations.tiktok_follow(…)",
|
|
1366
|
+
"is": "A TikTok-style profile pill with a Follow button that flips to Following.",
|
|
1367
|
+
"looks": "A dark rounded pill with avatar, display name, handle and followers; a red Follow button is pressed and turns grey \"Following\". Native vertical design.",
|
|
1368
|
+
"for": [
|
|
1369
|
+
"cta",
|
|
1370
|
+
"brand"
|
|
1371
|
+
],
|
|
1372
|
+
"fights": "Landscape frames; a busy picture right behind it.",
|
|
1373
|
+
"fit": "One name and handle.",
|
|
1374
|
+
"derived": [
|
|
1375
|
+
"Vertical design (1080x1920): fills 9:16; in 16:9 it shrinks with side bands.",
|
|
1376
|
+
"5 s default.",
|
|
1377
|
+
"Takes displayName, handle, followers, avatarUrl, url.",
|
|
1378
|
+
"Image asset via avatarUrl."
|
|
1379
|
+
],
|
|
1380
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__tiktok_follow.mp4"
|
|
1381
|
+
},
|
|
1382
|
+
{
|
|
1383
|
+
"family": "animation",
|
|
1384
|
+
"id": "ui_3d_reveal",
|
|
1385
|
+
"call": "animations.ui_3d_reveal(…)",
|
|
1386
|
+
"is": "A design-tool canvas (Figma-like) that reveals a UI in 3D.",
|
|
1387
|
+
"looks": "Dark canvas with a faint logo, then a desktop design-tool window slides up in perspective showing a UI mock.",
|
|
1388
|
+
"for": [
|
|
1389
|
+
"demo",
|
|
1390
|
+
"announce"
|
|
1391
|
+
],
|
|
1392
|
+
"fights": "Short beats (13 s default), phone frames (the window is small).",
|
|
1393
|
+
"fit": "Demo block: most of what it shows is fixed artwork; only the listed params change. heroTitle and outroUrl are yours.",
|
|
1394
|
+
"derived": [
|
|
1395
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
1396
|
+
"13 s default.",
|
|
1397
|
+
"Takes heroTitle, outroUrl."
|
|
1398
|
+
],
|
|
1399
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__ui_3d_reveal.mp4"
|
|
1400
|
+
},
|
|
1401
|
+
{
|
|
1402
|
+
"family": "animation",
|
|
1403
|
+
"id": "vfx_iphone_device",
|
|
1404
|
+
"call": "animations.vfx_iphone_device(…)",
|
|
1405
|
+
"is": "A 3D iPhone that shows your screenshot, lit like a product render.",
|
|
1406
|
+
"looks": "A dark studio frame with a glossy 3D phone on a turntable that breathes and turns slightly; your image is on its screen.",
|
|
1407
|
+
"for": [
|
|
1408
|
+
"demo",
|
|
1409
|
+
"prove"
|
|
1410
|
+
],
|
|
1411
|
+
"fights": "Landscape screenshots; quick cuts (15 s default).",
|
|
1412
|
+
"fit": "Needs imageUrl (portrait screenshot). WebGL: heavy render. No catalog preview.",
|
|
1413
|
+
"derived": [
|
|
1414
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
1415
|
+
"15 s default.",
|
|
1416
|
+
"Takes imageUrl.",
|
|
1417
|
+
"Image asset via imageUrl."
|
|
1418
|
+
],
|
|
1419
|
+
"preview": null
|
|
1420
|
+
},
|
|
1421
|
+
{
|
|
1422
|
+
"family": "animation",
|
|
1423
|
+
"id": "vpn_youtube_spot",
|
|
1424
|
+
"call": "animations.vpn_youtube_spot(…)",
|
|
1425
|
+
"is": "An app-ad layout: a bold two-line headline beside a phone mock-up.",
|
|
1426
|
+
"looks": "Bright white-blue frame; a heavy black-and-blue two-line headline at the left, a subtext line, and a phone on the right whose screen shows an app card.",
|
|
1427
|
+
"for": [
|
|
1428
|
+
"announce",
|
|
1429
|
+
"demo"
|
|
1430
|
+
],
|
|
1431
|
+
"fights": "Dark palettes; apps that are not mobile.",
|
|
1432
|
+
"fit": "Demo block: most of what it shows is fixed artwork; only the listed params change. headlineLine1, headlineLine2, subtext, appTitle and appSubtitle are yours.",
|
|
1433
|
+
"derived": [
|
|
1434
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
1435
|
+
"7 s default.",
|
|
1436
|
+
"Takes headlineLine1, headlineLine2, subtext, appTitle, appSubtitle."
|
|
1437
|
+
],
|
|
1438
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__vpn_youtube_spot.mp4"
|
|
1439
|
+
},
|
|
1440
|
+
{
|
|
1441
|
+
"family": "animation",
|
|
1442
|
+
"id": "x_post",
|
|
1443
|
+
"call": "animations.x_post(…)",
|
|
1444
|
+
"is": "An X (Twitter) post card.",
|
|
1445
|
+
"looks": "A small dark card: avatar, display name, handle, the post body, a hashtag and engagement counts.",
|
|
1446
|
+
"for": [
|
|
1447
|
+
"prove",
|
|
1448
|
+
"quote"
|
|
1449
|
+
],
|
|
1450
|
+
"fights": "Small phones (the card is small), long posts.",
|
|
1451
|
+
"fit": "Body under ~200 characters.",
|
|
1452
|
+
"derived": [
|
|
1453
|
+
"16:9 design: in 9:16 it scales to 56 % and sits in a centred 16:9 band.",
|
|
1454
|
+
"5 s default.",
|
|
1455
|
+
"Takes displayName, handle, body, hashtag, timestamp."
|
|
1456
|
+
],
|
|
1457
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__x_post.mp4"
|
|
1458
|
+
},
|
|
1459
|
+
{
|
|
1460
|
+
"family": "animation",
|
|
1461
|
+
"id": "yt_lower_third",
|
|
1462
|
+
"call": "animations.yt_lower_third(…)",
|
|
1463
|
+
"is": "A YouTube channel lower third with a Subscribe button.",
|
|
1464
|
+
"looks": "A small white pill in the lower corner with avatar, channel name, subscriber count and a dark Subscribe button.",
|
|
1465
|
+
"for": [
|
|
1466
|
+
"cta",
|
|
1467
|
+
"name"
|
|
1468
|
+
],
|
|
1469
|
+
"fights": "Busy lower-corner content; 9:16 (it reads tiny).",
|
|
1470
|
+
"fit": "Channel name and count.",
|
|
1471
|
+
"derived": [
|
|
1472
|
+
"16:9 design: in 9:16 it scales to 56 % and a layout profile repositions it; type reads small.",
|
|
1473
|
+
"5 s default.",
|
|
1474
|
+
"Takes channel, subscribers, avatarUrl.",
|
|
1475
|
+
"Image asset via avatarUrl."
|
|
1476
|
+
],
|
|
1477
|
+
"preview": "https://assets-public.scenerok.com/catalog/animations__yt_lower_third.mp4"
|
|
1478
|
+
},
|
|
1479
|
+
{
|
|
1480
|
+
"family": "text",
|
|
1481
|
+
"id": "text",
|
|
1482
|
+
"call": "text",
|
|
1483
|
+
"is": "A plain text layer: your font, size, colour and position.",
|
|
1484
|
+
"looks": "Exactly the type you set, still unless you add `animate:`. The most legible thing in the toolbox; with a strong font and size it carries a beat on its own.",
|
|
1485
|
+
"for": [
|
|
1486
|
+
"announce",
|
|
1487
|
+
"list",
|
|
1488
|
+
"count",
|
|
1489
|
+
"cta",
|
|
1490
|
+
"name",
|
|
1491
|
+
"quote"
|
|
1492
|
+
],
|
|
1493
|
+
"fights": "A busy picture directly behind it (add a plate, shadow or stroke), sizes under 2.2 % of the frame height.",
|
|
1494
|
+
"fit": "Validate measures it (wrap, shrink, collisions) but its widths are estimates: check a frame. font: is one Google Fonts family at weight 400.",
|
|
1495
|
+
"derived": [],
|
|
1496
|
+
"preview": null
|
|
1497
|
+
},
|
|
1498
|
+
{
|
|
1499
|
+
"family": "text",
|
|
1500
|
+
"id": "text+area",
|
|
1501
|
+
"call": "text+area",
|
|
1502
|
+
"is": "Text placed in a named grid area that wraps and shrinks to fit.",
|
|
1503
|
+
"looks": "The same text, centred in its cell (title, stage, lower-third, caption, or your own grid). Predictable and safe, a little generic.",
|
|
1504
|
+
"for": [
|
|
1505
|
+
"announce",
|
|
1506
|
+
"caption",
|
|
1507
|
+
"list"
|
|
1508
|
+
],
|
|
1509
|
+
"fights": "Designed layouts where position is part of the look.",
|
|
1510
|
+
"derived": [],
|
|
1511
|
+
"preview": null
|
|
1512
|
+
},
|
|
1513
|
+
{
|
|
1514
|
+
"family": "text",
|
|
1515
|
+
"id": "text+plate",
|
|
1516
|
+
"call": "text+plate",
|
|
1517
|
+
"is": "Text over a `solid(...)` with a radius: a card, pill or button.",
|
|
1518
|
+
"looks": "A coloured shape with type on it; reads as a UI element (a button, a badge, a label). The shape carries contrast, so it works over any picture.",
|
|
1519
|
+
"for": [
|
|
1520
|
+
"cta",
|
|
1521
|
+
"name",
|
|
1522
|
+
"count"
|
|
1523
|
+
],
|
|
1524
|
+
"fights": "Too many plates (the frame turns into a dashboard).",
|
|
1525
|
+
"fit": "Text background:, padding: and radius: are ignored by the renderer; a solid under the text is the way.",
|
|
1526
|
+
"derived": [],
|
|
1527
|
+
"preview": null
|
|
1528
|
+
},
|
|
1529
|
+
{
|
|
1530
|
+
"family": "text",
|
|
1531
|
+
"id": "text+stagger",
|
|
1532
|
+
"call": "text+stagger",
|
|
1533
|
+
"is": "Text revealed word by word or character by character (`stagger:`).",
|
|
1534
|
+
"looks": "The line builds piece by piece over its animation.",
|
|
1535
|
+
"for": [
|
|
1536
|
+
"announce",
|
|
1537
|
+
"emphasize"
|
|
1538
|
+
],
|
|
1539
|
+
"fights": "Combined with an exit in the same list (the reveal rendered half-done in testing), long lines.",
|
|
1540
|
+
"derived": [],
|
|
1541
|
+
"preview": null
|
|
1542
|
+
},
|
|
1543
|
+
{
|
|
1544
|
+
"family": "text",
|
|
1545
|
+
"id": "captions",
|
|
1546
|
+
"call": "captions",
|
|
1547
|
+
"is": "Burned-in captions from an SRT file, one text layer per cue.",
|
|
1548
|
+
"looks": "Timed lines of text in one style, swapping with the speech.",
|
|
1549
|
+
"for": [
|
|
1550
|
+
"caption"
|
|
1551
|
+
],
|
|
1552
|
+
"fights": "Other text in the caption area; local SRT paths on hosted renders (needs an HTTPS URL).",
|
|
1553
|
+
"derived": [],
|
|
1554
|
+
"preview": null
|
|
1555
|
+
},
|
|
1556
|
+
{
|
|
1557
|
+
"family": "motion",
|
|
1558
|
+
"id": "fadeIn",
|
|
1559
|
+
"call": "motion.fadeIn(…)",
|
|
1560
|
+
"is": "Opacity from 0 to 1 at the start of the block.",
|
|
1561
|
+
"looks": "The element simply appears out of nothing; no movement. The quietest entrance there is.",
|
|
1562
|
+
"for": [
|
|
1563
|
+
"establish",
|
|
1564
|
+
"list"
|
|
1565
|
+
],
|
|
1566
|
+
"fights": "Moments that need impact.",
|
|
1567
|
+
"fit": "Default 0.5 s. A still element is often right: motion should mean something (arrival, emphasis), not decorate.",
|
|
1568
|
+
"derived": [],
|
|
1569
|
+
"preview": null
|
|
1570
|
+
},
|
|
1571
|
+
{
|
|
1572
|
+
"family": "motion",
|
|
1573
|
+
"id": "fadeOut",
|
|
1574
|
+
"call": "motion.fadeOut(…)",
|
|
1575
|
+
"is": "Opacity from 1 to 0 at the end of the block.",
|
|
1576
|
+
"looks": "The element dims away over the last part of its window; the frame empties softly.",
|
|
1577
|
+
"for": [
|
|
1578
|
+
"transition"
|
|
1579
|
+
],
|
|
1580
|
+
"fights": "A hard cut that should stay hard.",
|
|
1581
|
+
"fit": "Default 0.5 s, aligned to the end of the block.",
|
|
1582
|
+
"derived": [],
|
|
1583
|
+
"preview": null
|
|
1584
|
+
},
|
|
1585
|
+
{
|
|
1586
|
+
"family": "motion",
|
|
1587
|
+
"id": "slideX",
|
|
1588
|
+
"call": "motion.slideX(…)",
|
|
1589
|
+
"is": "Moves the element horizontally from one offset to another.",
|
|
1590
|
+
"looks": "The element travels sideways into place. With a large offset it enters from off-frame.",
|
|
1591
|
+
"for": [
|
|
1592
|
+
"list",
|
|
1593
|
+
"transition"
|
|
1594
|
+
],
|
|
1595
|
+
"fights": "A second sideways move at the same time.",
|
|
1596
|
+
"fit": "slideX(from, to, duration); default 0.6 s.",
|
|
1597
|
+
"derived": [],
|
|
1598
|
+
"preview": null
|
|
1599
|
+
},
|
|
1600
|
+
{
|
|
1601
|
+
"family": "motion",
|
|
1602
|
+
"id": "slideY",
|
|
1603
|
+
"call": "motion.slideY(…)",
|
|
1604
|
+
"is": "Moves the element vertically from one offset to another.",
|
|
1605
|
+
"looks": "The element travels up or down into place, without fading.",
|
|
1606
|
+
"for": [
|
|
1607
|
+
"list"
|
|
1608
|
+
],
|
|
1609
|
+
"fights": "Text that should be read during the move.",
|
|
1610
|
+
"fit": "slideY(from, to, duration); default 0.6 s.",
|
|
1611
|
+
"derived": [],
|
|
1612
|
+
"preview": null
|
|
1613
|
+
},
|
|
1614
|
+
{
|
|
1615
|
+
"family": "motion",
|
|
1616
|
+
"id": "popIn",
|
|
1617
|
+
"call": "motion.popIn(…)",
|
|
1618
|
+
"is": "Scales from 55 % past 100 % and settles, while fading in.",
|
|
1619
|
+
"looks": "The element bursts in slightly oversized (106 %) and settles; a small, confident bounce. The eye snaps to it.",
|
|
1620
|
+
"for": [
|
|
1621
|
+
"emphasize",
|
|
1622
|
+
"count",
|
|
1623
|
+
"cta"
|
|
1624
|
+
],
|
|
1625
|
+
"fights": "Several pops at once (they cancel each other out), calm or serious tone.",
|
|
1626
|
+
"fit": "Default 0.5 s.",
|
|
1627
|
+
"derived": [],
|
|
1628
|
+
"preview": null
|
|
1629
|
+
},
|
|
1630
|
+
{
|
|
1631
|
+
"family": "motion",
|
|
1632
|
+
"id": "riseIn",
|
|
1633
|
+
"call": "motion.riseIn(…)",
|
|
1634
|
+
"is": "Rises 80 px into place while fading in.",
|
|
1635
|
+
"looks": "The element drifts up a short distance as it appears; editorial, gentle, reads as \"arriving\".",
|
|
1636
|
+
"for": [
|
|
1637
|
+
"announce",
|
|
1638
|
+
"list",
|
|
1639
|
+
"establish"
|
|
1640
|
+
],
|
|
1641
|
+
"fights": "Things that should feel heavy or sudden.",
|
|
1642
|
+
"fit": "riseIn(duration, distance).",
|
|
1643
|
+
"derived": [],
|
|
1644
|
+
"preview": null
|
|
1645
|
+
},
|
|
1646
|
+
{
|
|
1647
|
+
"family": "motion",
|
|
1648
|
+
"id": "swingIn",
|
|
1649
|
+
"call": "motion.swingIn(…)",
|
|
1650
|
+
"is": "Rotates in from -14° and rises while fading in.",
|
|
1651
|
+
"looks": "The element swings into place like a hanging sign. Playful.",
|
|
1652
|
+
"for": [
|
|
1653
|
+
"emphasize"
|
|
1654
|
+
],
|
|
1655
|
+
"fights": "Serious or premium tone; long text.",
|
|
1656
|
+
"derived": [],
|
|
1657
|
+
"preview": null
|
|
1658
|
+
},
|
|
1659
|
+
{
|
|
1660
|
+
"family": "motion",
|
|
1661
|
+
"id": "glitchIn",
|
|
1662
|
+
"call": "motion.glitchIn(…)",
|
|
1663
|
+
"is": "Fades in from 20 % with a positional jitter.",
|
|
1664
|
+
"looks": "The element shakes rapidly by a few pixels as it comes up to full opacity; nervy, digital.",
|
|
1665
|
+
"for": [
|
|
1666
|
+
"texture",
|
|
1667
|
+
"emphasize"
|
|
1668
|
+
],
|
|
1669
|
+
"fights": "Calm tone, motion-sensitive viewers.",
|
|
1670
|
+
"derived": [],
|
|
1671
|
+
"preview": null
|
|
1672
|
+
},
|
|
1673
|
+
{
|
|
1674
|
+
"family": "motion",
|
|
1675
|
+
"id": "float",
|
|
1676
|
+
"call": "motion.float(…)",
|
|
1677
|
+
"is": "A gentle continuous vertical drift.",
|
|
1678
|
+
"looks": "The element bobs up and down by a few pixels for as long as it is on screen; it feels alive without drawing attention.",
|
|
1679
|
+
"for": [
|
|
1680
|
+
"texture",
|
|
1681
|
+
"brand"
|
|
1682
|
+
],
|
|
1683
|
+
"fights": "Text that must be read precisely; several floating elements out of phase.",
|
|
1684
|
+
"fit": "float(period, amplitude). Small amplitudes (8-14 px) read as life; large ones read as wobble.",
|
|
1685
|
+
"derived": [],
|
|
1686
|
+
"preview": null
|
|
1687
|
+
},
|
|
1688
|
+
{
|
|
1689
|
+
"family": "motion",
|
|
1690
|
+
"id": "typewriter",
|
|
1691
|
+
"call": "motion.typewriter(…)",
|
|
1692
|
+
"is": "Reveals text character by character.",
|
|
1693
|
+
"looks": "The text types itself out left to right; the eye follows the leading edge.",
|
|
1694
|
+
"for": [
|
|
1695
|
+
"code",
|
|
1696
|
+
"quote"
|
|
1697
|
+
],
|
|
1698
|
+
"fights": "Long text (it takes the whole beat), multi-line blocks in one text layer.",
|
|
1699
|
+
"fit": "typewriter(duration). For code, one text layer per line types more reliably.",
|
|
1700
|
+
"derived": [],
|
|
1701
|
+
"preview": null
|
|
1702
|
+
},
|
|
1703
|
+
{
|
|
1704
|
+
"family": "transition",
|
|
1705
|
+
"id": "dissolve",
|
|
1706
|
+
"call": "tr.dissolve()",
|
|
1707
|
+
"is": "A cross-fade.",
|
|
1708
|
+
"looks": "Both shots are visible at once at mid-point, each half transparent. Nothing moves; the eye barely notices it.",
|
|
1709
|
+
"for": [
|
|
1710
|
+
"transition",
|
|
1711
|
+
"establish"
|
|
1712
|
+
],
|
|
1713
|
+
"fights": "Fast, energetic cuts (it softens them).",
|
|
1714
|
+
"derived": [
|
|
1715
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1716
|
+
],
|
|
1717
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__dissolve.mp4"
|
|
1718
|
+
},
|
|
1719
|
+
{
|
|
1720
|
+
"family": "transition",
|
|
1721
|
+
"id": "push",
|
|
1722
|
+
"call": "tr.push()",
|
|
1723
|
+
"is": "The new shot pushes the old one out of frame.",
|
|
1724
|
+
"looks": "Both shots slide together in one direction like a carousel; the edge between them is hard. direction: sets the side.",
|
|
1725
|
+
"for": [
|
|
1726
|
+
"transition"
|
|
1727
|
+
],
|
|
1728
|
+
"fights": "Shots with strong opposite motion inside them.",
|
|
1729
|
+
"derived": [
|
|
1730
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1731
|
+
],
|
|
1732
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__push.mp4"
|
|
1733
|
+
},
|
|
1734
|
+
{
|
|
1735
|
+
"family": "transition",
|
|
1736
|
+
"id": "cover",
|
|
1737
|
+
"call": "tr.cover()",
|
|
1738
|
+
"is": "The new shot slides over the old one, like a door.",
|
|
1739
|
+
"looks": "The incoming shot moves in over a still outgoing shot, which is revealed behind as a doorway opening.",
|
|
1740
|
+
"for": [
|
|
1741
|
+
"transition"
|
|
1742
|
+
],
|
|
1743
|
+
"fights": "Busy outgoing shots (they stay visible under the move).",
|
|
1744
|
+
"derived": [
|
|
1745
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1746
|
+
],
|
|
1747
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__cover.mp4"
|
|
1748
|
+
},
|
|
1749
|
+
{
|
|
1750
|
+
"family": "transition",
|
|
1751
|
+
"id": "radial",
|
|
1752
|
+
"call": "tr.radial()",
|
|
1753
|
+
"is": "The new shot opens from the centre in a circle.",
|
|
1754
|
+
"looks": "A growing circle in the middle shows the new shot; the old shot remains outside the ring until it fills the frame.",
|
|
1755
|
+
"for": [
|
|
1756
|
+
"transition"
|
|
1757
|
+
],
|
|
1758
|
+
"fights": "Shots whose subject is off-centre.",
|
|
1759
|
+
"derived": [
|
|
1760
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1761
|
+
],
|
|
1762
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__radial.mp4"
|
|
1763
|
+
},
|
|
1764
|
+
{
|
|
1765
|
+
"family": "transition",
|
|
1766
|
+
"id": "grid",
|
|
1767
|
+
"call": "tr.grid()",
|
|
1768
|
+
"is": "The frame flips in a grid of tiles.",
|
|
1769
|
+
"looks": "The picture breaks into a grid of square tiles that flip over in a wave to show the new shot. Busy and techy.",
|
|
1770
|
+
"for": [
|
|
1771
|
+
"transition"
|
|
1772
|
+
],
|
|
1773
|
+
"fights": "Calm or premium edits; cuts between similar shots, where a hard cut reads better.",
|
|
1774
|
+
"derived": [
|
|
1775
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1776
|
+
],
|
|
1777
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__grid.mp4"
|
|
1778
|
+
},
|
|
1779
|
+
{
|
|
1780
|
+
"family": "transition",
|
|
1781
|
+
"id": "scale",
|
|
1782
|
+
"call": "tr.scale()",
|
|
1783
|
+
"is": "A cross-zoom: the old shot zooms in and blurs into the new one.",
|
|
1784
|
+
"looks": "The old shot rushes toward the viewer with radial blur while the new one zooms out of it. Fast and energetic.",
|
|
1785
|
+
"for": [
|
|
1786
|
+
"transition"
|
|
1787
|
+
],
|
|
1788
|
+
"fights": "Calm or premium edits; cuts between similar shots, where a hard cut reads better.",
|
|
1789
|
+
"derived": [
|
|
1790
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1791
|
+
],
|
|
1792
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__scale.mp4"
|
|
1793
|
+
},
|
|
1794
|
+
{
|
|
1795
|
+
"family": "transition",
|
|
1796
|
+
"id": "cube",
|
|
1797
|
+
"call": "tr.cube()",
|
|
1798
|
+
"is": "The two shots as faces of a rotating cube.",
|
|
1799
|
+
"looks": "The frame turns like a 3D cube; the old shot recedes on one face as the new shot comes round on the next.",
|
|
1800
|
+
"for": [
|
|
1801
|
+
"transition"
|
|
1802
|
+
],
|
|
1803
|
+
"fights": "Calm or premium edits; cuts between similar shots, where a hard cut reads better.",
|
|
1804
|
+
"derived": [
|
|
1805
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1806
|
+
],
|
|
1807
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__cube.mp4"
|
|
1808
|
+
},
|
|
1809
|
+
{
|
|
1810
|
+
"family": "transition",
|
|
1811
|
+
"id": "blur",
|
|
1812
|
+
"call": "tr.blur()",
|
|
1813
|
+
"is": "A blur-through: the old shot blurs out, the new one blurs in.",
|
|
1814
|
+
"looks": "At mid-point both shots are soft and mixed; focus returns on the new shot. Gentle.",
|
|
1815
|
+
"for": [
|
|
1816
|
+
"transition",
|
|
1817
|
+
"establish"
|
|
1818
|
+
],
|
|
1819
|
+
"fights": "Text-heavy shots (the text smears).",
|
|
1820
|
+
"derived": [
|
|
1821
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1822
|
+
],
|
|
1823
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__blur.mp4"
|
|
1824
|
+
},
|
|
1825
|
+
{
|
|
1826
|
+
"family": "transition",
|
|
1827
|
+
"id": "distortion",
|
|
1828
|
+
"call": "tr.distortion()",
|
|
1829
|
+
"is": "A directional warp between the shots.",
|
|
1830
|
+
"looks": "The old shot stretches and smears in one direction and the new one snaps in behind it.",
|
|
1831
|
+
"for": [
|
|
1832
|
+
"transition"
|
|
1833
|
+
],
|
|
1834
|
+
"fights": "Calm or premium edits; cuts between similar shots, where a hard cut reads better.",
|
|
1835
|
+
"derived": [
|
|
1836
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1837
|
+
],
|
|
1838
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__distortion.mp4"
|
|
1839
|
+
},
|
|
1840
|
+
{
|
|
1841
|
+
"family": "transition",
|
|
1842
|
+
"id": "destruction",
|
|
1843
|
+
"call": "tr.destruction()",
|
|
1844
|
+
"is": "A burn: the new shot burns through the old one by brightness.",
|
|
1845
|
+
"looks": "Bright areas of the picture go first, with a hot edge eating through the old shot to reveal the new.",
|
|
1846
|
+
"for": [
|
|
1847
|
+
"transition"
|
|
1848
|
+
],
|
|
1849
|
+
"fights": "Calm or premium edits; cuts between similar shots, where a hard cut reads better.",
|
|
1850
|
+
"derived": [
|
|
1851
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1852
|
+
],
|
|
1853
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__destruction.mp4"
|
|
1854
|
+
},
|
|
1855
|
+
{
|
|
1856
|
+
"family": "transition",
|
|
1857
|
+
"id": "light",
|
|
1858
|
+
"call": "tr.light()",
|
|
1859
|
+
"is": "A luminance melt.",
|
|
1860
|
+
"looks": "The old shot melts downward by brightness, dripping into the new one.",
|
|
1861
|
+
"for": [
|
|
1862
|
+
"transition"
|
|
1863
|
+
],
|
|
1864
|
+
"fights": "Calm or premium edits; cuts between similar shots, where a hard cut reads better.",
|
|
1865
|
+
"derived": [
|
|
1866
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1867
|
+
],
|
|
1868
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__light.mp4"
|
|
1869
|
+
},
|
|
1870
|
+
{
|
|
1871
|
+
"family": "transition",
|
|
1872
|
+
"id": "mechanical",
|
|
1873
|
+
"call": "tr.mechanical()",
|
|
1874
|
+
"is": "Window blinds.",
|
|
1875
|
+
"looks": "Horizontal slats open across the frame to show the new shot, like blinds turning.",
|
|
1876
|
+
"for": [
|
|
1877
|
+
"transition"
|
|
1878
|
+
],
|
|
1879
|
+
"fights": "Soft, organic material.",
|
|
1880
|
+
"derived": [
|
|
1881
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1882
|
+
],
|
|
1883
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__mechanical.mp4"
|
|
1884
|
+
},
|
|
1885
|
+
{
|
|
1886
|
+
"family": "transition",
|
|
1887
|
+
"id": "wipe",
|
|
1888
|
+
"call": "tr.wipe()",
|
|
1889
|
+
"is": "A linear wipe.",
|
|
1890
|
+
"looks": "A straight edge travels across the frame, old shot on one side, new on the other. direction: sets the side.",
|
|
1891
|
+
"for": [
|
|
1892
|
+
"transition"
|
|
1893
|
+
],
|
|
1894
|
+
"fights": "Shots where the edge would cut through a face.",
|
|
1895
|
+
"derived": [
|
|
1896
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1897
|
+
],
|
|
1898
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__wipe.mp4"
|
|
1899
|
+
},
|
|
1900
|
+
{
|
|
1901
|
+
"family": "transition",
|
|
1902
|
+
"id": "cinematic_zoom",
|
|
1903
|
+
"call": "tr.cinematic_zoom()",
|
|
1904
|
+
"is": "A cross-zoom tuned for a filmic push.",
|
|
1905
|
+
"looks": "Like `scale`: the old shot pushes in with radial blur and resolves into the new one.",
|
|
1906
|
+
"for": [
|
|
1907
|
+
"transition"
|
|
1908
|
+
],
|
|
1909
|
+
"fights": "Calm or premium edits; cuts between similar shots, where a hard cut reads better.",
|
|
1910
|
+
"derived": [
|
|
1911
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1912
|
+
],
|
|
1913
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__cinematic_zoom.mp4"
|
|
1914
|
+
},
|
|
1915
|
+
{
|
|
1916
|
+
"family": "transition",
|
|
1917
|
+
"id": "whip_pan",
|
|
1918
|
+
"call": "tr.whip_pan()",
|
|
1919
|
+
"is": "A whip pan: a fast slide with motion blur.",
|
|
1920
|
+
"looks": "Both shots streak sideways with heavy horizontal blur; the cut happens inside the blur. Feels like a fast camera move. direction: sets the side.",
|
|
1921
|
+
"for": [
|
|
1922
|
+
"transition"
|
|
1923
|
+
],
|
|
1924
|
+
"fights": "Static, calm shots; text on screen during the move.",
|
|
1925
|
+
"derived": [
|
|
1926
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1927
|
+
],
|
|
1928
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__whip_pan.mp4"
|
|
1929
|
+
},
|
|
1930
|
+
{
|
|
1931
|
+
"family": "transition",
|
|
1932
|
+
"id": "light_leak",
|
|
1933
|
+
"call": "tr.light_leak()",
|
|
1934
|
+
"is": "A bright light leak that washes into the new shot.",
|
|
1935
|
+
"looks": "The frame blooms with warm light, then the new shot fades up out of it. Filmic, nostalgic.",
|
|
1936
|
+
"for": [
|
|
1937
|
+
"transition"
|
|
1938
|
+
],
|
|
1939
|
+
"fights": "Flashing or rapid luminance change: avoid repeating it for viewers sensitive to flicker.",
|
|
1940
|
+
"fit": "Flashing or rapid luminance change: avoid repeating it for viewers sensitive to flicker.",
|
|
1941
|
+
"derived": [
|
|
1942
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1943
|
+
],
|
|
1944
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__light_leak.mp4"
|
|
1945
|
+
},
|
|
1946
|
+
{
|
|
1947
|
+
"family": "transition",
|
|
1948
|
+
"id": "flash",
|
|
1949
|
+
"call": "tr.flash()",
|
|
1950
|
+
"is": "A flash through white.",
|
|
1951
|
+
"looks": "The old shot burns up to white, then the new shot comes down out of the white. Punchy.",
|
|
1952
|
+
"for": [
|
|
1953
|
+
"transition"
|
|
1954
|
+
],
|
|
1955
|
+
"fights": "Flashing or rapid luminance change: avoid repeating it for viewers sensitive to flicker.",
|
|
1956
|
+
"fit": "Flashing or rapid luminance change: avoid repeating it for viewers sensitive to flicker.",
|
|
1957
|
+
"derived": [
|
|
1958
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1959
|
+
],
|
|
1960
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__flash.mp4"
|
|
1961
|
+
},
|
|
1962
|
+
{
|
|
1963
|
+
"family": "transition",
|
|
1964
|
+
"id": "warp_morph",
|
|
1965
|
+
"call": "tr.warp_morph()",
|
|
1966
|
+
"is": "A warping morph between the shots.",
|
|
1967
|
+
"looks": "Both shots ripple and bend into each other as they dissolve, like a liquid morph.",
|
|
1968
|
+
"for": [
|
|
1969
|
+
"transition"
|
|
1970
|
+
],
|
|
1971
|
+
"fights": "Calm or premium edits; cuts between similar shots, where a hard cut reads better.",
|
|
1972
|
+
"derived": [
|
|
1973
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1974
|
+
],
|
|
1975
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__warp_morph.mp4"
|
|
1976
|
+
},
|
|
1977
|
+
{
|
|
1978
|
+
"family": "transition",
|
|
1979
|
+
"id": "domain_warp",
|
|
1980
|
+
"call": "tr.domain_warp()",
|
|
1981
|
+
"is": "A noise-driven warp between the shots.",
|
|
1982
|
+
"looks": "The picture swirls in organic, cloudy distortion (fractal noise) as one shot turns into the other.",
|
|
1983
|
+
"for": [
|
|
1984
|
+
"transition"
|
|
1985
|
+
],
|
|
1986
|
+
"fights": "Calm or premium edits; cuts between similar shots, where a hard cut reads better.",
|
|
1987
|
+
"derived": [
|
|
1988
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
1989
|
+
],
|
|
1990
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__domain_warp.mp4"
|
|
1991
|
+
},
|
|
1992
|
+
{
|
|
1993
|
+
"family": "transition",
|
|
1994
|
+
"id": "chromatic_split",
|
|
1995
|
+
"call": "tr.chromatic_split()",
|
|
1996
|
+
"is": "An RGB split that tears one shot into the next.",
|
|
1997
|
+
"looks": "Red, green and blue channels pull apart radially, then the new shot pulls together. Glitchy and digital.",
|
|
1998
|
+
"for": [
|
|
1999
|
+
"transition"
|
|
2000
|
+
],
|
|
2001
|
+
"fights": "Calm or premium edits; cuts between similar shots, where a hard cut reads better.",
|
|
2002
|
+
"fit": "Flashing or rapid luminance change: avoid repeating it for viewers sensitive to flicker.",
|
|
2003
|
+
"derived": [
|
|
2004
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
2005
|
+
],
|
|
2006
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__chromatic_split.mp4"
|
|
2007
|
+
},
|
|
2008
|
+
{
|
|
2009
|
+
"family": "transition",
|
|
2010
|
+
"id": "lens",
|
|
2011
|
+
"call": "tr.lens()",
|
|
2012
|
+
"is": "A gravitational-lens warp.",
|
|
2013
|
+
"looks": "The centre of the frame bulges like a lens and the new shot appears through the bulge.",
|
|
2014
|
+
"for": [
|
|
2015
|
+
"transition"
|
|
2016
|
+
],
|
|
2017
|
+
"fights": "Calm or premium edits; cuts between similar shots, where a hard cut reads better.",
|
|
2018
|
+
"derived": [
|
|
2019
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
2020
|
+
],
|
|
2021
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__lens.mp4"
|
|
2022
|
+
},
|
|
2023
|
+
{
|
|
2024
|
+
"family": "transition",
|
|
2025
|
+
"id": "glitch",
|
|
2026
|
+
"call": "tr.glitch()",
|
|
2027
|
+
"is": "A block glitch.",
|
|
2028
|
+
"looks": "The frame breaks into shifted rectangular blocks and colour errors, then resolves on the new shot.",
|
|
2029
|
+
"for": [
|
|
2030
|
+
"transition"
|
|
2031
|
+
],
|
|
2032
|
+
"fights": "Calm or premium edits; cuts between similar shots, where a hard cut reads better.",
|
|
2033
|
+
"fit": "Flashing or rapid luminance change: avoid repeating it for viewers sensitive to flicker.",
|
|
2034
|
+
"derived": [
|
|
2035
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
2036
|
+
],
|
|
2037
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__glitch.mp4"
|
|
2038
|
+
},
|
|
2039
|
+
{
|
|
2040
|
+
"family": "transition",
|
|
2041
|
+
"id": "swirl",
|
|
2042
|
+
"call": "tr.swirl()",
|
|
2043
|
+
"is": "A vortex swirl.",
|
|
2044
|
+
"looks": "The old shot spins into a whirlpool at the centre and unwinds into the new one.",
|
|
2045
|
+
"for": [
|
|
2046
|
+
"transition"
|
|
2047
|
+
],
|
|
2048
|
+
"fights": "Calm or premium edits; cuts between similar shots, where a hard cut reads better.",
|
|
2049
|
+
"derived": [
|
|
2050
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
2051
|
+
],
|
|
2052
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__swirl.mp4"
|
|
2053
|
+
},
|
|
2054
|
+
{
|
|
2055
|
+
"family": "transition",
|
|
2056
|
+
"id": "thermal",
|
|
2057
|
+
"call": "tr.thermal()",
|
|
2058
|
+
"is": "A heat-haze dissolve.",
|
|
2059
|
+
"looks": "The picture wavers like heat over tarmac while the shots dissolve.",
|
|
2060
|
+
"for": [
|
|
2061
|
+
"transition",
|
|
2062
|
+
"texture"
|
|
2063
|
+
],
|
|
2064
|
+
"fights": "Sharp graphic content (it wobbles).",
|
|
2065
|
+
"derived": [
|
|
2066
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
2067
|
+
],
|
|
2068
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__thermal.mp4"
|
|
2069
|
+
},
|
|
2070
|
+
{
|
|
2071
|
+
"family": "transition",
|
|
2072
|
+
"id": "ripple",
|
|
2073
|
+
"call": "tr.ripple()",
|
|
2074
|
+
"is": "A ripple dissolve.",
|
|
2075
|
+
"looks": "Concentric water ripples spread from the centre as the shots cross over.",
|
|
2076
|
+
"for": [
|
|
2077
|
+
"transition"
|
|
2078
|
+
],
|
|
2079
|
+
"fights": "Calm or premium edits; cuts between similar shots, where a hard cut reads better.",
|
|
2080
|
+
"derived": [
|
|
2081
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
2082
|
+
],
|
|
2083
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__ripple.mp4"
|
|
2084
|
+
},
|
|
2085
|
+
{
|
|
2086
|
+
"family": "transition",
|
|
2087
|
+
"id": "iris",
|
|
2088
|
+
"call": "tr.iris()",
|
|
2089
|
+
"is": "An iris: a circle opens on the new shot.",
|
|
2090
|
+
"looks": "A hard-edged circle grows from the centre to reveal the new shot, like a camera iris. Old-film feel.",
|
|
2091
|
+
"for": [
|
|
2092
|
+
"transition"
|
|
2093
|
+
],
|
|
2094
|
+
"fights": "Off-centre subjects.",
|
|
2095
|
+
"derived": [
|
|
2096
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
2097
|
+
],
|
|
2098
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__iris.mp4"
|
|
2099
|
+
},
|
|
2100
|
+
{
|
|
2101
|
+
"family": "transition",
|
|
2102
|
+
"id": "burn",
|
|
2103
|
+
"call": "tr.burn()",
|
|
2104
|
+
"is": "A ridged burn through the old shot.",
|
|
2105
|
+
"looks": "Like `destruction`: a burning edge eats through by brightness to show the new shot.",
|
|
2106
|
+
"for": [
|
|
2107
|
+
"transition"
|
|
2108
|
+
],
|
|
2109
|
+
"fights": "Calm or premium edits; cuts between similar shots, where a hard cut reads better.",
|
|
2110
|
+
"derived": [
|
|
2111
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
2112
|
+
],
|
|
2113
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__burn.mp4"
|
|
2114
|
+
},
|
|
2115
|
+
{
|
|
2116
|
+
"family": "transition",
|
|
2117
|
+
"id": "shatter",
|
|
2118
|
+
"call": "tr.shatter()",
|
|
2119
|
+
"is": "The old shot shatters like glass.",
|
|
2120
|
+
"looks": "The frame cracks into Voronoi shards that fall away to reveal the new shot. Dramatic.",
|
|
2121
|
+
"for": [
|
|
2122
|
+
"transition"
|
|
2123
|
+
],
|
|
2124
|
+
"fights": "Calm or premium edits; cuts between similar shots, where a hard cut reads better.",
|
|
2125
|
+
"derived": [
|
|
2126
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
2127
|
+
],
|
|
2128
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__shatter.mp4"
|
|
2129
|
+
},
|
|
2130
|
+
{
|
|
2131
|
+
"family": "transition",
|
|
2132
|
+
"id": "liquid",
|
|
2133
|
+
"call": "tr.liquid()",
|
|
2134
|
+
"is": "A liquid morph.",
|
|
2135
|
+
"looks": "The old shot flows like liquid into the new one.",
|
|
2136
|
+
"for": [
|
|
2137
|
+
"transition"
|
|
2138
|
+
],
|
|
2139
|
+
"fights": "Calm or premium edits; cuts between similar shots, where a hard cut reads better.",
|
|
2140
|
+
"derived": [
|
|
2141
|
+
"0.6 s default; blends the clip showing at the window's start into the one showing at its end."
|
|
2142
|
+
],
|
|
2143
|
+
"preview": "https://assets-public.scenerok.com/catalog/transitions__liquid.mp4"
|
|
2144
|
+
},
|
|
2145
|
+
{
|
|
2146
|
+
"family": "filter",
|
|
2147
|
+
"id": "cdl",
|
|
2148
|
+
"call": "filter \"cdl\"",
|
|
2149
|
+
"is": "An ASC CDL colour grade: slope, offset, power per channel, plus saturation.",
|
|
2150
|
+
"looks": "A whole-frame colour shift you feel more than see: warmer or cooler, richer or flatter. Nothing moves.",
|
|
2151
|
+
"for": [
|
|
2152
|
+
"grade"
|
|
2153
|
+
],
|
|
2154
|
+
"fights": "Footage that is already graded; brand colours that must stay exact.",
|
|
2155
|
+
"fit": "No file needed, so it works on hosted renders. Per-pixel: can target one clip.",
|
|
2156
|
+
"derived": [],
|
|
2157
|
+
"preview": null
|
|
2158
|
+
},
|
|
2159
|
+
{
|
|
2160
|
+
"family": "filter",
|
|
2161
|
+
"id": "lut",
|
|
2162
|
+
"call": "filter \"lut\"",
|
|
2163
|
+
"is": "A 3D .cube look-up table applied to the frame or a clip.",
|
|
2164
|
+
"looks": "A complete film-style look in one step: tone curve and colour cast together.",
|
|
2165
|
+
"for": [
|
|
2166
|
+
"grade"
|
|
2167
|
+
],
|
|
2168
|
+
"fights": "Already graded footage; a .cube made for log footage on normal footage (crushes it).",
|
|
2169
|
+
"fit": "Hosted compiles read only an HTTPS URL or data: URI, not a local path. 512 KB, 33 points max.",
|
|
2170
|
+
"derived": [],
|
|
2171
|
+
"preview": null
|
|
2172
|
+
},
|
|
2173
|
+
{
|
|
2174
|
+
"family": "filter",
|
|
2175
|
+
"id": "vignette",
|
|
2176
|
+
"call": "filter \"vignette\"",
|
|
2177
|
+
"is": "Darkens the edges of the frame.",
|
|
2178
|
+
"looks": "The corners fall off toward black and the centre stays bright, pulling the eye inward. At 0.3 it is felt, not seen.",
|
|
2179
|
+
"for": [
|
|
2180
|
+
"grade"
|
|
2181
|
+
],
|
|
2182
|
+
"fights": "Content near the edges (text, UI), white or light frames (it reads as dirty corners).",
|
|
2183
|
+
"fit": "intensity, default 0.5.",
|
|
2184
|
+
"derived": [],
|
|
2185
|
+
"preview": null
|
|
2186
|
+
},
|
|
2187
|
+
{
|
|
2188
|
+
"family": "filter",
|
|
2189
|
+
"id": "contrast",
|
|
2190
|
+
"call": "filter \"contrast\"",
|
|
2191
|
+
"is": "Scales contrast around mid-grey.",
|
|
2192
|
+
"looks": "Darks deeper and lights brighter; the picture gets punchier.",
|
|
2193
|
+
"for": [
|
|
2194
|
+
"grade"
|
|
2195
|
+
],
|
|
2196
|
+
"fights": "Faces in harsh light, already contrasty footage.",
|
|
2197
|
+
"fit": "amount, default 1.2.",
|
|
2198
|
+
"derived": [],
|
|
2199
|
+
"preview": null
|
|
2200
|
+
},
|
|
2201
|
+
{
|
|
2202
|
+
"family": "filter",
|
|
2203
|
+
"id": "saturation",
|
|
2204
|
+
"call": "filter \"saturation\"",
|
|
2205
|
+
"is": "Scales colour intensity.",
|
|
2206
|
+
"looks": "Colours richer (above 1) or more muted (below 1).",
|
|
2207
|
+
"for": [
|
|
2208
|
+
"grade"
|
|
2209
|
+
],
|
|
2210
|
+
"fights": "Skin tones above ~1.2; brand colours.",
|
|
2211
|
+
"fit": "amount, default 1.5 (strong).",
|
|
2212
|
+
"derived": [],
|
|
2213
|
+
"preview": null
|
|
2214
|
+
},
|
|
2215
|
+
{
|
|
2216
|
+
"family": "filter",
|
|
2217
|
+
"id": "brightness",
|
|
2218
|
+
"call": "filter \"brightness\"",
|
|
2219
|
+
"is": "Adds a constant to every channel.",
|
|
2220
|
+
"looks": "The whole frame lifts or drops; blacks turn grey when lifted.",
|
|
2221
|
+
"for": [
|
|
2222
|
+
"grade"
|
|
2223
|
+
],
|
|
2224
|
+
"fights": "Dark designs (lifted blacks look washed out).",
|
|
2225
|
+
"fit": "amount, default 0.1.",
|
|
2226
|
+
"derived": [],
|
|
2227
|
+
"preview": null
|
|
2228
|
+
},
|
|
2229
|
+
{
|
|
2230
|
+
"family": "filter",
|
|
2231
|
+
"id": "monochrome",
|
|
2232
|
+
"call": "filter \"monochrome\"",
|
|
2233
|
+
"is": "Desaturates to black and white.",
|
|
2234
|
+
"looks": "The picture goes grey; with intensity below 1 colour bleeds back in.",
|
|
2235
|
+
"for": [
|
|
2236
|
+
"grade",
|
|
2237
|
+
"establish"
|
|
2238
|
+
],
|
|
2239
|
+
"fights": "Colour that carries meaning (a product colour, a brand).",
|
|
2240
|
+
"fit": "intensity 0-1.",
|
|
2241
|
+
"derived": [],
|
|
2242
|
+
"preview": null
|
|
2243
|
+
},
|
|
2244
|
+
{
|
|
2245
|
+
"family": "filter",
|
|
2246
|
+
"id": "sepia",
|
|
2247
|
+
"call": "filter \"sepia\"",
|
|
2248
|
+
"is": "A warm brown tint.",
|
|
2249
|
+
"looks": "Old-photograph browns over the whole frame.",
|
|
2250
|
+
"for": [
|
|
2251
|
+
"grade",
|
|
2252
|
+
"establish"
|
|
2253
|
+
],
|
|
2254
|
+
"fights": "Modern product shots, brand colours.",
|
|
2255
|
+
"fit": "intensity 0-1.",
|
|
2256
|
+
"derived": [],
|
|
2257
|
+
"preview": null
|
|
2258
|
+
},
|
|
2259
|
+
{
|
|
2260
|
+
"family": "filter",
|
|
2261
|
+
"id": "blur",
|
|
2262
|
+
"call": "filter \"blur\"",
|
|
2263
|
+
"is": "A Gaussian blur over everything in its window.",
|
|
2264
|
+
"looks": "The frame goes soft; at large radii only colour masses remain. Useful behind text as a plate.",
|
|
2265
|
+
"for": [
|
|
2266
|
+
"texture"
|
|
2267
|
+
],
|
|
2268
|
+
"fights": "Any text or UI inside its window (blurs it too). Samples neighbours, so it cannot target one clip: put it in a function.",
|
|
2269
|
+
"fit": "radius in px, default 5.",
|
|
2270
|
+
"derived": [],
|
|
2271
|
+
"preview": null
|
|
2272
|
+
},
|
|
2273
|
+
{
|
|
2274
|
+
"family": "filter",
|
|
2275
|
+
"id": "chromatic",
|
|
2276
|
+
"call": "filter \"chromatic\"",
|
|
2277
|
+
"is": "Chromatic aberration: RGB channels offset.",
|
|
2278
|
+
"looks": "Colour fringes on every edge, stronger toward the edges; a lens-error or glitch feel.",
|
|
2279
|
+
"for": [
|
|
2280
|
+
"texture"
|
|
2281
|
+
],
|
|
2282
|
+
"fights": "Small text (fringes make it unreadable), premium product shots.",
|
|
2283
|
+
"fit": "offset, default 0.02. Can be animated for a hit on a cut.",
|
|
2284
|
+
"derived": [],
|
|
2285
|
+
"preview": null
|
|
2286
|
+
},
|
|
2287
|
+
{
|
|
2288
|
+
"family": "filter",
|
|
2289
|
+
"id": "glitch",
|
|
2290
|
+
"call": "filter \"glitch\"",
|
|
2291
|
+
"is": "Digital distortion over the frame.",
|
|
2292
|
+
"looks": "Horizontal tearing and block errors flicker over the picture.",
|
|
2293
|
+
"for": [
|
|
2294
|
+
"texture",
|
|
2295
|
+
"emphasize"
|
|
2296
|
+
],
|
|
2297
|
+
"fights": "Calm tone, readable text, motion-sensitive viewers.",
|
|
2298
|
+
"fit": "intensity, default 0.5. Keep it to a short window.",
|
|
2299
|
+
"derived": [],
|
|
2300
|
+
"preview": null
|
|
2301
|
+
},
|
|
2302
|
+
{
|
|
2303
|
+
"family": "filter",
|
|
2304
|
+
"id": "premultiply",
|
|
2305
|
+
"call": "filter \"premultiply\"",
|
|
2306
|
+
"is": "Multiplies colour by alpha for footage with straight alpha.",
|
|
2307
|
+
"looks": "Fixes bright fringes around keyed or transparent footage; otherwise invisible.",
|
|
2308
|
+
"for": [
|
|
2309
|
+
"edit"
|
|
2310
|
+
],
|
|
2311
|
+
"fights": "Nothing; use it only when edges show halos.",
|
|
2312
|
+
"derived": [],
|
|
2313
|
+
"preview": null
|
|
2314
|
+
},
|
|
2315
|
+
{
|
|
2316
|
+
"family": "filter",
|
|
2317
|
+
"id": "liquid_glass",
|
|
2318
|
+
"call": "filter \"liquid_glass\"",
|
|
2319
|
+
"is": "A frosted liquid-glass refraction effect over the frame.",
|
|
2320
|
+
"looks": "A glossy, refracting glass layer bends the picture under it, iOS-style.",
|
|
2321
|
+
"for": [
|
|
2322
|
+
"texture"
|
|
2323
|
+
],
|
|
2324
|
+
"fights": "Text under it, already busy footage.",
|
|
2325
|
+
"fit": "Whole frame only (cannot target a clip).",
|
|
2326
|
+
"derived": [],
|
|
2327
|
+
"preview": null
|
|
2328
|
+
},
|
|
2329
|
+
{
|
|
2330
|
+
"family": "filter",
|
|
2331
|
+
"id": "magnetic",
|
|
2332
|
+
"call": "filter \"magnetic\"",
|
|
2333
|
+
"is": "A magnetic snap distortion.",
|
|
2334
|
+
"looks": "The picture pulls toward a point as if magnetised, then snaps.",
|
|
2335
|
+
"for": [
|
|
2336
|
+
"texture"
|
|
2337
|
+
],
|
|
2338
|
+
"fights": "Readable content.",
|
|
2339
|
+
"fit": "Whole frame only.",
|
|
2340
|
+
"derived": [],
|
|
2341
|
+
"preview": null
|
|
2342
|
+
},
|
|
2343
|
+
{
|
|
2344
|
+
"family": "filter",
|
|
2345
|
+
"id": "portal",
|
|
2346
|
+
"call": "filter \"portal\"",
|
|
2347
|
+
"is": "A sci-fi portal warp.",
|
|
2348
|
+
"looks": "A swirling hole opens in the picture, warping it toward the centre.",
|
|
2349
|
+
"for": [
|
|
2350
|
+
"texture",
|
|
2351
|
+
"transition"
|
|
2352
|
+
],
|
|
2353
|
+
"fights": "Serious tone, text.",
|
|
2354
|
+
"fit": "Whole frame only.",
|
|
2355
|
+
"derived": [],
|
|
2356
|
+
"preview": null
|
|
2357
|
+
},
|
|
2358
|
+
{
|
|
2359
|
+
"family": "filter",
|
|
2360
|
+
"id": "text_cursor",
|
|
2361
|
+
"call": "filter \"text_cursor\"",
|
|
2362
|
+
"is": "A blinking text-cursor overlay.",
|
|
2363
|
+
"looks": "A terminal-style caret blinks over the frame.",
|
|
2364
|
+
"for": [
|
|
2365
|
+
"code",
|
|
2366
|
+
"texture"
|
|
2367
|
+
],
|
|
2368
|
+
"fights": "Frames without any typing context.",
|
|
2369
|
+
"fit": "Whole frame only.",
|
|
2370
|
+
"derived": [],
|
|
2371
|
+
"preview": null
|
|
2372
|
+
},
|
|
2373
|
+
{
|
|
2374
|
+
"family": "edit",
|
|
2375
|
+
"id": "Trim",
|
|
2376
|
+
"call": "Trim",
|
|
2377
|
+
"is": "Plays a source range of a clip (with Speed, Loop and reverse).",
|
|
2378
|
+
"looks": "A cut: the shot starts and ends where you choose. Speed(0) holds a frame; negative speed reverses.",
|
|
2379
|
+
"for": [
|
|
2380
|
+
"edit"
|
|
2381
|
+
],
|
|
2382
|
+
"fights": "Nothing; it is the basic cut.",
|
|
2383
|
+
"derived": [],
|
|
2384
|
+
"preview": null
|
|
2385
|
+
},
|
|
2386
|
+
{
|
|
2387
|
+
"family": "edit",
|
|
2388
|
+
"id": "Crop",
|
|
2389
|
+
"call": "Crop",
|
|
2390
|
+
"is": "Shows a source rectangle of a clip, filling its display size.",
|
|
2391
|
+
"looks": "A tighter framing of the same shot.",
|
|
2392
|
+
"for": [
|
|
2393
|
+
"edit"
|
|
2394
|
+
],
|
|
2395
|
+
"fights": "Transitions (a cropped clip cannot sit in one); remote stills (rendered as nothing in testing: crop those with ffmpeg first).",
|
|
2396
|
+
"derived": [],
|
|
2397
|
+
"preview": null
|
|
2398
|
+
},
|
|
2399
|
+
{
|
|
2400
|
+
"family": "edit",
|
|
2401
|
+
"id": "placement",
|
|
2402
|
+
"call": "placement",
|
|
2403
|
+
"is": "Size, position, rotation, radius and corner-pin on a placed clip or image.",
|
|
2404
|
+
"looks": "The picture framed as a card (radius), a tilted insert (rotation), or pinned into a screen (corners). Oversizing it past the frame acts as a crop that transitions accept.",
|
|
2405
|
+
"for": [
|
|
2406
|
+
"edit",
|
|
2407
|
+
"demo"
|
|
2408
|
+
],
|
|
2409
|
+
"fights": "Guessed sizes: probe the asset and keep its aspect.",
|
|
2410
|
+
"derived": [],
|
|
2411
|
+
"preview": null
|
|
2412
|
+
},
|
|
2413
|
+
{
|
|
2414
|
+
"family": "edit",
|
|
2415
|
+
"id": "push",
|
|
2416
|
+
"call": "push",
|
|
2417
|
+
"is": "A slow scale animation on a picture (Ken Burns): `animate: { type: \"scale\", ... }`.",
|
|
2418
|
+
"looks": "The picture creeps closer (or away) over the shot. Gives a still a sense of time passing; at 1.0 to 1.08 over 4 s it is felt, not seen.",
|
|
2419
|
+
"for": [
|
|
2420
|
+
"establish",
|
|
2421
|
+
"texture"
|
|
2422
|
+
],
|
|
2423
|
+
"fights": "Pictures with text near the edges (it pushes them out), UI screenshots that must be read, every shot at once (sameness).",
|
|
2424
|
+
"derived": [],
|
|
2425
|
+
"preview": null
|
|
2426
|
+
},
|
|
2427
|
+
{
|
|
2428
|
+
"family": "edit",
|
|
2429
|
+
"id": "Overlay",
|
|
2430
|
+
"call": "Overlay",
|
|
2431
|
+
"is": "Puts one picture over a clip at a position (picture-in-picture).",
|
|
2432
|
+
"looks": "A smaller inset on top of the main shot.",
|
|
2433
|
+
"for": [
|
|
2434
|
+
"prove",
|
|
2435
|
+
"demo",
|
|
2436
|
+
"compare"
|
|
2437
|
+
],
|
|
2438
|
+
"fights": "Busy main shots where the inset gets lost.",
|
|
2439
|
+
"derived": [],
|
|
2440
|
+
"preview": null
|
|
2441
|
+
},
|
|
2442
|
+
{
|
|
2443
|
+
"family": "edit",
|
|
2444
|
+
"id": "blend",
|
|
2445
|
+
"call": "blend",
|
|
2446
|
+
"is": "Blends a layer with what is below it (`blend:` or `Composite`): screen, multiply, overlay, difference and others.",
|
|
2447
|
+
"looks": "Light leaks that only brighten (screen), colour washes that tint (multiply), graphic inversions (difference).",
|
|
2448
|
+
"for": [
|
|
2449
|
+
"texture",
|
|
2450
|
+
"grade"
|
|
2451
|
+
],
|
|
2452
|
+
"fights": "A layer with nothing below it (compile error).",
|
|
2453
|
+
"derived": [],
|
|
2454
|
+
"preview": null
|
|
2455
|
+
},
|
|
2456
|
+
{
|
|
2457
|
+
"family": "edit",
|
|
2458
|
+
"id": "Mask",
|
|
2459
|
+
"call": "Mask",
|
|
2460
|
+
"is": "Draws a clip through a matte: a shape, text, or another clip.",
|
|
2461
|
+
"looks": "Footage visible only inside a circle, a rounded card, or the letters of a word.",
|
|
2462
|
+
"for": [
|
|
2463
|
+
"emphasize",
|
|
2464
|
+
"brand",
|
|
2465
|
+
"texture"
|
|
2466
|
+
],
|
|
2467
|
+
"fights": "Placing the masked clip under Overlay/Composite (not allowed).",
|
|
2468
|
+
"derived": [],
|
|
2469
|
+
"preview": null
|
|
2470
|
+
},
|
|
2471
|
+
{
|
|
2472
|
+
"family": "edit",
|
|
2473
|
+
"id": "grid",
|
|
2474
|
+
"call": "grid",
|
|
2475
|
+
"is": "Split screens and layouts via grid areas for clips as well as text.",
|
|
2476
|
+
"looks": "Two or more shots side by side or stacked, each in its cell.",
|
|
2477
|
+
"for": [
|
|
2478
|
+
"compare",
|
|
2479
|
+
"demo"
|
|
2480
|
+
],
|
|
2481
|
+
"fights": "Transitions out of the layout (run the layout past the cut instead).",
|
|
2482
|
+
"derived": [],
|
|
2483
|
+
"preview": null
|
|
2484
|
+
},
|
|
2485
|
+
{
|
|
2486
|
+
"family": "edit",
|
|
2487
|
+
"id": "motion_blur",
|
|
2488
|
+
"call": "motion_blur",
|
|
2489
|
+
"is": "Blurs an item along its own animated motion.",
|
|
2490
|
+
"looks": "Fast moves streak like real camera footage instead of strobing.",
|
|
2491
|
+
"for": [
|
|
2492
|
+
"texture"
|
|
2493
|
+
],
|
|
2494
|
+
"fights": "Slow moves (wasted cost), text and solids (not allowed).",
|
|
2495
|
+
"fit": "Each sample is a full extra render of the frame.",
|
|
2496
|
+
"derived": [],
|
|
2497
|
+
"preview": null
|
|
2498
|
+
},
|
|
2499
|
+
{
|
|
2500
|
+
"family": "edit",
|
|
2501
|
+
"id": "duck_under",
|
|
2502
|
+
"call": "duck_under",
|
|
2503
|
+
"is": "Lowers a music bed while a named voice track plays.",
|
|
2504
|
+
"looks": "Nothing on screen; the voice sits clearly over the music.",
|
|
2505
|
+
"for": [
|
|
2506
|
+
"sound"
|
|
2507
|
+
],
|
|
2508
|
+
"fights": "Voice split across many windows where the bed should stay up between lines.",
|
|
2509
|
+
"derived": [],
|
|
2510
|
+
"preview": null
|
|
2511
|
+
},
|
|
2512
|
+
{
|
|
2513
|
+
"family": "edit",
|
|
2514
|
+
"id": "function",
|
|
2515
|
+
"call": "function",
|
|
2516
|
+
"is": "A `fn ... -> video` that draws several layers as one item.",
|
|
2517
|
+
"looks": "A grouped card, lower third or scene that moves, fades and blends as a unit.",
|
|
2518
|
+
"for": [
|
|
2519
|
+
"edit",
|
|
2520
|
+
"name",
|
|
2521
|
+
"brand"
|
|
2522
|
+
],
|
|
2523
|
+
"fights": "Inputs declared outside (pass them as parameters).",
|
|
2524
|
+
"derived": [],
|
|
2525
|
+
"preview": null
|
|
2526
|
+
},
|
|
2527
|
+
{
|
|
2528
|
+
"family": "capture",
|
|
2529
|
+
"id": "page-images",
|
|
2530
|
+
"call": "page-images",
|
|
2531
|
+
"is": "The product page's own image URLs (og:image, JSON-LD Product.image, Shopify /products/<handle>.json, Amazon landingImage).",
|
|
2532
|
+
"looks": "Real product photography: often a product on white, sometimes lifestyle shots with baked-in captions and badges.",
|
|
2533
|
+
"for": [
|
|
2534
|
+
"prove",
|
|
2535
|
+
"demo",
|
|
2536
|
+
"source"
|
|
2537
|
+
],
|
|
2538
|
+
"fights": "Small sizes (Amazon gallery stills are often 500 px), baked-in text (crop it out with ffmpeg).",
|
|
2539
|
+
"derived": [],
|
|
2540
|
+
"preview": null
|
|
2541
|
+
},
|
|
2542
|
+
{
|
|
2543
|
+
"family": "capture",
|
|
2544
|
+
"id": "screenshot",
|
|
2545
|
+
"call": "screenshot",
|
|
2546
|
+
"is": "A browser screenshot of a page or app, cropped to what you need.",
|
|
2547
|
+
"looks": "The real interface, pixel for pixel. Desktop at 1440 wide, mobile at 390 wide.",
|
|
2548
|
+
"for": [
|
|
2549
|
+
"prove",
|
|
2550
|
+
"demo",
|
|
2551
|
+
"source"
|
|
2552
|
+
],
|
|
2553
|
+
"fights": "Full pages used as backgrounds (unreadable), screenshots shrunk below phone-readable size.",
|
|
2554
|
+
"derived": [],
|
|
2555
|
+
"preview": null
|
|
2556
|
+
},
|
|
2557
|
+
{
|
|
2558
|
+
"family": "capture",
|
|
2559
|
+
"id": "screen-recording",
|
|
2560
|
+
"call": "screen-recording",
|
|
2561
|
+
"is": "A recording of the app or site in use, placed as an input clip.",
|
|
2562
|
+
"looks": "The product actually working: cursor, scrolling, real states.",
|
|
2563
|
+
"for": [
|
|
2564
|
+
"demo",
|
|
2565
|
+
"prove",
|
|
2566
|
+
"source"
|
|
2567
|
+
],
|
|
2568
|
+
"fights": "Long unedited takes (trim to the moment), tiny UI in a 9:16 frame.",
|
|
2569
|
+
"derived": [],
|
|
2570
|
+
"preview": null
|
|
2571
|
+
},
|
|
2572
|
+
{
|
|
2573
|
+
"family": "capture",
|
|
2574
|
+
"id": "grabFrame",
|
|
2575
|
+
"call": "grabFrame",
|
|
2576
|
+
"is": "A still pulled from a video at a time (`media.grabFrame`).",
|
|
2577
|
+
"looks": "One frame of the footage, usable as a poster or held shot.",
|
|
2578
|
+
"for": [
|
|
2579
|
+
"source",
|
|
2580
|
+
"edit"
|
|
2581
|
+
],
|
|
2582
|
+
"fights": "Motion-blurred frames.",
|
|
2583
|
+
"derived": [],
|
|
2584
|
+
"preview": null
|
|
2585
|
+
},
|
|
2586
|
+
{
|
|
2587
|
+
"family": "capture",
|
|
2588
|
+
"id": "image-sequence",
|
|
2589
|
+
"call": "image-sequence",
|
|
2590
|
+
"is": "A numbered sequence of stills played as a clip.",
|
|
2591
|
+
"looks": "Frame-by-frame animation or a timelapse from stills.",
|
|
2592
|
+
"for": [
|
|
2593
|
+
"source",
|
|
2594
|
+
"texture"
|
|
2595
|
+
],
|
|
2596
|
+
"fights": "Sequences without a declared count on hosted renders.",
|
|
2597
|
+
"derived": [],
|
|
2598
|
+
"preview": null
|
|
2599
|
+
},
|
|
2600
|
+
{
|
|
2601
|
+
"family": "capture",
|
|
2602
|
+
"id": "made-background",
|
|
2603
|
+
"call": "made-background",
|
|
2604
|
+
"is": "A background you render yourself with ffmpeg: a gradient, a glow, a blurred copy of a shot.",
|
|
2605
|
+
"looks": "A soft colour field in the brand palette: atmosphere without a subject.",
|
|
2606
|
+
"for": [
|
|
2607
|
+
"texture",
|
|
2608
|
+
"establish"
|
|
2609
|
+
],
|
|
2610
|
+
"fights": "Being the only picture when the subject has real imagery available.",
|
|
2611
|
+
"derived": [],
|
|
2612
|
+
"preview": null
|
|
2613
|
+
},
|
|
2614
|
+
{
|
|
2615
|
+
"family": "media",
|
|
2616
|
+
"id": "xai.image",
|
|
2617
|
+
"call": "xai.image(…)",
|
|
2618
|
+
"is": "A generated still image from a prompt (Grok).",
|
|
2619
|
+
"looks": "Whatever you describe: a photographic or illustrated still at the aspect you ask for. Static unless you move it.",
|
|
2620
|
+
"for": [
|
|
2621
|
+
"establish",
|
|
2622
|
+
"source",
|
|
2623
|
+
"texture"
|
|
2624
|
+
],
|
|
2625
|
+
"fights": "Facts: it invents products, places and people. Never use it to show the real product.",
|
|
2626
|
+
"fit": "Prompts must forbid text, letters, logos and watermarks; put copy in `text`. Billed per call and cached; non-deterministic: the same prompt gives a different result unless the cache hits.",
|
|
2627
|
+
"aliases": [
|
|
2628
|
+
"xai.generateImage"
|
|
2629
|
+
],
|
|
2630
|
+
"derived": [],
|
|
2631
|
+
"preview": null
|
|
2632
|
+
},
|
|
2633
|
+
{
|
|
2634
|
+
"family": "media",
|
|
2635
|
+
"id": "xai.imagine",
|
|
2636
|
+
"call": "xai.imagine(…)",
|
|
2637
|
+
"is": "A generated video clip from a prompt (Grok), 720p, about 5 s.",
|
|
2638
|
+
"looks": "A short cinematic clip with real camera motion and lighting; quality varies shot to shot.",
|
|
2639
|
+
"for": [
|
|
2640
|
+
"establish",
|
|
2641
|
+
"texture",
|
|
2642
|
+
"source"
|
|
2643
|
+
],
|
|
2644
|
+
"fights": "Facts and specifics (logos, UI, exact products); anything that must look the same twice.",
|
|
2645
|
+
"fit": "Prompts must forbid text, letters, logos and watermarks; put copy in `text`. Billed per call and cached; non-deterministic: the same prompt gives a different result unless the cache hits. Heavy: seconds to minutes per clip.",
|
|
2646
|
+
"aliases": [
|
|
2647
|
+
"xai.genVideo"
|
|
2648
|
+
],
|
|
2649
|
+
"derived": [],
|
|
2650
|
+
"preview": null
|
|
2651
|
+
},
|
|
2652
|
+
{
|
|
2653
|
+
"family": "media",
|
|
2654
|
+
"id": "xai.imageToVideo",
|
|
2655
|
+
"call": "xai.imageToVideo(…)",
|
|
2656
|
+
"is": "Animates one still (a product photo, a screenshot) into a short clip.",
|
|
2657
|
+
"looks": "Your picture comes alive: a camera move around it, light shifting, small motion inside it. The first frame is your image.",
|
|
2658
|
+
"for": [
|
|
2659
|
+
"demo",
|
|
2660
|
+
"establish",
|
|
2661
|
+
"source"
|
|
2662
|
+
],
|
|
2663
|
+
"fights": "Images with text or UI (it warps them), when exact fidelity to the product matters.",
|
|
2664
|
+
"fit": "Prompts must forbid text, letters, logos and watermarks; put copy in `text`. Billed per call and cached; non-deterministic: the same prompt gives a different result unless the cache hits.",
|
|
2665
|
+
"derived": [],
|
|
2666
|
+
"preview": null
|
|
2667
|
+
},
|
|
2668
|
+
{
|
|
2669
|
+
"family": "media",
|
|
2670
|
+
"id": "xai.referenceToVideo",
|
|
2671
|
+
"call": "xai.referenceToVideo(…)",
|
|
2672
|
+
"is": "A generated clip guided by 1-7 reference images.",
|
|
2673
|
+
"looks": "A new scene that borrows the look of your references (product, person, palette) without starting from any one of them.",
|
|
2674
|
+
"for": [
|
|
2675
|
+
"establish",
|
|
2676
|
+
"demo",
|
|
2677
|
+
"source"
|
|
2678
|
+
],
|
|
2679
|
+
"fights": "Exact reproduction of the product.",
|
|
2680
|
+
"fit": "Prompt required, at most 10 s. Prompts must forbid text, letters, logos and watermarks; put copy in `text`. Billed per call and cached; non-deterministic: the same prompt gives a different result unless the cache hits.",
|
|
2681
|
+
"derived": [],
|
|
2682
|
+
"preview": null
|
|
2683
|
+
},
|
|
2684
|
+
{
|
|
2685
|
+
"family": "media",
|
|
2686
|
+
"id": "xai.extendVideo",
|
|
2687
|
+
"call": "xai.extendVideo(…)",
|
|
2688
|
+
"is": "Continues an existing clip.",
|
|
2689
|
+
"looks": "More of the same shot: the motion carries on past the last frame.",
|
|
2690
|
+
"for": [
|
|
2691
|
+
"source"
|
|
2692
|
+
],
|
|
2693
|
+
"fights": "Clips with cuts or text in them.",
|
|
2694
|
+
"fit": "Billed per call and cached; non-deterministic: the same prompt gives a different result unless the cache hits.",
|
|
2695
|
+
"derived": [],
|
|
2696
|
+
"preview": null
|
|
2697
|
+
},
|
|
2698
|
+
{
|
|
2699
|
+
"family": "media",
|
|
2700
|
+
"id": "xai.tts",
|
|
2701
|
+
"call": "xai.tts(…)",
|
|
2702
|
+
"is": "A spoken voiceover from text (voices eve, ara, rex, sal, leo).",
|
|
2703
|
+
"looks": "Nothing on screen; it sets the pace of the edit. Bind it with let and time visuals to vo.duration.",
|
|
2704
|
+
"for": [
|
|
2705
|
+
"sound",
|
|
2706
|
+
"caption"
|
|
2707
|
+
],
|
|
2708
|
+
"fights": "Dense on-screen text saying the same words (the viewer reads and listens at once).",
|
|
2709
|
+
"fit": "Billed per call and cached; non-deterministic: the same prompt gives a different result unless the cache hits.",
|
|
2710
|
+
"aliases": [
|
|
2711
|
+
"xai.textToSpeech"
|
|
2712
|
+
],
|
|
2713
|
+
"derived": [],
|
|
2714
|
+
"preview": null
|
|
2715
|
+
},
|
|
2716
|
+
{
|
|
2717
|
+
"family": "media",
|
|
2718
|
+
"id": "cf.image",
|
|
2719
|
+
"call": "cf.image(…)",
|
|
2720
|
+
"is": "A generated still through the Cloudflare gateway (model: picks Flux, GPT Image, Recraft and others).",
|
|
2721
|
+
"looks": "As `xai.image`, with the look of the chosen model.",
|
|
2722
|
+
"for": [
|
|
2723
|
+
"establish",
|
|
2724
|
+
"source",
|
|
2725
|
+
"texture"
|
|
2726
|
+
],
|
|
2727
|
+
"fights": "Facts: it invents.",
|
|
2728
|
+
"fit": "Pass model: explicitly. Prompts must forbid text, letters, logos and watermarks; put copy in `text`. Billed per call and cached; non-deterministic: the same prompt gives a different result unless the cache hits.",
|
|
2729
|
+
"aliases": [
|
|
2730
|
+
"cf.generateImage"
|
|
2731
|
+
],
|
|
2732
|
+
"derived": [],
|
|
2733
|
+
"preview": null
|
|
2734
|
+
},
|
|
2735
|
+
{
|
|
2736
|
+
"family": "media",
|
|
2737
|
+
"id": "cf.video",
|
|
2738
|
+
"call": "cf.video(…)",
|
|
2739
|
+
"is": "A generated video clip through the Cloudflare gateway (Veo, Runway, Pixverse, Seedance and others).",
|
|
2740
|
+
"looks": "As `xai.imagine`, with the look of the chosen model; some models add native audio.",
|
|
2741
|
+
"for": [
|
|
2742
|
+
"establish",
|
|
2743
|
+
"texture",
|
|
2744
|
+
"source"
|
|
2745
|
+
],
|
|
2746
|
+
"fights": "Facts and specifics.",
|
|
2747
|
+
"fit": "Pass model: explicitly. Prompts must forbid text, letters, logos and watermarks; put copy in `text`. Billed per call and cached; non-deterministic: the same prompt gives a different result unless the cache hits.",
|
|
2748
|
+
"aliases": [
|
|
2749
|
+
"cf.imagine",
|
|
2750
|
+
"cf.genVideo",
|
|
2751
|
+
"cf.generateVideo"
|
|
2752
|
+
],
|
|
2753
|
+
"derived": [],
|
|
2754
|
+
"preview": null
|
|
2755
|
+
},
|
|
2756
|
+
{
|
|
2757
|
+
"family": "media",
|
|
2758
|
+
"id": "cf.imageToVideo",
|
|
2759
|
+
"call": "cf.imageToVideo(…)",
|
|
2760
|
+
"is": "Animates one still through the Cloudflare gateway.",
|
|
2761
|
+
"looks": "As `xai.imageToVideo`, with the chosen model.",
|
|
2762
|
+
"for": [
|
|
2763
|
+
"demo",
|
|
2764
|
+
"establish",
|
|
2765
|
+
"source"
|
|
2766
|
+
],
|
|
2767
|
+
"fights": "Images with text or UI.",
|
|
2768
|
+
"fit": "Prompts must forbid text, letters, logos and watermarks; put copy in `text`. Billed per call and cached; non-deterministic: the same prompt gives a different result unless the cache hits.",
|
|
2769
|
+
"derived": [],
|
|
2770
|
+
"preview": null
|
|
2771
|
+
},
|
|
2772
|
+
{
|
|
2773
|
+
"family": "media",
|
|
2774
|
+
"id": "cf.referenceToVideo",
|
|
2775
|
+
"call": "cf.referenceToVideo(…)",
|
|
2776
|
+
"is": "A clip guided by reference images through the Cloudflare gateway.",
|
|
2777
|
+
"looks": "As `xai.referenceToVideo`, with the chosen model.",
|
|
2778
|
+
"for": [
|
|
2779
|
+
"establish",
|
|
2780
|
+
"source"
|
|
2781
|
+
],
|
|
2782
|
+
"fights": "Exact reproduction.",
|
|
2783
|
+
"fit": "Prompts must forbid text, letters, logos and watermarks; put copy in `text`. Billed per call and cached; non-deterministic: the same prompt gives a different result unless the cache hits.",
|
|
2784
|
+
"derived": [],
|
|
2785
|
+
"preview": null
|
|
2786
|
+
},
|
|
2787
|
+
{
|
|
2788
|
+
"family": "media",
|
|
2789
|
+
"id": "cf.extendVideo",
|
|
2790
|
+
"call": "cf.extendVideo(…)",
|
|
2791
|
+
"is": "Continues a clip through the Cloudflare gateway.",
|
|
2792
|
+
"looks": "More of the same shot: the camera move and action carry on past the last frame.",
|
|
2793
|
+
"for": [
|
|
2794
|
+
"source"
|
|
2795
|
+
],
|
|
2796
|
+
"fights": "Clips with cuts.",
|
|
2797
|
+
"fit": "Billed per call and cached; non-deterministic: the same prompt gives a different result unless the cache hits.",
|
|
2798
|
+
"derived": [],
|
|
2799
|
+
"preview": null
|
|
2800
|
+
},
|
|
2801
|
+
{
|
|
2802
|
+
"family": "media",
|
|
2803
|
+
"id": "eleven.music",
|
|
2804
|
+
"call": "eleven.music(…)",
|
|
2805
|
+
"is": "A generated instrumental or vocal music bed (ElevenLabs).",
|
|
2806
|
+
"looks": "Nothing on screen; it sets the energy and where the cuts land.",
|
|
2807
|
+
"for": [
|
|
2808
|
+
"sound"
|
|
2809
|
+
],
|
|
2810
|
+
"fights": "A voiceover at the same level: duck it with duck_under.",
|
|
2811
|
+
"fit": "Give duration: the length you need. Billed per call and cached; non-deterministic: the same prompt gives a different result unless the cache hits.",
|
|
2812
|
+
"aliases": [
|
|
2813
|
+
"eleven.generateMusic",
|
|
2814
|
+
"eleven.composeMusic"
|
|
2815
|
+
],
|
|
2816
|
+
"derived": [],
|
|
2817
|
+
"preview": null
|
|
2818
|
+
},
|
|
2819
|
+
{
|
|
2820
|
+
"family": "media",
|
|
2821
|
+
"id": "up.upscale",
|
|
2822
|
+
"call": "up.upscale(…)",
|
|
2823
|
+
"is": "Upscales a clip (Real-ESRGAN, or Topaz with model: \"topaz\").",
|
|
2824
|
+
"looks": "The same shot with more detail: sharper edges, less mush. Generate cheap at 720p, upscale the keeper.",
|
|
2825
|
+
"for": [
|
|
2826
|
+
"source"
|
|
2827
|
+
],
|
|
2828
|
+
"fights": "Short budgets and timelines: it is slow (minutes) and billed.",
|
|
2829
|
+
"fit": "Billed per call and cached; non-deterministic: the same prompt gives a different result unless the cache hits.",
|
|
2830
|
+
"aliases": [
|
|
2831
|
+
"up.upscaleVideo",
|
|
2832
|
+
"up.enhance"
|
|
2833
|
+
],
|
|
2834
|
+
"derived": [],
|
|
2835
|
+
"preview": null
|
|
2836
|
+
},
|
|
2837
|
+
{
|
|
2838
|
+
"family": "media",
|
|
2839
|
+
"id": "lottie.file",
|
|
2840
|
+
"call": "lottie.file(…)",
|
|
2841
|
+
"is": "Plays a Lottie or dotLottie animation file as a layer.",
|
|
2842
|
+
"looks": "The vector animation you supply (icons, illustrations, UI motion), crisp at any size, on a transparent background; loops by default.",
|
|
2843
|
+
"for": [
|
|
2844
|
+
"texture",
|
|
2845
|
+
"demo",
|
|
2846
|
+
"brand"
|
|
2847
|
+
],
|
|
2848
|
+
"fights": "Nothing intrinsic; quality is the file's.",
|
|
2849
|
+
"fit": "Needs a .json or .lottie file. Options: loop, segment, fit, theme.",
|
|
2850
|
+
"aliases": [
|
|
2851
|
+
"lottie.asset",
|
|
2852
|
+
"lottie.json",
|
|
2853
|
+
"lottie.dotLottie"
|
|
2854
|
+
],
|
|
2855
|
+
"derived": [],
|
|
2856
|
+
"preview": null
|
|
2857
|
+
}
|
|
2858
|
+
],
|
|
5
2859
|
"categories": [
|
|
6
2860
|
{
|
|
7
2861
|
"id": "ai-models",
|