@shotstack/schemas 1.1.2 → 1.3.1

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.
@@ -1062,10 +1062,24 @@
1062
1062
  "type": "string"
1063
1063
  },
1064
1064
  "scale": {
1065
- "description": "Scale the asset to a fraction of the viewport size - i.e. setting the scale to 0.5 will scale asset to half the size of the viewport. This is useful for picture-in-picture video and scaling images such as logos and watermarks.",
1065
+ "description": "Scale the asset to a fraction of the viewport size - i.e. setting the scale to 0.5 will scale asset to half the size of the viewport. This is useful for picture-in-picture video and scaling images such as logos and watermarks.",
1066
1066
  "type": "number",
1067
1067
  "example": 0
1068
1068
  },
1069
+ "width": {
1070
+ "description": "Set the width of the clip bounding box in pixels. This constrains the width of the clip, overriding the default behavior where clips fill the viewport width.",
1071
+ "type": "integer",
1072
+ "minimum": 1,
1073
+ "maximum": 3840,
1074
+ "example": 800
1075
+ },
1076
+ "height": {
1077
+ "description": "Set the height of the clip bounding box in pixels. This constrains the height of the clip, overriding the default behavior where clips fill the viewport height.",
1078
+ "type": "integer",
1079
+ "minimum": 1,
1080
+ "maximum": 2160,
1081
+ "example": 600
1082
+ },
1069
1083
  "position": {
1070
1084
  "description": "Place the asset in one of nine predefined positions of the viewport. This is most effective for when the asset is scaled and you want to position the element to a specific position. <ul>\n <li>`top` - top (center)</li>\n <li>`topRight` - top right</li>\n <li>`right` - right (center)</li>\n <li>`bottomRight` - bottom right</li>\n <li>`bottom` - bottom (center)</li>\n <li>`bottomLeft` - bottom left</li>\n <li>`left` - left (center)</li>\n <li>`topLeft` - top left</li>\n <li>`center` - center</li>\n</ul>",
1071
1085
  "enum": [
@@ -1147,6 +1161,12 @@
1147
1161
  "transform": {
1148
1162
  "description": "A transformation lets you modify the visual properties of a clip. Available transformations are <b>rotate</b>, <b>skew</b> and <b>flip</b>. Transformations can be combined to create interesting new shapes and effects.",
1149
1163
  "$ref": "#/components/schemas/Transformation"
1164
+ },
1165
+ "alias": {
1166
+ "description": "A unique identifier for this clip that can be used to reference it from other clips using the `alias://` protocol in asset sources. This is useful for features like auto-captioning where a caption asset needs to reference the audio from another clip.",
1167
+ "type": "string",
1168
+ "pattern": "^[A-Za-z0-9_-]+$",
1169
+ "example": "MY_VIDEO_CLIP"
1150
1170
  }
1151
1171
  },
1152
1172
  "required": [
@@ -1250,6 +1270,7 @@
1250
1270
  "volumeEffect": {
1251
1271
  "description": "Preset volume effects to apply to the video 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>",
1252
1272
  "enum": [
1273
+ "none",
1253
1274
  "fadeIn",
1254
1275
  "fadeOut",
1255
1276
  "fadeInFadeOut"
@@ -1334,6 +1355,54 @@
1334
1355
  "alignment": {
1335
1356
  "description": "Alignment properties.",
1336
1357
  "$ref": "#/components/schemas/TextAlignment"
1358
+ },
1359
+ "stroke": {
1360
+ "description": "Text stroke (outline) properties.",
1361
+ "properties": {
1362
+ "width": {
1363
+ "description": "The width of the stroke in pixels.",
1364
+ "type": "number",
1365
+ "minimum": 0,
1366
+ "maximum": 10,
1367
+ "example": 2
1368
+ },
1369
+ "color": {
1370
+ "description": "The stroke color using hexadecimal color notation.",
1371
+ "type": "string",
1372
+ "pattern": "^#[A-Fa-f0-9]{6}$",
1373
+ "example": "#000000"
1374
+ }
1375
+ },
1376
+ "type": "object"
1377
+ },
1378
+ "animation": {
1379
+ "description": "Animation properties for text entrance effects.",
1380
+ "properties": {
1381
+ "preset": {
1382
+ "description": "The animation preset to apply. <ul>\n <li>`typewriter` - typewriter effect where characters appear one at a time</li>\n</ul>",
1383
+ "type": "string",
1384
+ "enum": [
1385
+ "typewriter"
1386
+ ],
1387
+ "example": "typewriter"
1388
+ },
1389
+ "duration": {
1390
+ "description": "The duration of the animation in seconds.",
1391
+ "type": "number",
1392
+ "minimum": 0.1,
1393
+ "maximum": 30,
1394
+ "example": 2
1395
+ }
1396
+ },
1397
+ "required": [
1398
+ "preset"
1399
+ ],
1400
+ "type": "object"
1401
+ },
1402
+ "ellipsis": {
1403
+ "description": "The string to display when text overflows its bounding box. Set to an ellipsis character or custom string to indicate truncated text.",
1404
+ "type": "string",
1405
+ "example": "..."
1337
1406
  }
1338
1407
  },
1339
1408
  "required": [
@@ -1356,20 +1425,6 @@
1356
1425
  "example": "Hello World",
1357
1426
  "maxLength": 5000
1358
1427
  },
1359
- "width": {
1360
- "description": "Set the width of the rich text asset bounding box in pixels. Text will wrap to fill the bounding box. Minimum 1px, maximum 4096px.",
1361
- "type": "integer",
1362
- "minimum": 1,
1363
- "maximum": 4096,
1364
- "example": 800
1365
- },
1366
- "height": {
1367
- "description": "Set the height of the rich text asset bounding box in pixels. Text and elements will be masked if they exceed the height of the bounding box. Minimum 1px, maximum 4096px.",
1368
- "type": "integer",
1369
- "minimum": 1,
1370
- "maximum": 4096,
1371
- "example": 600
1372
- },
1373
1428
  "font": {
1374
1429
  "description": "Font styling properties.",
1375
1430
  "$ref": "#/components/schemas/RichTextFont"
@@ -1390,6 +1445,86 @@
1390
1445
  "description": "Background styling properties for the text bounding box.",
1391
1446
  "$ref": "#/components/schemas/RichTextBackground"
1392
1447
  },
1448
+ "border": {
1449
+ "description": "Border styling properties for the text bounding box.",
1450
+ "properties": {
1451
+ "width": {
1452
+ "description": "The width of the border in pixels. Must be 0 or greater.",
1453
+ "type": "number",
1454
+ "minimum": 0,
1455
+ "default": 0,
1456
+ "example": 2
1457
+ },
1458
+ "color": {
1459
+ "description": "The border color using hexadecimal color notation.",
1460
+ "type": "string",
1461
+ "pattern": "^#[A-Fa-f0-9]{6}$",
1462
+ "default": "#000000",
1463
+ "example": "#ff0000"
1464
+ },
1465
+ "opacity": {
1466
+ "description": "The opacity of the border where 1 is opaque and 0 is transparent.",
1467
+ "type": "number",
1468
+ "minimum": 0,
1469
+ "maximum": 1,
1470
+ "default": 1,
1471
+ "example": 0.8
1472
+ },
1473
+ "radius": {
1474
+ "description": "The border radius in pixels for rounded corners. Must be 0 or greater.",
1475
+ "type": "number",
1476
+ "minimum": 0,
1477
+ "default": 0,
1478
+ "example": 10
1479
+ }
1480
+ },
1481
+ "type": "object"
1482
+ },
1483
+ "padding": {
1484
+ "description": "Padding inside the text bounding box. Can be a single number (applied to all sides) or an object with individual sides.",
1485
+ "oneOf": [
1486
+ {
1487
+ "type": "number",
1488
+ "minimum": 0,
1489
+ "description": "Padding in pixels applied to all sides.",
1490
+ "example": 10
1491
+ },
1492
+ {
1493
+ "description": "Padding properties for individual sides of the text bounding box.",
1494
+ "properties": {
1495
+ "top": {
1496
+ "description": "Top padding in pixels.",
1497
+ "type": "number",
1498
+ "minimum": 0,
1499
+ "default": 0,
1500
+ "example": 10
1501
+ },
1502
+ "right": {
1503
+ "description": "Right padding in pixels.",
1504
+ "type": "number",
1505
+ "minimum": 0,
1506
+ "default": 0,
1507
+ "example": 10
1508
+ },
1509
+ "bottom": {
1510
+ "description": "Bottom padding in pixels.",
1511
+ "type": "number",
1512
+ "minimum": 0,
1513
+ "default": 0,
1514
+ "example": 10
1515
+ },
1516
+ "left": {
1517
+ "description": "Left padding in pixels.",
1518
+ "type": "number",
1519
+ "minimum": 0,
1520
+ "default": 0,
1521
+ "example": 10
1522
+ }
1523
+ },
1524
+ "type": "object"
1525
+ }
1526
+ ]
1527
+ },
1393
1528
  "align": {
1394
1529
  "description": "Text alignment properties (horizontal and vertical).",
1395
1530
  "$ref": "#/components/schemas/RichTextAlignment"
@@ -1453,6 +1588,7 @@
1453
1588
  "effect": {
1454
1589
  "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>",
1455
1590
  "enum": [
1591
+ "none",
1456
1592
  "fadeIn",
1457
1593
  "fadeOut",
1458
1594
  "fadeInFadeOut"
@@ -1883,6 +2019,7 @@
1883
2019
  "in": {
1884
2020
  "description": "The transition in. Available transitions are:\n <ul>\n <li>`fade` - fade in</li>\n <li>`reveal` - reveal from left to right</li>\n <li>`wipeLeft` - fade across screen to the left</li>\n <li>`wipeRight` - fade across screen to the right</li>\n <li>`slideLeft` - move slightly left and fade in</li>\n <li>`slideRight` - move slightly right and fade in</li>\n <li>`slideUp` - move slightly up and fade in</li>\n <li>`slideDown` - move slightly down and fade in</li>\n <li>`carouselLeft` - slide in from right to left</li>\n <li>`carouselRight` - slide in from left to right</li>\n <li>`carouselUp` - slide in from bottom to top</li>\n <li>`carouselDown` - slide in from top to bottom</li>\n <li>`shuffleTopRight` - rotate in from top right</li>\n <li>`shuffleRightTop` - rotate in from right top</li>\n <li>`shuffleRightBottom` - rotate in from right bottom</li>\n <li>`shuffleBottomRight` - rotate in from bottom right</li>\n <li>`shuffleBottomLeft` - rotate in from bottom left</li>\n <li>`shuffleLeftBottom` - rotate in from left bottom</li>\n <li>`shuffleLeftTop` - rotate in from left top</li>\n <li>`shuffleTopLeft` - rotate in from top left</li>\n <li>`zoom` - fast zoom in</li>\n </ul>\nThe transition speed can also be controlled by appending `Fast` or `Slow` to the transition, e.g. `fadeFast` or `CarouselLeftSlow`.",
1885
2021
  "enum": [
2022
+ "none",
1886
2023
  "fade",
1887
2024
  "fadeSlow",
1888
2025
  "fadeFast",
@@ -1950,6 +2087,7 @@
1950
2087
  "out": {
1951
2088
  "description": "The transition out. Available transitions are:\n <ul>\n <li>`fade` - fade out</li>\n <li>`reveal` - reveal from right to left</li>\n <li>`wipeLeft` - fade across screen to the left</li>\n <li>`wipeRight` - fade across screen to the right</li>\n <li>`slideLeft` - move slightly left and fade out</li>\n <li>`slideRight` - move slightly right and fade out</li>\n <li>`slideUp` - move slightly up and fade out</li>\n <li>`slideDown` - move slightly down and fade out</li>\n <li>`carouselLeft` - slide out from right to left</li>\n <li>`carouselRight` - slide out from left to right</li>\n <li>`carouselUp` - slide out from bottom to top</li>\n <li>`carouselDown` - slide out from top to bottom</li>\n <li>`shuffleTopRight` - rotate out from top right</li>\n <li>`shuffleRightTop` - rotate out from right top</li>\n <li>`shuffleRightBottom` - rotate out from right bottom</li>\n <li>`shuffleBottomRight` - rotate out from bottom right</li>\n <li>`shuffleBottomLeft` - rotate out from bottom left</li>\n <li>`shuffleLeftBottom` - rotate out from left bottom</li>\n <li>`shuffleLeftTop` - rotate out from left top</li>\n <li>`shuffleTopLeft` - rotate out from top left</li>\n <li>`zoom` - fast zoom out</li>\n </ul>\nThe transition speed can also be controlled by appending `Fast` or `Slow` to the transition, e.g. `fadeFast` or `CarouselLeftSlow`.",
1952
2089
  "enum": [
2090
+ "none",
1953
2091
  "fade",
1954
2092
  "fadeSlow",
1955
2093
  "fadeFast",
@@ -2141,7 +2279,7 @@
2141
2279
  }
2142
2280
  },
2143
2281
  "SkewTransformation": {
2144
- "description": "Skew a clip so its edges are sheared at an angle. Use values between 0 and 3. Over 3 the clip will be skewed almost flat.",
2282
+ "description": "Skew a clip so its edges are sheared at an angle. Use values between -100 and 100. Values over 3 or under -3 will skew the clip almost flat.",
2145
2283
  "type": "object",
2146
2284
  "properties": {
2147
2285
  "x": {
@@ -2149,8 +2287,10 @@
2149
2287
  "oneOf": [
2150
2288
  {
2151
2289
  "type": "number",
2152
- "description": "Range varies from 0 to 3. Positive numbers skew the asset right, negative left. The distance moved is relative to the width of the viewport - i.e. an X skew of 0.5 will skew the asset half the screen width to the right.",
2290
+ "description": "Range varies from -100 to 100. Positive numbers skew the asset right, negative left. The distance moved is relative to the width of the viewport - i.e. an X skew of 0.5 will skew the asset half the screen width to the right.",
2153
2291
  "format": "float",
2292
+ "minimum": -100,
2293
+ "maximum": 100,
2154
2294
  "example": 0.5
2155
2295
  },
2156
2296
  {
@@ -2167,8 +2307,10 @@
2167
2307
  "oneOf": [
2168
2308
  {
2169
2309
  "type": "number",
2170
- "description": "Range varies from 0 to 3. Positive numbers skew the asset up, negative down. The distance moved is relative to the height of the viewport - i.e. an Y skew of 0.5 will skew the asset half the screen height up.",
2310
+ "description": "Range varies from -100 to 100. Positive numbers skew the asset up, negative down. The distance moved is relative to the height of the viewport - i.e. an Y skew of 0.5 will skew the asset half the screen height up.",
2171
2311
  "format": "float",
2312
+ "minimum": -100,
2313
+ "maximum": 100,
2172
2314
  "example": 0.5
2173
2315
  },
2174
2316
  {
@@ -2240,7 +2382,28 @@
2240
2382
  "color": {
2241
2383
  "description": "The background color using hexadecimal color notation.",
2242
2384
  "type": "string",
2385
+ "pattern": "^#[A-Fa-f0-9]{6}$",
2243
2386
  "example": "#000000"
2387
+ },
2388
+ "opacity": {
2389
+ "description": "The opacity of the background where 1 is opaque and 0 is transparent.",
2390
+ "type": "number",
2391
+ "minimum": 0,
2392
+ "maximum": 1,
2393
+ "example": 0.8
2394
+ },
2395
+ "padding": {
2396
+ "description": "Padding inside the background box in pixels.",
2397
+ "type": "number",
2398
+ "minimum": 0,
2399
+ "maximum": 100,
2400
+ "example": 10
2401
+ },
2402
+ "borderRadius": {
2403
+ "description": "The border radius of the background box in pixels for rounded corners.",
2404
+ "type": "number",
2405
+ "minimum": 0,
2406
+ "example": 5
2244
2407
  }
2245
2408
  },
2246
2409
  "type": "object"
@@ -2275,7 +2438,7 @@
2275
2438
  "description": "Font properties for rich text.",
2276
2439
  "properties": {
2277
2440
  "family": {
2278
- "description": "The font family name. This must be the Family name embedded in the font, i.e. \"Open Sans\". For custom fonts, use the family name specified in the customFonts array.",
2441
+ "description": "The font family name. This must be the Family name embedded in the font, i.e. \"Open Sans\".",
2279
2442
  "type": "string",
2280
2443
  "example": "Open Sans",
2281
2444
  "default": "Open Sans"
@@ -2871,7 +3034,8 @@
2871
3034
  "mobile",
2872
3035
  "sd",
2873
3036
  "hd",
2874
- "1080"
3037
+ "1080",
3038
+ "4k"
2875
3039
  ],
2876
3040
  "type": "string"
2877
3041
  },
@@ -3021,6 +3185,57 @@
3021
3185
  },
3022
3186
  {
3023
3187
  "$ref": "#/components/schemas/VimeoDestination"
3188
+ },
3189
+ {
3190
+ "description": "Send videos to TikTok. TikTok credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/tiktok), not in the request.",
3191
+ "properties": {
3192
+ "provider": {
3193
+ "description": "The destination to send video to - set to `tiktok` for TikTok.",
3194
+ "type": "string",
3195
+ "default": "tiktok",
3196
+ "example": "tiktok"
3197
+ },
3198
+ "options": {
3199
+ "description": "Additional TikTok configuration options.",
3200
+ "properties": {
3201
+ "title": {
3202
+ "description": "A title for the video that will be displayed on TikTok.",
3203
+ "type": "string",
3204
+ "maxLength": 150
3205
+ },
3206
+ "privacyLevel": {
3207
+ "description": "The privacy level for the video. Options are: <ul>\n <li>`public` - video is visible to everyone</li>\n <li>`friends` - video is visible to friends only</li>\n <li>`private` - video is only visible to you</li>\n</ul>",
3208
+ "type": "string",
3209
+ "enum": [
3210
+ "public",
3211
+ "friends",
3212
+ "private"
3213
+ ],
3214
+ "default": "private"
3215
+ },
3216
+ "disableDuet": {
3217
+ "description": "Disable the Duet feature for this video.",
3218
+ "type": "boolean",
3219
+ "default": false
3220
+ },
3221
+ "disableStitch": {
3222
+ "description": "Disable the Stitch feature for this video.",
3223
+ "type": "boolean",
3224
+ "default": false
3225
+ },
3226
+ "disableComment": {
3227
+ "description": "Disable comments on this video.",
3228
+ "type": "boolean",
3229
+ "default": false
3230
+ }
3231
+ },
3232
+ "type": "object"
3233
+ }
3234
+ },
3235
+ "type": "object",
3236
+ "required": [
3237
+ "provider"
3238
+ ]
3024
3239
  }
3025
3240
  ],
3026
3241
  "additionalProperties": false
@@ -3251,6 +3466,11 @@
3251
3466
  "privacy": {
3252
3467
  "description": "Options to control the visibility of videos and privacy features.",
3253
3468
  "$ref": "#/components/schemas/VimeoDestinationPrivacyOptions"
3469
+ },
3470
+ "folderUri": {
3471
+ "description": "The Vimeo folder URI to upload the video to. The folder must already exist in your Vimeo account.",
3472
+ "type": "string",
3473
+ "example": "/users/12345678/projects/87654321"
3254
3474
  }
3255
3475
  }
3256
3476
  },