@shotstack/schemas 1.5.9 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +89 -89
  2. package/dist/json-schema/asset.json +3123 -0
  3. package/dist/json-schema/audio-asset.json +180 -0
  4. package/dist/json-schema/caption-asset.json +285 -0
  5. package/dist/json-schema/caption-background.json +61 -0
  6. package/dist/json-schema/caption-font.json +97 -0
  7. package/dist/json-schema/caption-margin.json +49 -0
  8. package/dist/json-schema/chroma-key.json +46 -0
  9. package/dist/json-schema/clip.json +3575 -0
  10. package/dist/json-schema/crop.json +69 -0
  11. package/dist/json-schema/destinations.json +495 -0
  12. package/dist/json-schema/edit.json +4540 -0
  13. package/dist/json-schema/flip-transformation.json +37 -0
  14. package/dist/json-schema/font.json +18 -0
  15. package/dist/json-schema/google-cloud-storage-destination-options.json +42 -0
  16. package/dist/json-schema/google-cloud-storage-destination.json +73 -0
  17. package/dist/json-schema/google-drive-destination-options.json +30 -0
  18. package/dist/json-schema/google-drive-destination.json +54 -0
  19. package/dist/json-schema/image-asset.json +104 -0
  20. package/dist/json-schema/image-to-video-asset.json +151 -0
  21. package/dist/json-schema/index.cjs +1 -0
  22. package/dist/json-schema/index.d.ts +6 -0
  23. package/dist/json-schema/index.js +3 -0
  24. package/dist/json-schema/luma-asset.json +38 -0
  25. package/dist/json-schema/merge-field.json +23 -0
  26. package/dist/json-schema/offset.json +145 -0
  27. package/dist/json-schema/output.json +771 -0
  28. package/dist/json-schema/poster.json +18 -0
  29. package/dist/json-schema/range.json +39 -0
  30. package/dist/json-schema/rich-caption-active-font.json +54 -0
  31. package/dist/json-schema/rich-caption-active.json +154 -0
  32. package/dist/json-schema/rich-caption-asset.json +1098 -0
  33. package/dist/json-schema/rich-caption-word-animation.json +60 -0
  34. package/dist/json-schema/rich-text-alignment.json +47 -0
  35. package/dist/json-schema/rich-text-animation.json +74 -0
  36. package/dist/json-schema/rich-text-asset.json +737 -0
  37. package/dist/json-schema/rich-text-background.json +52 -0
  38. package/dist/json-schema/rich-text-font.json +157 -0
  39. package/dist/json-schema/rich-text-gradient.json +68 -0
  40. package/dist/json-schema/rich-text-shadow.json +79 -0
  41. package/dist/json-schema/rich-text-stroke.json +55 -0
  42. package/dist/json-schema/rich-text-style.json +165 -0
  43. package/dist/json-schema/rotate-transformation.json +123 -0
  44. package/dist/json-schema/s3destination-options.json +59 -0
  45. package/dist/json-schema/s3destination.json +90 -0
  46. package/dist/json-schema/schemas.json +4983 -0
  47. package/dist/json-schema/shape-asset.json +225 -0
  48. package/dist/json-schema/shotstack-destination.json +33 -0
  49. package/dist/json-schema/size.json +41 -0
  50. package/dist/json-schema/skew-transformation.json +145 -0
  51. package/dist/json-schema/soundtrack.json +47 -0
  52. package/dist/json-schema/svg-arrow-shape.json +49 -0
  53. package/dist/json-schema/svg-asset.json +877 -0
  54. package/dist/json-schema/svg-circle-shape.json +28 -0
  55. package/dist/json-schema/svg-cross-shape.json +42 -0
  56. package/dist/json-schema/svg-ellipse-shape.json +35 -0
  57. package/dist/json-schema/svg-fill.json +169 -0
  58. package/dist/json-schema/svg-gradient-stop.json +25 -0
  59. package/dist/json-schema/svg-heart-shape.json +28 -0
  60. package/dist/json-schema/svg-line-shape.json +35 -0
  61. package/dist/json-schema/svg-linear-gradient-fill.json +80 -0
  62. package/dist/json-schema/svg-path-shape.json +26 -0
  63. package/dist/json-schema/svg-polygon-shape.json +35 -0
  64. package/dist/json-schema/svg-radial-gradient-fill.json +66 -0
  65. package/dist/json-schema/svg-rectangle-shape.json +49 -0
  66. package/dist/json-schema/svg-ring-shape.json +35 -0
  67. package/dist/json-schema/svg-shadow.json +79 -0
  68. package/dist/json-schema/svg-shape.json +404 -0
  69. package/dist/json-schema/svg-solid-fill.json +40 -0
  70. package/dist/json-schema/svg-star-shape.json +42 -0
  71. package/dist/json-schema/svg-stroke.json +115 -0
  72. package/dist/json-schema/svg-transform.json +93 -0
  73. package/dist/json-schema/text-to-image-asset.json +128 -0
  74. package/dist/json-schema/text-to-speech-asset.json +209 -0
  75. package/dist/json-schema/thumbnail.json +25 -0
  76. package/dist/json-schema/timeline.json +3703 -0
  77. package/dist/json-schema/track.json +3590 -0
  78. package/dist/json-schema/transformation.json +251 -0
  79. package/dist/json-schema/transition.json +37 -0
  80. package/dist/json-schema/tween.json +90 -0
  81. package/dist/json-schema/video-asset.json +321 -0
  82. package/dist/json-schema/vimeo-destination-options.json +149 -0
  83. package/dist/json-schema/vimeo-destination-privacy-options.json +90 -0
  84. package/dist/json-schema/vimeo-destination.json +178 -0
  85. package/dist/json-schema/word-timing.json +44 -0
  86. package/dist/schema.d.ts +77 -77
  87. package/dist/zod/zod.gen.cjs +1080 -921
  88. package/dist/zod/zod.gen.d.ts +139 -139
  89. package/dist/zod/zod.gen.js +1081 -922
  90. package/dist/zod/zod.gen.ts +1583 -1648
  91. package/package.json +79 -73
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "RichTextBackground",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "Background styling properties for the text bounding box.",
6
+ "properties": {
7
+ "color": {
8
+ "anyOf": [
9
+ {
10
+ "type": "string",
11
+ "description": "The background color using hexadecimal color notation."
12
+ },
13
+ {
14
+ "type": "null"
15
+ }
16
+ ]
17
+ },
18
+ "opacity": {
19
+ "anyOf": [
20
+ {
21
+ "type": "number",
22
+ "description": "The opacity of the background where 1 is opaque and 0 is transparent.",
23
+ "minimum": 0,
24
+ "maximum": 1
25
+ },
26
+ {
27
+ "type": "null"
28
+ }
29
+ ]
30
+ },
31
+ "borderRadius": {
32
+ "anyOf": [
33
+ {
34
+ "type": "number",
35
+ "description": "The border radius of the background box in pixels. Must be 0 or greater.",
36
+ "minimum": 0
37
+ },
38
+ {
39
+ "type": "null"
40
+ }
41
+ ]
42
+ }
43
+ },
44
+ "additionalProperties": false,
45
+ "type": "object",
46
+ "required": [
47
+ "color",
48
+ "opacity",
49
+ "borderRadius"
50
+ ]
51
+ }
52
+ }
@@ -0,0 +1,157 @@
1
+ {
2
+ "name": "RichTextFont",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "Font properties for rich text.",
6
+ "properties": {
7
+ "family": {
8
+ "anyOf": [
9
+ {
10
+ "type": "string",
11
+ "description": "The font family name. This must be the Family name embedded in the font, i.e. \"Open Sans\".",
12
+ "enum": [
13
+ "Open Sans"
14
+ ]
15
+ },
16
+ {
17
+ "type": "null"
18
+ }
19
+ ]
20
+ },
21
+ "size": {
22
+ "anyOf": [
23
+ {
24
+ "type": "integer",
25
+ "description": "The size of the font in pixels (px). Must be between 1 and 500.",
26
+ "minimum": 1,
27
+ "maximum": 500
28
+ },
29
+ {
30
+ "type": "null"
31
+ }
32
+ ]
33
+ },
34
+ "weight": {
35
+ "anyOf": [
36
+ {
37
+ "type": "string",
38
+ "description": "The weight of the font. Can be a number (100-900) or a string ('normal', 'bold', etc.). 100 is lightest, 900 is heaviest (boldest)."
39
+ },
40
+ {
41
+ "type": "null"
42
+ }
43
+ ]
44
+ },
45
+ "color": {
46
+ "anyOf": [
47
+ {
48
+ "type": "string",
49
+ "description": "The text color using hexadecimal color notation."
50
+ },
51
+ {
52
+ "type": "null"
53
+ }
54
+ ]
55
+ },
56
+ "opacity": {
57
+ "anyOf": [
58
+ {
59
+ "type": "number",
60
+ "description": "The opacity of the text where 1 is opaque and 0 is transparent.",
61
+ "minimum": 0,
62
+ "maximum": 1
63
+ },
64
+ {
65
+ "type": "null"
66
+ }
67
+ ]
68
+ },
69
+ "background": {
70
+ "anyOf": [
71
+ {
72
+ "type": "string",
73
+ "description": "The background color behind the text using hexadecimal color notation."
74
+ },
75
+ {
76
+ "type": "null"
77
+ }
78
+ ]
79
+ },
80
+ "stroke": {
81
+ "anyOf": [
82
+ {
83
+ "description": "Text stroke (outline) properties.",
84
+ "$ref": "#/$defs/RichTextStroke"
85
+ },
86
+ {
87
+ "type": "null"
88
+ }
89
+ ]
90
+ }
91
+ },
92
+ "additionalProperties": false,
93
+ "type": "object",
94
+ "required": [
95
+ "family",
96
+ "size",
97
+ "weight",
98
+ "color",
99
+ "opacity",
100
+ "background",
101
+ "stroke"
102
+ ],
103
+ "$defs": {
104
+ "RichTextStroke": {
105
+ "description": "Text stroke (outline) properties.",
106
+ "properties": {
107
+ "width": {
108
+ "anyOf": [
109
+ {
110
+ "type": "number",
111
+ "description": "The width of the stroke in pixels. Must be 0 or greater.",
112
+ "minimum": 0
113
+ },
114
+ {
115
+ "type": "null"
116
+ }
117
+ ]
118
+ },
119
+ "color": {
120
+ "anyOf": [
121
+ {
122
+ "type": "string",
123
+ "description": "The stroke color using hexadecimal color notation.",
124
+ "enum": [
125
+ "#000000"
126
+ ]
127
+ },
128
+ {
129
+ "type": "null"
130
+ }
131
+ ]
132
+ },
133
+ "opacity": {
134
+ "anyOf": [
135
+ {
136
+ "type": "number",
137
+ "description": "The opacity of the stroke where 1 is opaque and 0 is transparent.",
138
+ "minimum": 0,
139
+ "maximum": 1
140
+ },
141
+ {
142
+ "type": "null"
143
+ }
144
+ ]
145
+ }
146
+ },
147
+ "additionalProperties": false,
148
+ "type": "object",
149
+ "required": [
150
+ "width",
151
+ "color",
152
+ "opacity"
153
+ ]
154
+ }
155
+ }
156
+ }
157
+ }
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "RichTextGradient",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "Gradient properties for text fill.",
6
+ "properties": {
7
+ "type": {
8
+ "anyOf": [
9
+ {
10
+ "type": "string",
11
+ "description": "The type of gradient.",
12
+ "enum": [
13
+ "linear",
14
+ "radial"
15
+ ]
16
+ },
17
+ {
18
+ "type": "null"
19
+ }
20
+ ]
21
+ },
22
+ "angle": {
23
+ "anyOf": [
24
+ {
25
+ "type": "number",
26
+ "description": "The angle of the gradient in degrees (for linear gradients). Must be between 0 and 360.",
27
+ "minimum": 0,
28
+ "maximum": 360
29
+ },
30
+ {
31
+ "type": "null"
32
+ }
33
+ ]
34
+ },
35
+ "stops": {
36
+ "description": "Gradient color stops. Must have at least 2 stops.",
37
+ "type": "array",
38
+ "items": {
39
+ "type": "object",
40
+ "properties": {
41
+ "offset": {
42
+ "description": "Position of the color stop between 0 (start) and 1 (end).",
43
+ "type": "number",
44
+ "minimum": 0,
45
+ "maximum": 1
46
+ },
47
+ "color": {
48
+ "description": "Color at this stop using hexadecimal color notation.",
49
+ "type": "string"
50
+ }
51
+ },
52
+ "required": [
53
+ "offset",
54
+ "color"
55
+ ],
56
+ "additionalProperties": false
57
+ }
58
+ }
59
+ },
60
+ "required": [
61
+ "type",
62
+ "angle",
63
+ "stops"
64
+ ],
65
+ "additionalProperties": false,
66
+ "type": "object"
67
+ }
68
+ }
@@ -0,0 +1,79 @@
1
+ {
2
+ "name": "RichTextShadow",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "Text shadow properties.",
6
+ "properties": {
7
+ "offsetX": {
8
+ "anyOf": [
9
+ {
10
+ "type": "number",
11
+ "description": "Horizontal offset of the shadow in pixels. Positive values move right, negative left."
12
+ },
13
+ {
14
+ "type": "null"
15
+ }
16
+ ]
17
+ },
18
+ "offsetY": {
19
+ "anyOf": [
20
+ {
21
+ "type": "number",
22
+ "description": "Vertical offset of the shadow in pixels. Positive values move down, negative up."
23
+ },
24
+ {
25
+ "type": "null"
26
+ }
27
+ ]
28
+ },
29
+ "blur": {
30
+ "anyOf": [
31
+ {
32
+ "type": "number",
33
+ "description": "The blur radius of the shadow in pixels. Must be 0 or greater.",
34
+ "minimum": 0
35
+ },
36
+ {
37
+ "type": "null"
38
+ }
39
+ ]
40
+ },
41
+ "color": {
42
+ "anyOf": [
43
+ {
44
+ "type": "string",
45
+ "description": "The shadow color using hexadecimal color notation.",
46
+ "enum": [
47
+ "#000000"
48
+ ]
49
+ },
50
+ {
51
+ "type": "null"
52
+ }
53
+ ]
54
+ },
55
+ "opacity": {
56
+ "anyOf": [
57
+ {
58
+ "type": "number",
59
+ "description": "The opacity of the shadow where 1 is opaque and 0 is transparent.",
60
+ "minimum": 0,
61
+ "maximum": 1
62
+ },
63
+ {
64
+ "type": "null"
65
+ }
66
+ ]
67
+ }
68
+ },
69
+ "additionalProperties": false,
70
+ "type": "object",
71
+ "required": [
72
+ "offsetX",
73
+ "offsetY",
74
+ "blur",
75
+ "color",
76
+ "opacity"
77
+ ]
78
+ }
79
+ }
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "RichTextStroke",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "Text stroke (outline) properties.",
6
+ "properties": {
7
+ "width": {
8
+ "anyOf": [
9
+ {
10
+ "type": "number",
11
+ "description": "The width of the stroke in pixels. Must be 0 or greater.",
12
+ "minimum": 0
13
+ },
14
+ {
15
+ "type": "null"
16
+ }
17
+ ]
18
+ },
19
+ "color": {
20
+ "anyOf": [
21
+ {
22
+ "type": "string",
23
+ "description": "The stroke color using hexadecimal color notation.",
24
+ "enum": [
25
+ "#000000"
26
+ ]
27
+ },
28
+ {
29
+ "type": "null"
30
+ }
31
+ ]
32
+ },
33
+ "opacity": {
34
+ "anyOf": [
35
+ {
36
+ "type": "number",
37
+ "description": "The opacity of the stroke where 1 is opaque and 0 is transparent.",
38
+ "minimum": 0,
39
+ "maximum": 1
40
+ },
41
+ {
42
+ "type": "null"
43
+ }
44
+ ]
45
+ }
46
+ },
47
+ "additionalProperties": false,
48
+ "type": "object",
49
+ "required": [
50
+ "width",
51
+ "color",
52
+ "opacity"
53
+ ]
54
+ }
55
+ }
@@ -0,0 +1,165 @@
1
+ {
2
+ "name": "RichTextStyle",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "Text style properties including spacing, line height, and transformations.",
6
+ "properties": {
7
+ "letterSpacing": {
8
+ "anyOf": [
9
+ {
10
+ "type": "number",
11
+ "description": "Additional spacing between letters in pixels. Can be negative for tighter spacing."
12
+ },
13
+ {
14
+ "type": "null"
15
+ }
16
+ ]
17
+ },
18
+ "wordSpacing": {
19
+ "anyOf": [
20
+ {
21
+ "type": "number",
22
+ "description": "Additional spacing between words in pixels. A value of 0 uses the font's natural space width.",
23
+ "minimum": 0
24
+ },
25
+ {
26
+ "type": "null"
27
+ }
28
+ ]
29
+ },
30
+ "lineHeight": {
31
+ "anyOf": [
32
+ {
33
+ "type": "number",
34
+ "description": "The line height as a multiplier of the font size. Must be between 0 and 10.",
35
+ "minimum": 0,
36
+ "maximum": 10
37
+ },
38
+ {
39
+ "type": "null"
40
+ }
41
+ ]
42
+ },
43
+ "textTransform": {
44
+ "anyOf": [
45
+ {
46
+ "type": "string",
47
+ "description": "Text transformation to apply.",
48
+ "enum": [
49
+ "none",
50
+ "uppercase",
51
+ "lowercase",
52
+ "capitalize"
53
+ ]
54
+ },
55
+ {
56
+ "type": "null"
57
+ }
58
+ ]
59
+ },
60
+ "textDecoration": {
61
+ "anyOf": [
62
+ {
63
+ "type": "string",
64
+ "description": "Text decoration to apply.",
65
+ "enum": [
66
+ "none",
67
+ "underline",
68
+ "line-through"
69
+ ]
70
+ },
71
+ {
72
+ "type": "null"
73
+ }
74
+ ]
75
+ },
76
+ "gradient": {
77
+ "anyOf": [
78
+ {
79
+ "description": "Gradient fill for text instead of solid color.",
80
+ "$ref": "#/$defs/RichTextGradient"
81
+ },
82
+ {
83
+ "type": "null"
84
+ }
85
+ ]
86
+ }
87
+ },
88
+ "additionalProperties": false,
89
+ "type": "object",
90
+ "required": [
91
+ "letterSpacing",
92
+ "wordSpacing",
93
+ "lineHeight",
94
+ "textTransform",
95
+ "textDecoration",
96
+ "gradient"
97
+ ],
98
+ "$defs": {
99
+ "RichTextGradient": {
100
+ "description": "Gradient properties for text fill.",
101
+ "properties": {
102
+ "type": {
103
+ "anyOf": [
104
+ {
105
+ "type": "string",
106
+ "description": "The type of gradient.",
107
+ "enum": [
108
+ "linear",
109
+ "radial"
110
+ ]
111
+ },
112
+ {
113
+ "type": "null"
114
+ }
115
+ ]
116
+ },
117
+ "angle": {
118
+ "anyOf": [
119
+ {
120
+ "type": "number",
121
+ "description": "The angle of the gradient in degrees (for linear gradients). Must be between 0 and 360.",
122
+ "minimum": 0,
123
+ "maximum": 360
124
+ },
125
+ {
126
+ "type": "null"
127
+ }
128
+ ]
129
+ },
130
+ "stops": {
131
+ "description": "Gradient color stops. Must have at least 2 stops.",
132
+ "type": "array",
133
+ "items": {
134
+ "type": "object",
135
+ "properties": {
136
+ "offset": {
137
+ "description": "Position of the color stop between 0 (start) and 1 (end).",
138
+ "type": "number",
139
+ "minimum": 0,
140
+ "maximum": 1
141
+ },
142
+ "color": {
143
+ "description": "Color at this stop using hexadecimal color notation.",
144
+ "type": "string"
145
+ }
146
+ },
147
+ "required": [
148
+ "offset",
149
+ "color"
150
+ ],
151
+ "additionalProperties": false
152
+ }
153
+ }
154
+ },
155
+ "required": [
156
+ "type",
157
+ "angle",
158
+ "stops"
159
+ ],
160
+ "additionalProperties": false,
161
+ "type": "object"
162
+ }
163
+ }
164
+ }
165
+ }
@@ -0,0 +1,123 @@
1
+ {
2
+ "name": "RotateTransformation",
3
+ "strict": true,
4
+ "schema": {
5
+ "description": "Rotate a clip by the specified angle in degrees. Rotation origin is set based on the clips `position`.",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "angle": {
10
+ "description": "Rotate a clip by the specified angle in degrees. Use a number or an array of [Tween](./#tocs_tween) objects to create a custom animation.",
11
+ "anyOf": [
12
+ {
13
+ "type": "number",
14
+ "description": "The angle to rotate the clip. Can be 0 to 360, or 0 to -360. Using a positive number rotates the clip clockwise, negative numbers counter-clockwise.",
15
+ "minimum": -360,
16
+ "maximum": 360
17
+ },
18
+ {
19
+ "type": "array",
20
+ "description": "An array of [Tween](./#tocs_tween) objects used to create a custom animation. Animate the rotation of an asset over time.",
21
+ "items": {
22
+ "$ref": "#/$defs/Tween"
23
+ }
24
+ },
25
+ {
26
+ "type": "null"
27
+ }
28
+ ]
29
+ }
30
+ },
31
+ "required": [
32
+ "angle"
33
+ ],
34
+ "$defs": {
35
+ "Tween": {
36
+ "description": "Use a Tween to [animate properties over time](/docs/guide/architecting-an-application/animations/). The following properties are currently supported and can be animated:\n <ul>\n <li>Opacity - animate the transparency of a clip.</li>\n <li>Offset - animate the x and y position of a clip.</li>\n <li>Rotation - animate the rotation of a clip.</li>\n <li>Skew - animate the horizontal and vertical shearing effect.</li>\n <li>Volume - animate the audio volume of a clip.</li>\n </ul>",
37
+ "properties": {
38
+ "from": {
39
+ "anyOf": [
40
+ {
41
+ "type": "string",
42
+ "description": "The initial property value at the start of the animation."
43
+ },
44
+ {
45
+ "type": "null"
46
+ }
47
+ ]
48
+ },
49
+ "to": {
50
+ "anyOf": [
51
+ {
52
+ "type": "string",
53
+ "description": "The final property value at the end of the animation."
54
+ },
55
+ {
56
+ "type": "null"
57
+ }
58
+ ]
59
+ },
60
+ "start": {
61
+ "anyOf": [
62
+ {
63
+ "type": "number",
64
+ "description": "The time in seconds when the animation starts, relative to the clip, not the timeline."
65
+ },
66
+ {
67
+ "type": "null"
68
+ }
69
+ ]
70
+ },
71
+ "length": {
72
+ "anyOf": [
73
+ {
74
+ "type": "number",
75
+ "description": "The duration of the animation in seconds."
76
+ },
77
+ {
78
+ "type": "null"
79
+ }
80
+ ]
81
+ },
82
+ "interpolation": {
83
+ "anyOf": [
84
+ {
85
+ "type": "string",
86
+ "description": "The interpolation method to use for the animation. Available options are: <ul>\n <li>`linear` - a linear interpolation between the start and end values.</li>\n <li>`bezier` - a bezier curve interpolation between the start and end values.</li>\n <li>`constant` - an interpolation where the property instantly jumps from the start to the end value, without any gradual transition.</li>\n</ul>",
87
+ "enum": [
88
+ "linear",
89
+ "bezier",
90
+ "constant"
91
+ ]
92
+ },
93
+ {
94
+ "type": "null"
95
+ }
96
+ ]
97
+ },
98
+ "easing": {
99
+ "anyOf": [
100
+ {
101
+ "type": "string",
102
+ "description": "The easing function to use for the animation. Easing controls the rate of change of the animated value, allowing for more natural motion by speeding up or slowing down the animation at different points. Only applicable if interpolation is set to `bezier`."
103
+ },
104
+ {
105
+ "type": "null"
106
+ }
107
+ ]
108
+ }
109
+ },
110
+ "additionalProperties": false,
111
+ "type": "object",
112
+ "required": [
113
+ "from",
114
+ "to",
115
+ "start",
116
+ "length",
117
+ "interpolation",
118
+ "easing"
119
+ ]
120
+ }
121
+ }
122
+ }
123
+ }