@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,180 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "AudioAsset",
|
|
3
|
+
"strict": true,
|
|
4
|
+
"schema": {
|
|
5
|
+
"description": "The AudioAsset is used to add sound effects and audio at specific intervals on the timeline. The src must be a publicly accessible URL to an audio resource such as an mp3 file.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"type": {
|
|
9
|
+
"enum": [
|
|
10
|
+
"audio"
|
|
11
|
+
],
|
|
12
|
+
"description": "The type of asset - set to `audio` for audio assets.",
|
|
13
|
+
"type": "string"
|
|
14
|
+
},
|
|
15
|
+
"src": {
|
|
16
|
+
"description": "The audio source URL. The URL must be publicly accessible or include credentials.",
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"trim": {
|
|
20
|
+
"anyOf": [
|
|
21
|
+
{
|
|
22
|
+
"type": "number",
|
|
23
|
+
"description": "The start trim point of the audio clip, in seconds (defaults to 0). Audio will start from the in trim point. The audio will play until the file ends or the Clip length is reached."
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"type": "null"
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"volume": {
|
|
31
|
+
"description": "Set the volume of the audio clip. Use a number or an array of [Tween](./#tocs_tween) objects to create custom volume transitions.",
|
|
32
|
+
"anyOf": [
|
|
33
|
+
{
|
|
34
|
+
"type": "number",
|
|
35
|
+
"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).",
|
|
36
|
+
"minimum": 0,
|
|
37
|
+
"maximum": 1
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"type": "array",
|
|
41
|
+
"description": "An array of [Tween](./#tocs_tween) objects used to create a custom volume effect. Modify the volume of an asset over time.",
|
|
42
|
+
"items": {
|
|
43
|
+
"$ref": "#/$defs/Tween"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"type": "null"
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
"speed": {
|
|
52
|
+
"anyOf": [
|
|
53
|
+
{
|
|
54
|
+
"type": "number",
|
|
55
|
+
"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. For example, if you set speed to 0.5, the clip will need to be 2x as long to play the entire audio (i.e. original length / 0.5). If you set speed to 2, the clip will need to be half as long to play the entire audio (i.e. original length / 2).",
|
|
56
|
+
"minimum": 0,
|
|
57
|
+
"maximum": 10
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"type": "null"
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
"effect": {
|
|
65
|
+
"anyOf": [
|
|
66
|
+
{
|
|
67
|
+
"type": "string",
|
|
68
|
+
"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>",
|
|
69
|
+
"enum": [
|
|
70
|
+
"none",
|
|
71
|
+
"fadeIn",
|
|
72
|
+
"fadeOut",
|
|
73
|
+
"fadeInFadeOut"
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"type": "null"
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"additionalProperties": false,
|
|
83
|
+
"required": [
|
|
84
|
+
"type",
|
|
85
|
+
"src",
|
|
86
|
+
"trim",
|
|
87
|
+
"volume",
|
|
88
|
+
"speed",
|
|
89
|
+
"effect"
|
|
90
|
+
],
|
|
91
|
+
"$defs": {
|
|
92
|
+
"Tween": {
|
|
93
|
+
"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>",
|
|
94
|
+
"properties": {
|
|
95
|
+
"from": {
|
|
96
|
+
"anyOf": [
|
|
97
|
+
{
|
|
98
|
+
"type": "string",
|
|
99
|
+
"description": "The initial property value at the start of the animation."
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"type": "null"
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
"to": {
|
|
107
|
+
"anyOf": [
|
|
108
|
+
{
|
|
109
|
+
"type": "string",
|
|
110
|
+
"description": "The final property value at the end of the animation."
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"type": "null"
|
|
114
|
+
}
|
|
115
|
+
]
|
|
116
|
+
},
|
|
117
|
+
"start": {
|
|
118
|
+
"anyOf": [
|
|
119
|
+
{
|
|
120
|
+
"type": "number",
|
|
121
|
+
"description": "The time in seconds when the animation starts, relative to the clip, not the timeline."
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"type": "null"
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
"length": {
|
|
129
|
+
"anyOf": [
|
|
130
|
+
{
|
|
131
|
+
"type": "number",
|
|
132
|
+
"description": "The duration of the animation in seconds."
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"type": "null"
|
|
136
|
+
}
|
|
137
|
+
]
|
|
138
|
+
},
|
|
139
|
+
"interpolation": {
|
|
140
|
+
"anyOf": [
|
|
141
|
+
{
|
|
142
|
+
"type": "string",
|
|
143
|
+
"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>",
|
|
144
|
+
"enum": [
|
|
145
|
+
"linear",
|
|
146
|
+
"bezier",
|
|
147
|
+
"constant"
|
|
148
|
+
]
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"type": "null"
|
|
152
|
+
}
|
|
153
|
+
]
|
|
154
|
+
},
|
|
155
|
+
"easing": {
|
|
156
|
+
"anyOf": [
|
|
157
|
+
{
|
|
158
|
+
"type": "string",
|
|
159
|
+
"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`."
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"type": "null"
|
|
163
|
+
}
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"additionalProperties": false,
|
|
168
|
+
"type": "object",
|
|
169
|
+
"required": [
|
|
170
|
+
"from",
|
|
171
|
+
"to",
|
|
172
|
+
"start",
|
|
173
|
+
"length",
|
|
174
|
+
"interpolation",
|
|
175
|
+
"easing"
|
|
176
|
+
]
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "CaptionAsset",
|
|
3
|
+
"strict": true,
|
|
4
|
+
"schema": {
|
|
5
|
+
"description": "The CaptionAsset is used to add captions (subtitles) to a video. It uses a supplied SRT or VTT file which will\nbe read and burnt to the video.\n\nCaptions can be applied independently from a video or audio file for greater\nflexibility with styling and layout. For example you can scale, position or crop a video without modifying the\ncaptions.\n\nTo sync captions with a video or audio file use a [Video](#tocs_videoasset\") or [Audio](#tocs_audioasset\") with\nmatching start and end time.\n",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"type": {
|
|
9
|
+
"enum": [
|
|
10
|
+
"caption"
|
|
11
|
+
],
|
|
12
|
+
"description": "The type of asset - set to `caption` for captions.",
|
|
13
|
+
"type": "string"
|
|
14
|
+
},
|
|
15
|
+
"src": {
|
|
16
|
+
"description": "The URL to an SRT or VTT subtitles file, or an alias reference to auto-generate captions from an audio or video clip. For file URLs, the URL must be publicly accessible or include credentials. For auto-captioning, use the format `alias://clip-name` where clip-name is the alias of an audio, video, or text-to-speech clip. The system will automatically transcribe the audio and detect the language.",
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"font": {
|
|
20
|
+
"anyOf": [
|
|
21
|
+
{
|
|
22
|
+
"description": "Font styling properties.",
|
|
23
|
+
"$ref": "#/$defs/CaptionFont"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"type": "null"
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"background": {
|
|
31
|
+
"anyOf": [
|
|
32
|
+
{
|
|
33
|
+
"description": "Background styling properties.",
|
|
34
|
+
"$ref": "#/$defs/CaptionBackground"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"type": "null"
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
"margin": {
|
|
42
|
+
"anyOf": [
|
|
43
|
+
{
|
|
44
|
+
"description": "Margin properties.",
|
|
45
|
+
"$ref": "#/$defs/CaptionMargin"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"type": "null"
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
"trim": {
|
|
53
|
+
"anyOf": [
|
|
54
|
+
{
|
|
55
|
+
"type": "number",
|
|
56
|
+
"description": "The start trim point of the captions, in seconds (defaults to 0). Remove the trim length from the start of the captions and allow it to be synced with video or audio. The captions will play until the file ends or the Clip length is reached."
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"type": "null"
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
"speed": {
|
|
64
|
+
"anyOf": [
|
|
65
|
+
{
|
|
66
|
+
"type": "number",
|
|
67
|
+
"description": "Adjust the playback speed of the captions 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. For example, if you set speed to 0.5, the clip will need to be 2x as long to play the entire captions (i.e. original length / 0.5). If you set speed to 2, the clip will need to be half as long to play the entire captions (i.e. original length / 2).",
|
|
68
|
+
"minimum": 0,
|
|
69
|
+
"maximum": 10
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"type": "null"
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"additionalProperties": false,
|
|
78
|
+
"required": [
|
|
79
|
+
"type",
|
|
80
|
+
"src",
|
|
81
|
+
"font",
|
|
82
|
+
"background",
|
|
83
|
+
"margin",
|
|
84
|
+
"trim",
|
|
85
|
+
"speed"
|
|
86
|
+
],
|
|
87
|
+
"$defs": {
|
|
88
|
+
"CaptionFont": {
|
|
89
|
+
"description": "Font properties for captions text.",
|
|
90
|
+
"properties": {
|
|
91
|
+
"family": {
|
|
92
|
+
"anyOf": [
|
|
93
|
+
{
|
|
94
|
+
"type": "string",
|
|
95
|
+
"description": "The font family name. This must be Family name embedded in the font, i.e. \"Open Sans\"."
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"type": "null"
|
|
99
|
+
}
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
"color": {
|
|
103
|
+
"anyOf": [
|
|
104
|
+
{
|
|
105
|
+
"type": "string",
|
|
106
|
+
"description": "The text color using hexadecimal color notation."
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"type": "null"
|
|
110
|
+
}
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
"opacity": {
|
|
114
|
+
"anyOf": [
|
|
115
|
+
{
|
|
116
|
+
"type": "number",
|
|
117
|
+
"description": "The opacity of the text where 1 is opaque and 0 is transparent."
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"type": "null"
|
|
121
|
+
}
|
|
122
|
+
]
|
|
123
|
+
},
|
|
124
|
+
"size": {
|
|
125
|
+
"anyOf": [
|
|
126
|
+
{
|
|
127
|
+
"type": "integer",
|
|
128
|
+
"description": "The size of the font in pixels (px)."
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"type": "null"
|
|
132
|
+
}
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
"lineHeight": {
|
|
136
|
+
"anyOf": [
|
|
137
|
+
{
|
|
138
|
+
"type": "number",
|
|
139
|
+
"description": "The line height of the font as a ratio of the font size."
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"type": "null"
|
|
143
|
+
}
|
|
144
|
+
]
|
|
145
|
+
},
|
|
146
|
+
"stroke": {
|
|
147
|
+
"anyOf": [
|
|
148
|
+
{
|
|
149
|
+
"type": "string",
|
|
150
|
+
"description": "The stroke color of the font using hexadecimal color notation."
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"type": "null"
|
|
154
|
+
}
|
|
155
|
+
]
|
|
156
|
+
},
|
|
157
|
+
"strokeWidth": {
|
|
158
|
+
"anyOf": [
|
|
159
|
+
{
|
|
160
|
+
"type": "number",
|
|
161
|
+
"description": "The width of the stroke in pixels."
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"type": "null"
|
|
165
|
+
}
|
|
166
|
+
]
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
"additionalProperties": false,
|
|
170
|
+
"type": "object",
|
|
171
|
+
"required": [
|
|
172
|
+
"family",
|
|
173
|
+
"color",
|
|
174
|
+
"opacity",
|
|
175
|
+
"size",
|
|
176
|
+
"lineHeight",
|
|
177
|
+
"stroke",
|
|
178
|
+
"strokeWidth"
|
|
179
|
+
]
|
|
180
|
+
},
|
|
181
|
+
"CaptionBackground": {
|
|
182
|
+
"description": "Displays a background box behind the caption text.",
|
|
183
|
+
"properties": {
|
|
184
|
+
"color": {
|
|
185
|
+
"anyOf": [
|
|
186
|
+
{
|
|
187
|
+
"type": "string",
|
|
188
|
+
"description": "The background color using hexadecimal color notation."
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"type": "null"
|
|
192
|
+
}
|
|
193
|
+
]
|
|
194
|
+
},
|
|
195
|
+
"opacity": {
|
|
196
|
+
"anyOf": [
|
|
197
|
+
{
|
|
198
|
+
"type": "number",
|
|
199
|
+
"description": "The opacity of the background color."
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"type": "null"
|
|
203
|
+
}
|
|
204
|
+
]
|
|
205
|
+
},
|
|
206
|
+
"padding": {
|
|
207
|
+
"anyOf": [
|
|
208
|
+
{
|
|
209
|
+
"type": "integer",
|
|
210
|
+
"description": "The padding inside the background box in pixels."
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"type": "null"
|
|
214
|
+
}
|
|
215
|
+
]
|
|
216
|
+
},
|
|
217
|
+
"borderRadius": {
|
|
218
|
+
"anyOf": [
|
|
219
|
+
{
|
|
220
|
+
"type": "integer",
|
|
221
|
+
"description": "The border radius of the background box in pixels."
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"type": "null"
|
|
225
|
+
}
|
|
226
|
+
]
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
"additionalProperties": false,
|
|
230
|
+
"type": "object",
|
|
231
|
+
"required": [
|
|
232
|
+
"color",
|
|
233
|
+
"opacity",
|
|
234
|
+
"padding",
|
|
235
|
+
"borderRadius"
|
|
236
|
+
]
|
|
237
|
+
},
|
|
238
|
+
"CaptionMargin": {
|
|
239
|
+
"description": "The margin properties for captions. Margins are used to position the caption text and background on the screen.",
|
|
240
|
+
"properties": {
|
|
241
|
+
"top": {
|
|
242
|
+
"anyOf": [
|
|
243
|
+
{
|
|
244
|
+
"type": "number",
|
|
245
|
+
"description": "The margin above the text. Pushes captions down the screen."
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"type": "null"
|
|
249
|
+
}
|
|
250
|
+
]
|
|
251
|
+
},
|
|
252
|
+
"left": {
|
|
253
|
+
"anyOf": [
|
|
254
|
+
{
|
|
255
|
+
"type": "number",
|
|
256
|
+
"description": "The margin to the left of the text. Pushes captions to the right."
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"type": "null"
|
|
260
|
+
}
|
|
261
|
+
]
|
|
262
|
+
},
|
|
263
|
+
"right": {
|
|
264
|
+
"anyOf": [
|
|
265
|
+
{
|
|
266
|
+
"type": "number",
|
|
267
|
+
"description": "The margin to the right of the text. Pushes captions to the left."
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"type": "null"
|
|
271
|
+
}
|
|
272
|
+
]
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
|
+
"additionalProperties": false,
|
|
276
|
+
"type": "object",
|
|
277
|
+
"required": [
|
|
278
|
+
"top",
|
|
279
|
+
"left",
|
|
280
|
+
"right"
|
|
281
|
+
]
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "CaptionBackground",
|
|
3
|
+
"strict": true,
|
|
4
|
+
"schema": {
|
|
5
|
+
"description": "Displays a background box behind the caption text.",
|
|
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 color."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "null"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"padding": {
|
|
30
|
+
"anyOf": [
|
|
31
|
+
{
|
|
32
|
+
"type": "integer",
|
|
33
|
+
"description": "The padding inside the background box in pixels."
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"type": "null"
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"borderRadius": {
|
|
41
|
+
"anyOf": [
|
|
42
|
+
{
|
|
43
|
+
"type": "integer",
|
|
44
|
+
"description": "The border radius of the background box in pixels."
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"type": "null"
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"additionalProperties": false,
|
|
53
|
+
"type": "object",
|
|
54
|
+
"required": [
|
|
55
|
+
"color",
|
|
56
|
+
"opacity",
|
|
57
|
+
"padding",
|
|
58
|
+
"borderRadius"
|
|
59
|
+
]
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "CaptionFont",
|
|
3
|
+
"strict": true,
|
|
4
|
+
"schema": {
|
|
5
|
+
"description": "Font properties for captions text.",
|
|
6
|
+
"properties": {
|
|
7
|
+
"family": {
|
|
8
|
+
"anyOf": [
|
|
9
|
+
{
|
|
10
|
+
"type": "string",
|
|
11
|
+
"description": "The font family name. This must be Family name embedded in the font, i.e. \"Open Sans\"."
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"type": "null"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
"color": {
|
|
19
|
+
"anyOf": [
|
|
20
|
+
{
|
|
21
|
+
"type": "string",
|
|
22
|
+
"description": "The text color using hexadecimal color notation."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "null"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"opacity": {
|
|
30
|
+
"anyOf": [
|
|
31
|
+
{
|
|
32
|
+
"type": "number",
|
|
33
|
+
"description": "The opacity of the text where 1 is opaque and 0 is transparent."
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"type": "null"
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"size": {
|
|
41
|
+
"anyOf": [
|
|
42
|
+
{
|
|
43
|
+
"type": "integer",
|
|
44
|
+
"description": "The size of the font in pixels (px)."
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"type": "null"
|
|
48
|
+
}
|
|
49
|
+
]
|
|
50
|
+
},
|
|
51
|
+
"lineHeight": {
|
|
52
|
+
"anyOf": [
|
|
53
|
+
{
|
|
54
|
+
"type": "number",
|
|
55
|
+
"description": "The line height of the font as a ratio of the font size."
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"type": "null"
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
"stroke": {
|
|
63
|
+
"anyOf": [
|
|
64
|
+
{
|
|
65
|
+
"type": "string",
|
|
66
|
+
"description": "The stroke color of the font using hexadecimal color notation."
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"type": "null"
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
"strokeWidth": {
|
|
74
|
+
"anyOf": [
|
|
75
|
+
{
|
|
76
|
+
"type": "number",
|
|
77
|
+
"description": "The width of the stroke in pixels."
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"type": "null"
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"additionalProperties": false,
|
|
86
|
+
"type": "object",
|
|
87
|
+
"required": [
|
|
88
|
+
"family",
|
|
89
|
+
"color",
|
|
90
|
+
"opacity",
|
|
91
|
+
"size",
|
|
92
|
+
"lineHeight",
|
|
93
|
+
"stroke",
|
|
94
|
+
"strokeWidth"
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "CaptionMargin",
|
|
3
|
+
"strict": true,
|
|
4
|
+
"schema": {
|
|
5
|
+
"description": "The margin properties for captions. Margins are used to position the caption text and background on the screen.",
|
|
6
|
+
"properties": {
|
|
7
|
+
"top": {
|
|
8
|
+
"anyOf": [
|
|
9
|
+
{
|
|
10
|
+
"type": "number",
|
|
11
|
+
"description": "The margin above the text. Pushes captions down the screen."
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"type": "null"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
"left": {
|
|
19
|
+
"anyOf": [
|
|
20
|
+
{
|
|
21
|
+
"type": "number",
|
|
22
|
+
"description": "The margin to the left of the text. Pushes captions to the right."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"type": "null"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
"right": {
|
|
30
|
+
"anyOf": [
|
|
31
|
+
{
|
|
32
|
+
"type": "number",
|
|
33
|
+
"description": "The margin to the right of the text. Pushes captions to the left."
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"type": "null"
|
|
37
|
+
}
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"additionalProperties": false,
|
|
42
|
+
"type": "object",
|
|
43
|
+
"required": [
|
|
44
|
+
"top",
|
|
45
|
+
"left",
|
|
46
|
+
"right"
|
|
47
|
+
]
|
|
48
|
+
}
|
|
49
|
+
}
|