@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.
- package/README.md +89 -89
- package/dist/json-schema/asset.json +3123 -0
- package/dist/json-schema/audio-asset.json +180 -0
- package/dist/json-schema/caption-asset.json +285 -0
- package/dist/json-schema/caption-background.json +61 -0
- package/dist/json-schema/caption-font.json +97 -0
- package/dist/json-schema/caption-margin.json +49 -0
- package/dist/json-schema/chroma-key.json +46 -0
- package/dist/json-schema/clip.json +3575 -0
- package/dist/json-schema/crop.json +69 -0
- package/dist/json-schema/destinations.json +495 -0
- package/dist/json-schema/edit.json +4540 -0
- package/dist/json-schema/flip-transformation.json +37 -0
- package/dist/json-schema/font.json +18 -0
- package/dist/json-schema/google-cloud-storage-destination-options.json +42 -0
- package/dist/json-schema/google-cloud-storage-destination.json +73 -0
- package/dist/json-schema/google-drive-destination-options.json +30 -0
- package/dist/json-schema/google-drive-destination.json +54 -0
- package/dist/json-schema/image-asset.json +104 -0
- package/dist/json-schema/image-to-video-asset.json +151 -0
- package/dist/json-schema/index.cjs +1 -0
- package/dist/json-schema/index.d.ts +6 -0
- package/dist/json-schema/index.js +3 -0
- package/dist/json-schema/luma-asset.json +38 -0
- package/dist/json-schema/merge-field.json +23 -0
- package/dist/json-schema/offset.json +145 -0
- package/dist/json-schema/output.json +771 -0
- package/dist/json-schema/poster.json +18 -0
- package/dist/json-schema/range.json +39 -0
- package/dist/json-schema/rich-caption-active-font.json +54 -0
- package/dist/json-schema/rich-caption-active.json +154 -0
- package/dist/json-schema/rich-caption-asset.json +1098 -0
- package/dist/json-schema/rich-caption-word-animation.json +60 -0
- package/dist/json-schema/rich-text-alignment.json +47 -0
- package/dist/json-schema/rich-text-animation.json +74 -0
- package/dist/json-schema/rich-text-asset.json +737 -0
- package/dist/json-schema/rich-text-background.json +52 -0
- package/dist/json-schema/rich-text-font.json +157 -0
- package/dist/json-schema/rich-text-gradient.json +68 -0
- package/dist/json-schema/rich-text-shadow.json +79 -0
- package/dist/json-schema/rich-text-stroke.json +55 -0
- package/dist/json-schema/rich-text-style.json +165 -0
- package/dist/json-schema/rotate-transformation.json +123 -0
- package/dist/json-schema/s3destination-options.json +59 -0
- package/dist/json-schema/s3destination.json +90 -0
- package/dist/json-schema/schemas.json +4983 -0
- package/dist/json-schema/shape-asset.json +225 -0
- package/dist/json-schema/shotstack-destination.json +33 -0
- package/dist/json-schema/size.json +41 -0
- package/dist/json-schema/skew-transformation.json +145 -0
- package/dist/json-schema/soundtrack.json +47 -0
- package/dist/json-schema/svg-arrow-shape.json +49 -0
- package/dist/json-schema/svg-asset.json +877 -0
- package/dist/json-schema/svg-circle-shape.json +28 -0
- package/dist/json-schema/svg-cross-shape.json +42 -0
- package/dist/json-schema/svg-ellipse-shape.json +35 -0
- package/dist/json-schema/svg-fill.json +169 -0
- package/dist/json-schema/svg-gradient-stop.json +25 -0
- package/dist/json-schema/svg-heart-shape.json +28 -0
- package/dist/json-schema/svg-line-shape.json +35 -0
- package/dist/json-schema/svg-linear-gradient-fill.json +80 -0
- package/dist/json-schema/svg-path-shape.json +26 -0
- package/dist/json-schema/svg-polygon-shape.json +35 -0
- package/dist/json-schema/svg-radial-gradient-fill.json +66 -0
- package/dist/json-schema/svg-rectangle-shape.json +49 -0
- package/dist/json-schema/svg-ring-shape.json +35 -0
- package/dist/json-schema/svg-shadow.json +79 -0
- package/dist/json-schema/svg-shape.json +404 -0
- package/dist/json-schema/svg-solid-fill.json +40 -0
- package/dist/json-schema/svg-star-shape.json +42 -0
- package/dist/json-schema/svg-stroke.json +115 -0
- package/dist/json-schema/svg-transform.json +93 -0
- package/dist/json-schema/text-to-image-asset.json +128 -0
- package/dist/json-schema/text-to-speech-asset.json +209 -0
- package/dist/json-schema/thumbnail.json +25 -0
- package/dist/json-schema/timeline.json +3703 -0
- package/dist/json-schema/track.json +3590 -0
- package/dist/json-schema/transformation.json +251 -0
- package/dist/json-schema/transition.json +37 -0
- package/dist/json-schema/tween.json +90 -0
- package/dist/json-schema/video-asset.json +321 -0
- package/dist/json-schema/vimeo-destination-options.json +149 -0
- package/dist/json-schema/vimeo-destination-privacy-options.json +90 -0
- package/dist/json-schema/vimeo-destination.json +178 -0
- package/dist/json-schema/word-timing.json +44 -0
- package/dist/schema.d.ts +77 -77
- package/dist/zod/zod.gen.cjs +1080 -921
- package/dist/zod/zod.gen.d.ts +139 -139
- package/dist/zod/zod.gen.js +1081 -922
- package/dist/zod/zod.gen.ts +1583 -1648
- package/package.json +79 -73
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "SvgTransform",
|
|
3
|
+
"strict": true,
|
|
4
|
+
"schema": {
|
|
5
|
+
"description": "Transformation properties for positioning, rotating, and scaling SVG shapes.\n",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"properties": {
|
|
9
|
+
"x": {
|
|
10
|
+
"anyOf": [
|
|
11
|
+
{
|
|
12
|
+
"type": "number",
|
|
13
|
+
"description": "The x-coordinate position of the shape in pixels.\nRelative to the top-left corner of the viewport.\n"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"type": "null"
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"y": {
|
|
21
|
+
"anyOf": [
|
|
22
|
+
{
|
|
23
|
+
"type": "number",
|
|
24
|
+
"description": "The y-coordinate position of the shape in pixels.\nRelative to the top-left corner of the viewport.\n"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"type": "null"
|
|
28
|
+
}
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
"rotation": {
|
|
32
|
+
"anyOf": [
|
|
33
|
+
{
|
|
34
|
+
"type": "number",
|
|
35
|
+
"description": "Rotation angle in degrees. Positive values rotate clockwise,\nnegative values rotate counter-clockwise. Range: -360 to 360.\n",
|
|
36
|
+
"minimum": -360,
|
|
37
|
+
"maximum": 360
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"type": "null"
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"scale": {
|
|
45
|
+
"anyOf": [
|
|
46
|
+
{
|
|
47
|
+
"type": "number",
|
|
48
|
+
"description": "Scale factor for the shape. `1` is original size, `2` is double size,\n`0.5` is half size. Must be greater than 0.\n",
|
|
49
|
+
"minimum": 0.01,
|
|
50
|
+
"maximum": 100
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"type": "null"
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
"originX": {
|
|
58
|
+
"anyOf": [
|
|
59
|
+
{
|
|
60
|
+
"type": "number",
|
|
61
|
+
"description": "The x-coordinate of the transformation origin as a value from 0 to 1.\n`0` is the left edge, `0.5` is the center, `1` is the right edge.\n",
|
|
62
|
+
"minimum": 0,
|
|
63
|
+
"maximum": 1
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"type": "null"
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
"originY": {
|
|
71
|
+
"anyOf": [
|
|
72
|
+
{
|
|
73
|
+
"type": "number",
|
|
74
|
+
"description": "The y-coordinate of the transformation origin as a value from 0 to 1.\n`0` is the top edge, `0.5` is the center, `1` is the bottom edge.\n",
|
|
75
|
+
"minimum": 0,
|
|
76
|
+
"maximum": 1
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"type": "null"
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"required": [
|
|
85
|
+
"x",
|
|
86
|
+
"y",
|
|
87
|
+
"rotation",
|
|
88
|
+
"scale",
|
|
89
|
+
"originX",
|
|
90
|
+
"originY"
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "TextToImageAsset",
|
|
3
|
+
"strict": true,
|
|
4
|
+
"schema": {
|
|
5
|
+
"description": "The TextToImageAsset lets you create a dynamic image from a text prompt.",
|
|
6
|
+
"properties": {
|
|
7
|
+
"type": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "The type of asset to generate - set to `text-to-image` for text-to-image.",
|
|
10
|
+
"enum": [
|
|
11
|
+
"text-to-image"
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
"prompt": {
|
|
15
|
+
"type": "string",
|
|
16
|
+
"description": "The text prompt to generate an image from."
|
|
17
|
+
},
|
|
18
|
+
"width": {
|
|
19
|
+
"anyOf": [
|
|
20
|
+
{
|
|
21
|
+
"type": "integer",
|
|
22
|
+
"description": "The width of the image in pixels."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "null"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"height": {
|
|
30
|
+
"anyOf": [
|
|
31
|
+
{
|
|
32
|
+
"type": "integer",
|
|
33
|
+
"description": "The height of the image in pixels."
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"type": "null"
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"crop": {
|
|
41
|
+
"anyOf": [
|
|
42
|
+
{
|
|
43
|
+
"$ref": "#/$defs/Crop"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"type": "null"
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"additionalProperties": false,
|
|
52
|
+
"type": "object",
|
|
53
|
+
"required": [
|
|
54
|
+
"type",
|
|
55
|
+
"prompt",
|
|
56
|
+
"width",
|
|
57
|
+
"height",
|
|
58
|
+
"crop"
|
|
59
|
+
],
|
|
60
|
+
"$defs": {
|
|
61
|
+
"Crop": {
|
|
62
|
+
"description": "Crop the sides of an asset by a relative amount. The size of the crop is specified using a scale between 0 and 1, relative to the screen width - i.e a left crop of 0.5 will crop half of the asset from the left, a top crop of 0.25 will crop the top by quarter of the asset.",
|
|
63
|
+
"properties": {
|
|
64
|
+
"top": {
|
|
65
|
+
"anyOf": [
|
|
66
|
+
{
|
|
67
|
+
"type": "number",
|
|
68
|
+
"description": "Crop from the top of the asset",
|
|
69
|
+
"minimum": 0,
|
|
70
|
+
"maximum": 1
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"type": "null"
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
"bottom": {
|
|
78
|
+
"anyOf": [
|
|
79
|
+
{
|
|
80
|
+
"type": "number",
|
|
81
|
+
"description": "Crop from the bottom of the asset",
|
|
82
|
+
"minimum": 0,
|
|
83
|
+
"maximum": 1
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"type": "null"
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
"left": {
|
|
91
|
+
"anyOf": [
|
|
92
|
+
{
|
|
93
|
+
"type": "number",
|
|
94
|
+
"description": "Crop from the left of the asset",
|
|
95
|
+
"minimum": 0,
|
|
96
|
+
"maximum": 1
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"type": "null"
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
"right": {
|
|
104
|
+
"anyOf": [
|
|
105
|
+
{
|
|
106
|
+
"type": "number",
|
|
107
|
+
"description": "Crop from the left of the asset",
|
|
108
|
+
"minimum": 0,
|
|
109
|
+
"maximum": 1
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"type": "null"
|
|
113
|
+
}
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"additionalProperties": false,
|
|
118
|
+
"type": "object",
|
|
119
|
+
"required": [
|
|
120
|
+
"top",
|
|
121
|
+
"bottom",
|
|
122
|
+
"left",
|
|
123
|
+
"right"
|
|
124
|
+
]
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "TextToSpeechAsset",
|
|
3
|
+
"strict": true,
|
|
4
|
+
"schema": {
|
|
5
|
+
"description": "The TextToSpeechAsset lets you generate a voice over from text using a text-to-speech service. The generated audio can be trimmed, faded and have its volume and speed adjusted using the same properties available on the AudioAsset.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"type": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "The type of asset - set to `text-to-speech` for text-to-speech.",
|
|
11
|
+
"enum": [
|
|
12
|
+
"text-to-speech"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"text": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"description": "The text to convert to speech."
|
|
18
|
+
},
|
|
19
|
+
"voice": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"description": "The voice to use for the text-to-speech conversion."
|
|
22
|
+
},
|
|
23
|
+
"language": {
|
|
24
|
+
"anyOf": [
|
|
25
|
+
{
|
|
26
|
+
"type": "string",
|
|
27
|
+
"description": "The language code for the text-to-speech conversion."
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"type": "null"
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
"newscaster": {
|
|
35
|
+
"anyOf": [
|
|
36
|
+
{
|
|
37
|
+
"type": "boolean",
|
|
38
|
+
"description": "Set the voice to newscaster mode."
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"type": "null"
|
|
42
|
+
}
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
"trim": {
|
|
46
|
+
"anyOf": [
|
|
47
|
+
{
|
|
48
|
+
"type": "number",
|
|
49
|
+
"description": "The start trim point of the audio clip, in seconds (defaults to 0). Audio will start from the trim point. The audio will play until the file ends or the Clip length is reached."
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"type": "null"
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
},
|
|
56
|
+
"volume": {
|
|
57
|
+
"description": "Set the volume of the audio clip. Use a number or an array of [Tween](./#tocs_tween) objects to create custom volume transitions.",
|
|
58
|
+
"anyOf": [
|
|
59
|
+
{
|
|
60
|
+
"type": "number",
|
|
61
|
+
"description": "The volume level for the audio clip. Range varies from 0 to 1 where 0 is muted and 1 is full volume (defaults to 1).",
|
|
62
|
+
"minimum": 0,
|
|
63
|
+
"maximum": 1
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"type": "array",
|
|
67
|
+
"description": "An array of [Tween](./#tocs_tween) objects used to create a custom volume effect. Modify the volume of an asset over time.",
|
|
68
|
+
"items": {
|
|
69
|
+
"$ref": "#/$defs/Tween"
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"type": "null"
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
"speed": {
|
|
78
|
+
"anyOf": [
|
|
79
|
+
{
|
|
80
|
+
"type": "number",
|
|
81
|
+
"description": "Adjust the playback speed of the audio clip between 0 (paused) and 10 (10x normal speed), where 1 is normal speed (defaults to 1). Adjusting the speed will also adjust the duration of the clip and may require you to adjust the Clip length.",
|
|
82
|
+
"minimum": 0,
|
|
83
|
+
"maximum": 10
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"type": "null"
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
"effect": {
|
|
91
|
+
"anyOf": [
|
|
92
|
+
{
|
|
93
|
+
"type": "string",
|
|
94
|
+
"description": "The effect to apply to the audio asset <ul>\n <li>`fadeIn` - fade volume in only</li>\n <li>`fadeOut` - fade volume out only</li>\n <li>`fadeInFadeOut` - fade volume in and out</li>\n</ul>",
|
|
95
|
+
"enum": [
|
|
96
|
+
"none",
|
|
97
|
+
"fadeIn",
|
|
98
|
+
"fadeOut",
|
|
99
|
+
"fadeInFadeOut"
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"type": "null"
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"additionalProperties": false,
|
|
109
|
+
"required": [
|
|
110
|
+
"type",
|
|
111
|
+
"text",
|
|
112
|
+
"voice",
|
|
113
|
+
"language",
|
|
114
|
+
"newscaster",
|
|
115
|
+
"trim",
|
|
116
|
+
"volume",
|
|
117
|
+
"speed",
|
|
118
|
+
"effect"
|
|
119
|
+
],
|
|
120
|
+
"$defs": {
|
|
121
|
+
"Tween": {
|
|
122
|
+
"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>",
|
|
123
|
+
"properties": {
|
|
124
|
+
"from": {
|
|
125
|
+
"anyOf": [
|
|
126
|
+
{
|
|
127
|
+
"type": "string",
|
|
128
|
+
"description": "The initial property value at the start of the animation."
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"type": "null"
|
|
132
|
+
}
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
"to": {
|
|
136
|
+
"anyOf": [
|
|
137
|
+
{
|
|
138
|
+
"type": "string",
|
|
139
|
+
"description": "The final property value at the end of the animation."
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"type": "null"
|
|
143
|
+
}
|
|
144
|
+
]
|
|
145
|
+
},
|
|
146
|
+
"start": {
|
|
147
|
+
"anyOf": [
|
|
148
|
+
{
|
|
149
|
+
"type": "number",
|
|
150
|
+
"description": "The time in seconds when the animation starts, relative to the clip, not the timeline."
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"type": "null"
|
|
154
|
+
}
|
|
155
|
+
]
|
|
156
|
+
},
|
|
157
|
+
"length": {
|
|
158
|
+
"anyOf": [
|
|
159
|
+
{
|
|
160
|
+
"type": "number",
|
|
161
|
+
"description": "The duration of the animation in seconds."
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"type": "null"
|
|
165
|
+
}
|
|
166
|
+
]
|
|
167
|
+
},
|
|
168
|
+
"interpolation": {
|
|
169
|
+
"anyOf": [
|
|
170
|
+
{
|
|
171
|
+
"type": "string",
|
|
172
|
+
"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>",
|
|
173
|
+
"enum": [
|
|
174
|
+
"linear",
|
|
175
|
+
"bezier",
|
|
176
|
+
"constant"
|
|
177
|
+
]
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"type": "null"
|
|
181
|
+
}
|
|
182
|
+
]
|
|
183
|
+
},
|
|
184
|
+
"easing": {
|
|
185
|
+
"anyOf": [
|
|
186
|
+
{
|
|
187
|
+
"type": "string",
|
|
188
|
+
"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`."
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"type": "null"
|
|
192
|
+
}
|
|
193
|
+
]
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"additionalProperties": false,
|
|
197
|
+
"type": "object",
|
|
198
|
+
"required": [
|
|
199
|
+
"from",
|
|
200
|
+
"to",
|
|
201
|
+
"start",
|
|
202
|
+
"length",
|
|
203
|
+
"interpolation",
|
|
204
|
+
"easing"
|
|
205
|
+
]
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Thumbnail",
|
|
3
|
+
"strict": true,
|
|
4
|
+
"schema": {
|
|
5
|
+
"description": "Generate a thumbnail image for the video or image at a specific point from the timeline.",
|
|
6
|
+
"properties": {
|
|
7
|
+
"capture": {
|
|
8
|
+
"description": "The point on the timeline in seconds to capture a single frame to use as the thumbnail image.",
|
|
9
|
+
"type": "number"
|
|
10
|
+
},
|
|
11
|
+
"scale": {
|
|
12
|
+
"description": "Scale the thumbnail size to a fraction of the viewport size - i.e. setting the scale to 0.5 will scale the thumbnail to half the size of the viewport.",
|
|
13
|
+
"type": "number",
|
|
14
|
+
"minimum": 0,
|
|
15
|
+
"maximum": 1
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"additionalProperties": false,
|
|
19
|
+
"required": [
|
|
20
|
+
"capture",
|
|
21
|
+
"scale"
|
|
22
|
+
],
|
|
23
|
+
"type": "object"
|
|
24
|
+
}
|
|
25
|
+
}
|