@shotstack/schemas 1.9.6 → 1.9.8
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/dist/api.bundled.json +1492 -3430
- package/dist/json-schema/asset.json +1 -853
- package/dist/json-schema/clip.json +1 -853
- package/dist/json-schema/destinations.json +28 -12
- package/dist/json-schema/edit.json +31 -867
- package/dist/json-schema/output.json +28 -12
- package/dist/json-schema/schemas.json +38 -967
- package/dist/json-schema/svg-asset.json +6 -857
- package/dist/json-schema/timeline.json +2 -854
- package/dist/json-schema/track.json +2 -854
- package/dist/schema.d.ts +914 -2451
- package/dist/zod/zod.gen.cjs +97 -1285
- package/dist/zod/zod.gen.d.ts +613 -12248
- package/dist/zod/zod.gen.js +91 -1277
- package/dist/zod/zod.gen.ts +27 -992
- package/package.json +1 -1
- package/dist/json-schema/svg-arrow-shape.json +0 -49
- package/dist/json-schema/svg-circle-shape.json +0 -28
- package/dist/json-schema/svg-cross-shape.json +0 -42
- package/dist/json-schema/svg-ellipse-shape.json +0 -35
- package/dist/json-schema/svg-fill.json +0 -169
- package/dist/json-schema/svg-gradient-stop.json +0 -25
- package/dist/json-schema/svg-heart-shape.json +0 -28
- package/dist/json-schema/svg-line-shape.json +0 -35
- package/dist/json-schema/svg-linear-gradient-fill.json +0 -80
- package/dist/json-schema/svg-path-shape.json +0 -26
- package/dist/json-schema/svg-polygon-shape.json +0 -35
- package/dist/json-schema/svg-radial-gradient-fill.json +0 -66
- package/dist/json-schema/svg-rectangle-shape.json +0 -49
- package/dist/json-schema/svg-ring-shape.json +0 -35
- package/dist/json-schema/svg-shadow.json +0 -79
- package/dist/json-schema/svg-shape.json +0 -404
- package/dist/json-schema/svg-solid-fill.json +0 -40
- package/dist/json-schema/svg-star-shape.json +0 -42
- package/dist/json-schema/svg-stroke.json +0 -115
- package/dist/json-schema/svg-transform.json +0 -93
package/dist/schema.d.ts
CHANGED
|
@@ -371,55 +371,6 @@ export interface paths {
|
|
|
371
371
|
patch?: never;
|
|
372
372
|
trace?: never;
|
|
373
373
|
};
|
|
374
|
-
"/path_alias_createassets": {
|
|
375
|
-
parameters: {
|
|
376
|
-
query?: never;
|
|
377
|
-
header?: never;
|
|
378
|
-
path?: never;
|
|
379
|
-
cookie?: never;
|
|
380
|
-
};
|
|
381
|
-
get?: never;
|
|
382
|
-
put?: never;
|
|
383
|
-
/**
|
|
384
|
-
* Generate Asset
|
|
385
|
-
* @description Generate an asset using a Shotstack or third party provider. Chose the provider, type of asset and provide prompts,
|
|
386
|
-
* inputs and options to generate the asset. Once generated the asset can be used with the [Edit](#tocs_edit) API or
|
|
387
|
-
* downloaded.
|
|
388
|
-
*
|
|
389
|
-
* **Base URL:** <a href="#">https://api.shotstack.io/create/{version}</a>
|
|
390
|
-
*/
|
|
391
|
-
post: operations["postGenerateAsset"];
|
|
392
|
-
delete?: never;
|
|
393
|
-
options?: never;
|
|
394
|
-
head?: never;
|
|
395
|
-
patch?: never;
|
|
396
|
-
trace?: never;
|
|
397
|
-
};
|
|
398
|
-
"/path_alias_createassets/{id}": {
|
|
399
|
-
parameters: {
|
|
400
|
-
query?: never;
|
|
401
|
-
header?: never;
|
|
402
|
-
path: {
|
|
403
|
-
/** @description The id of the source file in [KSUID](https://github.com/segmentio/ksuid#what-is-a-ksuid) format. */
|
|
404
|
-
id: string;
|
|
405
|
-
};
|
|
406
|
-
cookie?: never;
|
|
407
|
-
};
|
|
408
|
-
/**
|
|
409
|
-
* Get Generated Asset
|
|
410
|
-
* @description Get the generated assets status, url and details by ID.
|
|
411
|
-
*
|
|
412
|
-
* **Base URL:** <a href="#">https://api.shotstack.io/create/{version}</a>
|
|
413
|
-
*/
|
|
414
|
-
get: operations["getGeneratedAsset"];
|
|
415
|
-
put?: never;
|
|
416
|
-
post?: never;
|
|
417
|
-
delete?: never;
|
|
418
|
-
options?: never;
|
|
419
|
-
head?: never;
|
|
420
|
-
patch?: never;
|
|
421
|
-
trace?: never;
|
|
422
|
-
};
|
|
423
374
|
}
|
|
424
375
|
export type webhooks = Record<string, never>;
|
|
425
376
|
export interface components {
|
|
@@ -1382,621 +1333,383 @@ export interface components {
|
|
|
1382
1333
|
offset?: components["schemas"]["Offset"];
|
|
1383
1334
|
};
|
|
1384
1335
|
/**
|
|
1385
|
-
* @description The SvgAsset is used to add scalable vector graphics (SVG)
|
|
1386
|
-
* It provides two mutually exclusive ways to define shapes:
|
|
1336
|
+
* @description The SvgAsset is used to add scalable vector graphics (SVG) to a video using raw SVG markup.
|
|
1387
1337
|
*
|
|
1388
|
-
* **Option 1: Import SVG markup using `src`**
|
|
1389
1338
|
* ```json
|
|
1390
1339
|
* {
|
|
1391
1340
|
* "type": "svg",
|
|
1392
1341
|
* "src": "<svg width=\"100\" height=\"100\"><circle cx=\"50\" cy=\"50\" r=\"40\" fill=\"#FF0000\"/></svg>"
|
|
1393
1342
|
* }
|
|
1394
1343
|
* ```
|
|
1395
|
-
* When using `src`, no other properties are allowed. The fill, stroke, and dimensions
|
|
1396
|
-
* are automatically extracted from the SVG markup.
|
|
1397
|
-
*
|
|
1398
|
-
* **Option 2: Define shapes programmatically using `shape`**
|
|
1399
|
-
* ```json
|
|
1400
|
-
* {
|
|
1401
|
-
* "type": "svg",
|
|
1402
|
-
* "shape": { "type": "circle", "radius": 50 },
|
|
1403
|
-
* "fill": { "type": "solid", "color": "#FF0000" }
|
|
1404
|
-
* }
|
|
1405
|
-
* ```
|
|
1406
|
-
* When using `shape`, you can customize fill, stroke, shadow, transform, and other properties.
|
|
1407
|
-
* The `src` property is not allowed in this mode.
|
|
1408
1344
|
*
|
|
1409
|
-
* **
|
|
1410
|
-
*
|
|
1345
|
+
* **Supported elements:** `<path>`, `<rect>`, `<circle>`, `<ellipse>`,
|
|
1346
|
+
* `<line>`, `<polygon>`, `<polyline>`
|
|
1411
1347
|
*
|
|
1412
|
-
* **
|
|
1413
|
-
* -
|
|
1414
|
-
* - `
|
|
1415
|
-
* -
|
|
1416
|
-
* - `
|
|
1417
|
-
* -
|
|
1418
|
-
* - `star` - Multi-pointed stars
|
|
1419
|
-
* - `arrow` - Directional arrows
|
|
1420
|
-
* - `heart` - Heart shapes
|
|
1421
|
-
* - `cross` - Plus/cross shapes
|
|
1422
|
-
* - `ring` - Donut/ring shapes
|
|
1423
|
-
* - `path` - Custom shapes using SVG path data
|
|
1348
|
+
* **Automatically extracted from SVG markup:**
|
|
1349
|
+
* - Path data (converted to a single combined path)
|
|
1350
|
+
* - Fill color (from `fill` attribute or `style`)
|
|
1351
|
+
* - Stroke color and width (from attributes or `style`)
|
|
1352
|
+
* - Dimensions (from `width`/`height` or `viewBox`)
|
|
1353
|
+
* - Opacity (from `opacity` attribute)
|
|
1424
1354
|
*
|
|
1425
1355
|
* See [W3C SVG 2 Specification](https://www.w3.org/TR/SVG2/) for path data syntax.
|
|
1426
1356
|
* @example {
|
|
1427
1357
|
* "type": "svg",
|
|
1428
|
-
* "
|
|
1429
|
-
* "type": "star",
|
|
1430
|
-
* "points": 5,
|
|
1431
|
-
* "outerRadius": 100,
|
|
1432
|
-
* "innerRadius": 50
|
|
1433
|
-
* },
|
|
1434
|
-
* "fill": {
|
|
1435
|
-
* "type": "linear",
|
|
1436
|
-
* "angle": 45,
|
|
1437
|
-
* "stops": [
|
|
1438
|
-
* {
|
|
1439
|
-
* "offset": 0,
|
|
1440
|
-
* "color": "#FFD700"
|
|
1441
|
-
* },
|
|
1442
|
-
* {
|
|
1443
|
-
* "offset": 1,
|
|
1444
|
-
* "color": "#FF6B6B"
|
|
1445
|
-
* }
|
|
1446
|
-
* ],
|
|
1447
|
-
* "opacity": 1
|
|
1448
|
-
* },
|
|
1449
|
-
* "stroke": {
|
|
1450
|
-
* "color": "#2C3E50",
|
|
1451
|
-
* "width": 3,
|
|
1452
|
-
* "opacity": 1,
|
|
1453
|
-
* "lineCap": "round",
|
|
1454
|
-
* "lineJoin": "round"
|
|
1455
|
-
* },
|
|
1456
|
-
* "transform": {
|
|
1457
|
-
* "x": 200,
|
|
1458
|
-
* "y": 150,
|
|
1459
|
-
* "rotation": 0,
|
|
1460
|
-
* "scale": 1
|
|
1461
|
-
* },
|
|
1462
|
-
* "opacity": 1
|
|
1358
|
+
* "src": "<svg width=\"200\" height=\"200\"><rect x=\"10\" y=\"10\" width=\"180\" height=\"180\" rx=\"20\" fill=\"#3498db\" stroke=\"#2C3E50\" stroke-width=\"3\"/></svg>"
|
|
1463
1359
|
* }
|
|
1464
1360
|
*/
|
|
1465
1361
|
SvgAsset: {
|
|
1466
1362
|
/**
|
|
1467
|
-
* @description The asset type - set to `svg` for SVG
|
|
1363
|
+
* @description The asset type - set to `svg` for SVG assets. (enum property replaced by openapi-typescript)
|
|
1468
1364
|
* @enum {string}
|
|
1469
1365
|
*/
|
|
1470
1366
|
type: "svg";
|
|
1471
1367
|
/**
|
|
1472
|
-
* @description Raw SVG markup string
|
|
1473
|
-
* automatically from the SVG content.
|
|
1474
|
-
*
|
|
1475
|
-
* **Supported elements:** `<path>`, `<rect>`, `<circle>`, `<ellipse>`,
|
|
1476
|
-
* `<line>`, `<polygon>`, `<polyline>`
|
|
1477
|
-
*
|
|
1478
|
-
* **Automatically extracted:**
|
|
1479
|
-
* - Path data (converted to a single combined path)
|
|
1480
|
-
* - Fill color (from `fill` attribute or `style`)
|
|
1481
|
-
* - Stroke color and width (from attributes or `style`)
|
|
1482
|
-
* - Dimensions (from `width`/`height` or `viewBox`)
|
|
1483
|
-
* - Opacity (from `opacity` attribute)
|
|
1484
|
-
*
|
|
1485
|
-
* **Important:** When using `src`, no other properties (shape, fill, stroke, etc.)
|
|
1486
|
-
* are allowed. All styling must be defined within the SVG markup itself.
|
|
1368
|
+
* @description Raw SVG markup string. The shape, fill, stroke, dimensions and opacity
|
|
1369
|
+
* are automatically extracted from the SVG content.
|
|
1487
1370
|
* @example <svg width="100" height="100"><circle cx="50" cy="50" r="40" fill="#3498db"/></svg>
|
|
1488
1371
|
*/
|
|
1489
|
-
src
|
|
1372
|
+
src: string;
|
|
1373
|
+
};
|
|
1374
|
+
/** @description In and out transitions for a clip - i.e. fade in and fade out */
|
|
1375
|
+
Transition: {
|
|
1490
1376
|
/**
|
|
1491
|
-
* @description The
|
|
1492
|
-
*
|
|
1493
|
-
*
|
|
1494
|
-
*
|
|
1377
|
+
* @description The transition in. Available transitions are:
|
|
1378
|
+
* <ul>
|
|
1379
|
+
* <li>`fade` - fade in</li>
|
|
1380
|
+
* <li>`reveal` - reveal from left to right</li>
|
|
1381
|
+
* <li>`wipeLeft` - fade across screen to the left</li>
|
|
1382
|
+
* <li>`wipeRight` - fade across screen to the right</li>
|
|
1383
|
+
* <li>`slideLeft` - move slightly left and fade in</li>
|
|
1384
|
+
* <li>`slideRight` - move slightly right and fade in</li>
|
|
1385
|
+
* <li>`slideUp` - move slightly up and fade in</li>
|
|
1386
|
+
* <li>`slideDown` - move slightly down and fade in</li>
|
|
1387
|
+
* <li>`carouselLeft` - slide in from right to left</li>
|
|
1388
|
+
* <li>`carouselRight` - slide in from left to right</li>
|
|
1389
|
+
* <li>`carouselUp` - slide in from bottom to top</li>
|
|
1390
|
+
* <li>`carouselDown` - slide in from top to bottom</li>
|
|
1391
|
+
* <li>`shuffleTopRight` - rotate in from top right</li>
|
|
1392
|
+
* <li>`shuffleRightTop` - rotate in from right top</li>
|
|
1393
|
+
* <li>`shuffleRightBottom` - rotate in from right bottom</li>
|
|
1394
|
+
* <li>`shuffleBottomRight` - rotate in from bottom right</li>
|
|
1395
|
+
* <li>`shuffleBottomLeft` - rotate in from bottom left</li>
|
|
1396
|
+
* <li>`shuffleLeftBottom` - rotate in from left bottom</li>
|
|
1397
|
+
* <li>`shuffleLeftTop` - rotate in from left top</li>
|
|
1398
|
+
* <li>`shuffleTopLeft` - rotate in from top left</li>
|
|
1399
|
+
* <li>`zoom` - fast zoom in</li>
|
|
1400
|
+
* </ul>
|
|
1401
|
+
* The transition speed can also be controlled by appending `Fast` or `Slow` to the transition, e.g. `fadeFast` or `CarouselLeftSlow`.
|
|
1402
|
+
* @enum {string}
|
|
1495
1403
|
*/
|
|
1496
|
-
|
|
1404
|
+
in?: "none" | "fade" | "fadeSlow" | "fadeFast" | "reveal" | "revealSlow" | "revealFast" | "wipeLeft" | "wipeLeftSlow" | "wipeLeftFast" | "wipeRight" | "wipeRightSlow" | "wipeRightFast" | "slideLeft" | "slideLeftSlow" | "slideLeftFast" | "slideRight" | "slideRightSlow" | "slideRightFast" | "slideUp" | "slideUpSlow" | "slideUpFast" | "slideDown" | "slideDownSlow" | "slideDownFast" | "carouselLeft" | "carouselLeftSlow" | "carouselLeftFast" | "carouselRight" | "carouselRightSlow" | "carouselRightFast" | "carouselUp" | "carouselUpSlow" | "carouselUpFast" | "carouselDown" | "carouselDownSlow" | "carouselDownFast" | "shuffleTopRight" | "shuffleTopRightSlow" | "shuffleTopRightFast" | "shuffleRightTop" | "shuffleRightTopSlow" | "shuffleRightTopFast" | "shuffleRightBottom" | "shuffleRightBottomSlow" | "shuffleRightBottomFast" | "shuffleBottomRight" | "shuffleBottomRightSlow" | "shuffleBottomRightFast" | "shuffleBottomLeft" | "shuffleBottomLeftSlow" | "shuffleBottomLeftFast" | "shuffleLeftBottom" | "shuffleLeftBottomSlow" | "shuffleLeftBottomFast" | "shuffleLeftTop" | "shuffleLeftTopSlow" | "shuffleLeftTopFast" | "shuffleTopLeft" | "shuffleTopLeftSlow" | "shuffleTopLeftFast" | "zoom";
|
|
1497
1405
|
/**
|
|
1498
|
-
* @description
|
|
1499
|
-
*
|
|
1500
|
-
*
|
|
1501
|
-
*
|
|
1502
|
-
*
|
|
1406
|
+
* @description The transition out. Available transitions are:
|
|
1407
|
+
* <ul>
|
|
1408
|
+
* <li>`fade` - fade out</li>
|
|
1409
|
+
* <li>`reveal` - reveal from right to left</li>
|
|
1410
|
+
* <li>`wipeLeft` - fade across screen to the left</li>
|
|
1411
|
+
* <li>`wipeRight` - fade across screen to the right</li>
|
|
1412
|
+
* <li>`slideLeft` - move slightly left and fade out</li>
|
|
1413
|
+
* <li>`slideRight` - move slightly right and fade out</li>
|
|
1414
|
+
* <li>`slideUp` - move slightly up and fade out</li>
|
|
1415
|
+
* <li>`slideDown` - move slightly down and fade out</li>
|
|
1416
|
+
* <li>`carouselLeft` - slide out from right to left</li>
|
|
1417
|
+
* <li>`carouselRight` - slide out from left to right</li>
|
|
1418
|
+
* <li>`carouselUp` - slide out from bottom to top</li>
|
|
1419
|
+
* <li>`carouselDown` - slide out from top to bottom</li>
|
|
1420
|
+
* <li>`shuffleTopRight` - rotate out from top right</li>
|
|
1421
|
+
* <li>`shuffleRightTop` - rotate out from right top</li>
|
|
1422
|
+
* <li>`shuffleRightBottom` - rotate out from right bottom</li>
|
|
1423
|
+
* <li>`shuffleBottomRight` - rotate out from bottom right</li>
|
|
1424
|
+
* <li>`shuffleBottomLeft` - rotate out from bottom left</li>
|
|
1425
|
+
* <li>`shuffleLeftBottom` - rotate out from left bottom</li>
|
|
1426
|
+
* <li>`shuffleLeftTop` - rotate out from left top</li>
|
|
1427
|
+
* <li>`shuffleTopLeft` - rotate out from top left</li>
|
|
1428
|
+
* <li>`zoom` - fast zoom out</li>
|
|
1429
|
+
* </ul>
|
|
1430
|
+
* The transition speed can also be controlled by appending `Fast` or `Slow` to the transition, e.g. `fadeFast` or `CarouselLeftSlow`.
|
|
1431
|
+
* @enum {string}
|
|
1503
1432
|
*/
|
|
1504
|
-
|
|
1433
|
+
out?: "none" | "fade" | "fadeSlow" | "fadeFast" | "reveal" | "revealSlow" | "revealFast" | "wipeLeft" | "wipeLeftSlow" | "wipeLeftFast" | "wipeRight" | "wipeRightSlow" | "wipeRightFast" | "slideLeft" | "slideLeftSlow" | "slideLeftFast" | "slideRight" | "slideRightSlow" | "slideRightFast" | "slideUp" | "slideUpSlow" | "slideUpFast" | "slideDown" | "slideDownSlow" | "slideDownFast" | "carouselLeft" | "carouselLeftSlow" | "carouselLeftFast" | "carouselRight" | "carouselRightSlow" | "carouselRightFast" | "carouselUp" | "carouselUpSlow" | "carouselUpFast" | "carouselDown" | "carouselDownSlow" | "carouselDownFast" | "shuffleTopRight" | "shuffleTopRightSlow" | "shuffleTopRightFast" | "shuffleRightTop" | "shuffleRightTopSlow" | "shuffleRightTopFast" | "shuffleRightBottom" | "shuffleRightBottomSlow" | "shuffleRightBottomFast" | "shuffleBottomRight" | "shuffleBottomRightSlow" | "shuffleBottomRightFast" | "shuffleBottomLeft" | "shuffleBottomLeftSlow" | "shuffleBottomLeftFast" | "shuffleLeftBottom" | "shuffleLeftBottomSlow" | "shuffleLeftBottomFast" | "shuffleLeftTop" | "shuffleLeftTopSlow" | "shuffleLeftTopFast" | "shuffleTopLeft" | "shuffleTopLeftSlow" | "shuffleTopLeftFast" | "zoom";
|
|
1434
|
+
};
|
|
1435
|
+
/** @description Offsets the position of an asset horizontally or vertically by a relative distance. */
|
|
1436
|
+
Offset: {
|
|
1437
|
+
/** @description Offset an asset on the horizontal axis (left or right). Use a number or an array of [Tween](./#tocs_tween) objects to create a custom animation. */
|
|
1438
|
+
x?: number | components["schemas"]["Tween"][];
|
|
1439
|
+
/** @description Offset an asset on the vertical axis (up or down). Use a number or an array of [Tween](./#tocs_tween) objects to create a custom animation. */
|
|
1440
|
+
y?: number | components["schemas"]["Tween"][];
|
|
1441
|
+
};
|
|
1442
|
+
/** @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. */
|
|
1443
|
+
Crop: {
|
|
1505
1444
|
/**
|
|
1506
|
-
*
|
|
1507
|
-
*
|
|
1508
|
-
*
|
|
1509
|
-
* **Note:** Only allowed when using `shape`, not with `src`.
|
|
1445
|
+
* Format: float
|
|
1446
|
+
* @description Crop from the top of the asset
|
|
1447
|
+
* @example 0.15
|
|
1510
1448
|
*/
|
|
1511
|
-
|
|
1449
|
+
top?: number;
|
|
1512
1450
|
/**
|
|
1513
|
-
*
|
|
1514
|
-
*
|
|
1515
|
-
*
|
|
1516
|
-
* **Note:** Only allowed when using `shape`, not with `src`.
|
|
1451
|
+
* Format: float
|
|
1452
|
+
* @description Crop from the bottom of the asset
|
|
1453
|
+
* @example 0.15
|
|
1517
1454
|
*/
|
|
1518
|
-
|
|
1455
|
+
bottom?: number;
|
|
1519
1456
|
/**
|
|
1520
|
-
*
|
|
1521
|
-
*
|
|
1522
|
-
*
|
|
1523
|
-
* **Note:** Only allowed when using `shape`, not with `src`.
|
|
1457
|
+
* Format: float
|
|
1458
|
+
* @description Crop from the left of the asset
|
|
1524
1459
|
*/
|
|
1525
|
-
|
|
1460
|
+
left?: number;
|
|
1526
1461
|
/**
|
|
1527
|
-
*
|
|
1528
|
-
*
|
|
1529
|
-
* This is applied on top of individual fill/stroke/shadow opacity values.
|
|
1530
|
-
*
|
|
1531
|
-
* **Note:** Only allowed when using `shape`, not with `src`.
|
|
1532
|
-
* @default 1
|
|
1533
|
-
* @example 1
|
|
1462
|
+
* Format: float
|
|
1463
|
+
* @description Crop from the left of the asset
|
|
1534
1464
|
*/
|
|
1535
|
-
|
|
1465
|
+
right?: number;
|
|
1466
|
+
};
|
|
1467
|
+
/** @description Apply one or more transformations to a clip. Transformations alter the visual properties of a clip and can be combined to create new shapes and effects. */
|
|
1468
|
+
Transformation: {
|
|
1469
|
+
rotate?: components["schemas"]["RotateTransformation"];
|
|
1470
|
+
skew?: components["schemas"]["SkewTransformation"];
|
|
1471
|
+
flip?: components["schemas"]["FlipTransformation"];
|
|
1472
|
+
};
|
|
1473
|
+
/** @description Rotate a clip by the specified angle in degrees. Rotation origin is set based on the clips `position`. */
|
|
1474
|
+
RotateTransformation: {
|
|
1475
|
+
/** @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. */
|
|
1476
|
+
angle?: number | components["schemas"]["Tween"][];
|
|
1477
|
+
};
|
|
1478
|
+
/** @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. */
|
|
1479
|
+
SkewTransformation: {
|
|
1480
|
+
/** @description Skew the clip along it's x axis. */
|
|
1481
|
+
x?: number | components["schemas"]["Tween"][];
|
|
1482
|
+
/** @description Skew the clip along it's y axis. */
|
|
1483
|
+
y?: number | components["schemas"]["Tween"][];
|
|
1484
|
+
};
|
|
1485
|
+
/** @description Flip a clip vertically or horizontally. Acts as a mirror effect of the clip along the selected plane. */
|
|
1486
|
+
FlipTransformation: {
|
|
1536
1487
|
/**
|
|
1537
|
-
* @description
|
|
1538
|
-
*
|
|
1539
|
-
* If omitted, the shape uses its natural dimensions.
|
|
1540
|
-
*
|
|
1541
|
-
* **Note:** Only allowed when using `shape`, not with `src`.
|
|
1542
|
-
* @example 400
|
|
1488
|
+
* @description Flip a clip horizontally.
|
|
1489
|
+
* @example true
|
|
1543
1490
|
*/
|
|
1544
|
-
|
|
1491
|
+
horizontal?: boolean;
|
|
1545
1492
|
/**
|
|
1546
|
-
* @description
|
|
1547
|
-
*
|
|
1548
|
-
* If omitted, the shape uses its natural dimensions.
|
|
1549
|
-
*
|
|
1550
|
-
* **Note:** Only allowed when using `shape`, not with `src`.
|
|
1551
|
-
* @example 300
|
|
1493
|
+
* @description Flip a clip vertically.
|
|
1494
|
+
* @example true
|
|
1552
1495
|
*/
|
|
1553
|
-
|
|
1496
|
+
vertical?: boolean;
|
|
1554
1497
|
};
|
|
1555
|
-
/**
|
|
1556
|
-
|
|
1557
|
-
* properties. The `type` field determines which shape is rendered.
|
|
1558
|
-
*/
|
|
1559
|
-
SvgShape: components["schemas"]["SvgRectangleShape"] | components["schemas"]["SvgCircleShape"] | components["schemas"]["SvgEllipseShape"] | components["schemas"]["SvgLineShape"] | components["schemas"]["SvgPolygonShape"] | components["schemas"]["SvgStarShape"] | components["schemas"]["SvgArrowShape"] | components["schemas"]["SvgHeartShape"] | components["schemas"]["SvgCrossShape"] | components["schemas"]["SvgRingShape"] | components["schemas"]["SvgPathShape"];
|
|
1560
|
-
/**
|
|
1561
|
-
* @description A rectangle shape with optional rounded corners.
|
|
1562
|
-
* The rectangle is defined by its width and height dimensions.
|
|
1563
|
-
*/
|
|
1564
|
-
SvgRectangleShape: {
|
|
1498
|
+
/** @description Font properties for text. */
|
|
1499
|
+
TextFont: {
|
|
1565
1500
|
/**
|
|
1566
|
-
* @description The
|
|
1567
|
-
* @
|
|
1501
|
+
* @description The font family name. This must be Family name embedded in the font, i.e. "Open Sans".
|
|
1502
|
+
* @example Open Sans
|
|
1568
1503
|
*/
|
|
1569
|
-
|
|
1504
|
+
family?: string;
|
|
1570
1505
|
/**
|
|
1571
|
-
* @description The
|
|
1572
|
-
* @example
|
|
1506
|
+
* @description The text color using hexadecimal color notation.
|
|
1507
|
+
* @example #ffffff
|
|
1573
1508
|
*/
|
|
1574
|
-
|
|
1509
|
+
color?: string;
|
|
1575
1510
|
/**
|
|
1576
|
-
* @description The
|
|
1577
|
-
* @example
|
|
1511
|
+
* @description The opacity of the text where 1 is opaque and 0 is transparent.
|
|
1512
|
+
* @example 0.8
|
|
1578
1513
|
*/
|
|
1579
|
-
|
|
1514
|
+
opacity?: number;
|
|
1580
1515
|
/**
|
|
1581
|
-
* @description The
|
|
1582
|
-
*
|
|
1583
|
-
* to half of the smallest dimension.
|
|
1584
|
-
* @default 0
|
|
1585
|
-
* @example 10
|
|
1516
|
+
* @description The size of the font in pixels (px).
|
|
1517
|
+
* @example 24
|
|
1586
1518
|
*/
|
|
1587
|
-
|
|
1588
|
-
};
|
|
1589
|
-
/**
|
|
1590
|
-
* @description A perfect circle shape defined by its radius.
|
|
1591
|
-
* The circle is centered at the shape's position.
|
|
1592
|
-
*/
|
|
1593
|
-
SvgCircleShape: {
|
|
1519
|
+
size?: number;
|
|
1594
1520
|
/**
|
|
1595
|
-
* @description The
|
|
1596
|
-
* @
|
|
1521
|
+
* @description The weight of the font. 100 is lightest, 900 is heaviest (boldest).
|
|
1522
|
+
* @example 400
|
|
1597
1523
|
*/
|
|
1598
|
-
|
|
1524
|
+
weight?: number;
|
|
1599
1525
|
/**
|
|
1600
|
-
* @description The
|
|
1601
|
-
* @example
|
|
1526
|
+
* @description The line height of the font as a ratio of the font size.
|
|
1527
|
+
* @example 0.85
|
|
1602
1528
|
*/
|
|
1603
|
-
|
|
1529
|
+
lineHeight?: number;
|
|
1604
1530
|
};
|
|
1605
|
-
/**
|
|
1606
|
-
|
|
1607
|
-
* The ellipse is centered at the shape's position.
|
|
1608
|
-
*/
|
|
1609
|
-
SvgEllipseShape: {
|
|
1610
|
-
/**
|
|
1611
|
-
* @description The shape type - set to `ellipse`. (enum property replaced by openapi-typescript)
|
|
1612
|
-
* @enum {string}
|
|
1613
|
-
*/
|
|
1614
|
-
type: "ellipse";
|
|
1615
|
-
/**
|
|
1616
|
-
* @description The horizontal radius (semi-major axis) in pixels.
|
|
1617
|
-
* @example 80
|
|
1618
|
-
*/
|
|
1619
|
-
radiusX: number;
|
|
1531
|
+
/** @description Displays a background box behind the text. */
|
|
1532
|
+
TextBackground: {
|
|
1620
1533
|
/**
|
|
1621
|
-
* @description The
|
|
1622
|
-
* @example
|
|
1534
|
+
* @description The background color using hexadecimal color notation.
|
|
1535
|
+
* @example #000000
|
|
1623
1536
|
*/
|
|
1624
|
-
|
|
1625
|
-
};
|
|
1626
|
-
/**
|
|
1627
|
-
* @description A straight line shape with a specified length and thickness.
|
|
1628
|
-
* The line is drawn horizontally by default and can be rotated using transform.
|
|
1629
|
-
*/
|
|
1630
|
-
SvgLineShape: {
|
|
1537
|
+
color?: string;
|
|
1631
1538
|
/**
|
|
1632
|
-
* @description The
|
|
1633
|
-
* @
|
|
1539
|
+
* @description The opacity of the background where 1 is opaque and 0 is transparent.
|
|
1540
|
+
* @example 0.8
|
|
1634
1541
|
*/
|
|
1635
|
-
|
|
1542
|
+
opacity?: number;
|
|
1636
1543
|
/**
|
|
1637
|
-
* @description
|
|
1638
|
-
* @example
|
|
1544
|
+
* @description Padding inside the background box in pixels.
|
|
1545
|
+
* @example 10
|
|
1639
1546
|
*/
|
|
1640
|
-
|
|
1547
|
+
padding?: number;
|
|
1641
1548
|
/**
|
|
1642
|
-
* @description The
|
|
1643
|
-
* @example
|
|
1549
|
+
* @description The border radius of the background box in pixels for rounded corners.
|
|
1550
|
+
* @example 5
|
|
1644
1551
|
*/
|
|
1645
|
-
|
|
1552
|
+
borderRadius?: number;
|
|
1646
1553
|
};
|
|
1647
|
-
/**
|
|
1648
|
-
|
|
1649
|
-
* Examples: triangle (3), square (4), pentagon (5), hexagon (6), etc.
|
|
1650
|
-
* The polygon is inscribed in a circle of the given radius.
|
|
1651
|
-
*/
|
|
1652
|
-
SvgPolygonShape: {
|
|
1554
|
+
/** @description Horizontal and vertical alignment properties for text. */
|
|
1555
|
+
TextAlignment: {
|
|
1653
1556
|
/**
|
|
1654
|
-
* @description The
|
|
1557
|
+
* @description The horizontal alignment of the text. Value must be one of: <ul>
|
|
1558
|
+
* <li>`left`</li>
|
|
1559
|
+
* <li>`center`</li>
|
|
1560
|
+
* <li>`right`</li>
|
|
1561
|
+
* </ul>
|
|
1562
|
+
* @example center
|
|
1655
1563
|
* @enum {string}
|
|
1656
1564
|
*/
|
|
1657
|
-
|
|
1658
|
-
/**
|
|
1659
|
-
* @description The number of sides of the polygon.
|
|
1660
|
-
* Minimum 3 (triangle), maximum 100 for practical use.
|
|
1661
|
-
* @example 6
|
|
1662
|
-
*/
|
|
1663
|
-
sides: number;
|
|
1565
|
+
horizontal?: "left" | "center" | "right";
|
|
1664
1566
|
/**
|
|
1665
|
-
* @description The
|
|
1666
|
-
*
|
|
1667
|
-
*
|
|
1567
|
+
* @description The vertical alignment of the text. Value must be one of: <ul>
|
|
1568
|
+
* <li>`top`</li>
|
|
1569
|
+
* <li>`center`</li>
|
|
1570
|
+
* <li>`bottom`</li>
|
|
1571
|
+
* </ul>
|
|
1572
|
+
* @example center
|
|
1573
|
+
* @enum {string}
|
|
1668
1574
|
*/
|
|
1669
|
-
|
|
1575
|
+
vertical?: "top" | "center" | "bottom";
|
|
1670
1576
|
};
|
|
1671
|
-
/**
|
|
1672
|
-
|
|
1673
|
-
* The star is defined by outer and inner radii, creating the characteristic
|
|
1674
|
-
* pointed appearance.
|
|
1675
|
-
*/
|
|
1676
|
-
SvgStarShape: {
|
|
1577
|
+
/** @description Font properties for rich text. */
|
|
1578
|
+
RichTextFont: {
|
|
1677
1579
|
/**
|
|
1678
|
-
* @description The
|
|
1679
|
-
* @
|
|
1680
|
-
|
|
1681
|
-
type: "star";
|
|
1682
|
-
/**
|
|
1683
|
-
* @description The number of points on the star.
|
|
1684
|
-
* Minimum 3 for a triangle-like star, typically 5 for a classic star.
|
|
1685
|
-
* @example 5
|
|
1686
|
-
*/
|
|
1687
|
-
points: number;
|
|
1688
|
-
/**
|
|
1689
|
-
* @description The outer radius in pixels - the distance from center to the tips of the points.
|
|
1690
|
-
* @example 50
|
|
1691
|
-
*/
|
|
1692
|
-
outerRadius: number;
|
|
1693
|
-
/**
|
|
1694
|
-
* @description The inner radius in pixels - the distance from center to the inner vertices.
|
|
1695
|
-
* Should be smaller than outerRadius for a star effect.
|
|
1696
|
-
* @example 25
|
|
1697
|
-
*/
|
|
1698
|
-
innerRadius: number;
|
|
1699
|
-
};
|
|
1700
|
-
/**
|
|
1701
|
-
* @description An arrow shape pointing to the right by default.
|
|
1702
|
-
* Use transform rotation to change direction.
|
|
1703
|
-
*/
|
|
1704
|
-
SvgArrowShape: {
|
|
1705
|
-
/**
|
|
1706
|
-
* @description The shape type - set to `arrow`. (enum property replaced by openapi-typescript)
|
|
1707
|
-
* @enum {string}
|
|
1708
|
-
*/
|
|
1709
|
-
type: "arrow";
|
|
1710
|
-
/**
|
|
1711
|
-
* @description The total length of the arrow from tail to tip in pixels.
|
|
1712
|
-
* @example 100
|
|
1713
|
-
*/
|
|
1714
|
-
length: number;
|
|
1715
|
-
/**
|
|
1716
|
-
* @description The width of the arrow head (the widest part) in pixels.
|
|
1717
|
-
* @example 40
|
|
1718
|
-
*/
|
|
1719
|
-
headWidth: number;
|
|
1720
|
-
/**
|
|
1721
|
-
* @description The length of the arrow head portion in pixels.
|
|
1722
|
-
* @example 30
|
|
1723
|
-
*/
|
|
1724
|
-
headLength: number;
|
|
1725
|
-
/**
|
|
1726
|
-
* @description The width of the arrow shaft (body) in pixels.
|
|
1727
|
-
* @example 20
|
|
1728
|
-
*/
|
|
1729
|
-
shaftWidth: number;
|
|
1730
|
-
};
|
|
1731
|
-
/**
|
|
1732
|
-
* @description A heart shape commonly used for love/like icons.
|
|
1733
|
-
* The heart is defined by a single size parameter.
|
|
1734
|
-
*/
|
|
1735
|
-
SvgHeartShape: {
|
|
1736
|
-
/**
|
|
1737
|
-
* @description The shape type - set to `heart`. (enum property replaced by openapi-typescript)
|
|
1738
|
-
* @enum {string}
|
|
1580
|
+
* @description The font family name. This must be the Family name embedded in the font, i.e. "Open Sans".
|
|
1581
|
+
* @default Open Sans
|
|
1582
|
+
* @example Open Sans
|
|
1739
1583
|
*/
|
|
1740
|
-
|
|
1584
|
+
family?: string;
|
|
1741
1585
|
/**
|
|
1742
|
-
* @description The size of the
|
|
1743
|
-
*
|
|
1744
|
-
* @example
|
|
1586
|
+
* @description The size of the font in pixels (px). Must be between 1 and 500.
|
|
1587
|
+
* @default 24
|
|
1588
|
+
* @example 48
|
|
1745
1589
|
*/
|
|
1746
|
-
size
|
|
1747
|
-
};
|
|
1748
|
-
/**
|
|
1749
|
-
* @description A cross or plus shape with equal or different arm lengths.
|
|
1750
|
-
* Can be styled as a plus sign (+) or a cross (x with rotation).
|
|
1751
|
-
*/
|
|
1752
|
-
SvgCrossShape: {
|
|
1590
|
+
size?: number;
|
|
1753
1591
|
/**
|
|
1754
|
-
* @description The
|
|
1755
|
-
* @
|
|
1592
|
+
* @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).
|
|
1593
|
+
* @default 400
|
|
1756
1594
|
*/
|
|
1757
|
-
|
|
1595
|
+
weight?: unknown;
|
|
1758
1596
|
/**
|
|
1759
|
-
* @description The
|
|
1760
|
-
* @
|
|
1597
|
+
* @description The text color using hexadecimal color notation.
|
|
1598
|
+
* @default #000000
|
|
1599
|
+
* @example #ff0000
|
|
1761
1600
|
*/
|
|
1762
|
-
|
|
1601
|
+
color?: string;
|
|
1763
1602
|
/**
|
|
1764
|
-
* @description The
|
|
1765
|
-
* @
|
|
1603
|
+
* @description The opacity of the text where 1 is opaque and 0 is transparent.
|
|
1604
|
+
* @default 1
|
|
1605
|
+
* @example 0.9
|
|
1766
1606
|
*/
|
|
1767
|
-
|
|
1607
|
+
opacity?: number;
|
|
1768
1608
|
/**
|
|
1769
|
-
* @description The
|
|
1770
|
-
* @example
|
|
1609
|
+
* @description The background color behind the text using hexadecimal color notation.
|
|
1610
|
+
* @example #000000
|
|
1771
1611
|
*/
|
|
1772
|
-
|
|
1612
|
+
background?: string;
|
|
1613
|
+
/** @description Text stroke (outline) properties. */
|
|
1614
|
+
stroke?: components["schemas"]["RichTextStroke"];
|
|
1773
1615
|
};
|
|
1774
|
-
/**
|
|
1775
|
-
|
|
1776
|
-
* The ring is defined by outer and inner radii.
|
|
1777
|
-
*/
|
|
1778
|
-
SvgRingShape: {
|
|
1616
|
+
/** @description Text style properties including spacing, line height, and transformations. */
|
|
1617
|
+
RichTextStyle: {
|
|
1779
1618
|
/**
|
|
1780
|
-
* @description
|
|
1781
|
-
* @
|
|
1619
|
+
* @description Additional spacing between letters in pixels. Can be negative for tighter spacing.
|
|
1620
|
+
* @default 0
|
|
1621
|
+
* @example 2
|
|
1782
1622
|
*/
|
|
1783
|
-
|
|
1623
|
+
letterSpacing?: number;
|
|
1784
1624
|
/**
|
|
1785
|
-
* @description
|
|
1786
|
-
* @
|
|
1625
|
+
* @description Additional spacing between words in pixels. A value of 0 uses the font's natural space width.
|
|
1626
|
+
* @default 0
|
|
1627
|
+
* @example 10
|
|
1787
1628
|
*/
|
|
1788
|
-
|
|
1629
|
+
wordSpacing?: number;
|
|
1789
1630
|
/**
|
|
1790
|
-
* @description The
|
|
1791
|
-
*
|
|
1792
|
-
* @example
|
|
1631
|
+
* @description The line height as a multiplier of the font size. Must be between 0 and 10.
|
|
1632
|
+
* @default 1.2
|
|
1633
|
+
* @example 1.5
|
|
1793
1634
|
*/
|
|
1794
|
-
|
|
1795
|
-
};
|
|
1796
|
-
/**
|
|
1797
|
-
* @description A custom shape defined by SVG path data.
|
|
1798
|
-
* Supports all standard SVG path commands for creating complex shapes.
|
|
1799
|
-
*
|
|
1800
|
-
* **Path Commands:**
|
|
1801
|
-
* - `M x y` / `m dx dy` - Move to (absolute/relative)
|
|
1802
|
-
* - `L x y` / `l dx dy` - Line to
|
|
1803
|
-
* - `H x` / `h dx` - Horizontal line to
|
|
1804
|
-
* - `V y` / `v dy` - Vertical line to
|
|
1805
|
-
* - `C x1 y1 x2 y2 x y` / `c` - Cubic Bezier curve
|
|
1806
|
-
* - `S x2 y2 x y` / `s` - Smooth cubic Bezier
|
|
1807
|
-
* - `Q x1 y1 x y` / `q` - Quadratic Bezier curve
|
|
1808
|
-
* - `T x y` / `t` - Smooth quadratic Bezier
|
|
1809
|
-
* - `A rx ry angle large-arc sweep x y` / `a` - Elliptical arc
|
|
1810
|
-
* - `Z` / `z` - Close path
|
|
1811
|
-
*/
|
|
1812
|
-
SvgPathShape: {
|
|
1635
|
+
lineHeight?: number;
|
|
1813
1636
|
/**
|
|
1814
|
-
* @description
|
|
1637
|
+
* @description Text transformation to apply.
|
|
1638
|
+
* @default none
|
|
1639
|
+
* @example uppercase
|
|
1815
1640
|
* @enum {string}
|
|
1816
1641
|
*/
|
|
1817
|
-
|
|
1818
|
-
/**
|
|
1819
|
-
* @description The SVG path data string defining the shape.
|
|
1820
|
-
* Uses standard SVG path commands (M, L, C, Q, A, Z, etc.).
|
|
1821
|
-
* Example: `M 0 0 L 100 0 L 100 100 L 0 100 Z` draws a square.
|
|
1822
|
-
* @example M 0 0 L 100 0 L 50 86.6 Z
|
|
1823
|
-
*/
|
|
1824
|
-
d: string;
|
|
1825
|
-
};
|
|
1826
|
-
/**
|
|
1827
|
-
* @description Fill properties for SVG shapes. Supports solid colors and gradients.
|
|
1828
|
-
* The fill defines how the interior of a shape is painted.
|
|
1829
|
-
*/
|
|
1830
|
-
SvgFill: components["schemas"]["SvgSolidFill"] | components["schemas"]["SvgLinearGradientFill"] | components["schemas"]["SvgRadialGradientFill"];
|
|
1831
|
-
/** @description A solid color fill for SVG shapes. */
|
|
1832
|
-
SvgSolidFill: {
|
|
1642
|
+
textTransform?: "none" | "uppercase" | "lowercase" | "capitalize";
|
|
1833
1643
|
/**
|
|
1834
|
-
* @description
|
|
1644
|
+
* @description Text decoration to apply.
|
|
1645
|
+
* @default none
|
|
1646
|
+
* @example underline
|
|
1835
1647
|
* @enum {string}
|
|
1836
1648
|
*/
|
|
1837
|
-
|
|
1838
|
-
/**
|
|
1839
|
-
|
|
1840
|
-
* Must be a 6-digit hex color code prefixed with `#`.
|
|
1841
|
-
* @default #000000
|
|
1842
|
-
* @example #3498db
|
|
1843
|
-
*/
|
|
1844
|
-
color: string;
|
|
1845
|
-
/**
|
|
1846
|
-
* @description The opacity of the fill where `1` is fully opaque and `0` is fully transparent.
|
|
1847
|
-
* Values between 0 and 1 create semi-transparent fills.
|
|
1848
|
-
* @default 1
|
|
1849
|
-
* @example 0.8
|
|
1850
|
-
*/
|
|
1851
|
-
opacity?: number;
|
|
1649
|
+
textDecoration?: "none" | "underline" | "line-through";
|
|
1650
|
+
/** @description Gradient fill for text instead of solid color. */
|
|
1651
|
+
gradient?: components["schemas"]["RichTextGradient"];
|
|
1852
1652
|
};
|
|
1853
|
-
/**
|
|
1854
|
-
|
|
1855
|
-
* The gradient direction is controlled by the `angle` property.
|
|
1856
|
-
*/
|
|
1857
|
-
SvgLinearGradientFill: {
|
|
1653
|
+
/** @description Gradient properties for text fill. */
|
|
1654
|
+
RichTextGradient: {
|
|
1858
1655
|
/**
|
|
1859
|
-
* @description The
|
|
1656
|
+
* @description The type of gradient.
|
|
1657
|
+
* @default linear
|
|
1658
|
+
* @example linear
|
|
1860
1659
|
* @enum {string}
|
|
1861
1660
|
*/
|
|
1862
|
-
type
|
|
1661
|
+
type?: "linear" | "radial";
|
|
1863
1662
|
/**
|
|
1864
|
-
* @description The angle of the gradient in degrees.
|
|
1865
|
-
* `90` is vertical (bottom to top), `180` is right to left, etc.
|
|
1663
|
+
* @description The angle of the gradient in degrees (for linear gradients). Must be between 0 and 360.
|
|
1866
1664
|
* @default 0
|
|
1867
1665
|
* @example 45
|
|
1868
1666
|
*/
|
|
1869
1667
|
angle?: number;
|
|
1870
|
-
/**
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
* @description A radial gradient fill that transitions colors radiating outward from a center point.
|
|
1884
|
-
* The gradient creates a circular or elliptical color transition.
|
|
1885
|
-
*/
|
|
1886
|
-
SvgRadialGradientFill: {
|
|
1887
|
-
/**
|
|
1888
|
-
* @description The fill type - set to `radial` for a radial gradient fill. (enum property replaced by openapi-typescript)
|
|
1889
|
-
* @enum {string}
|
|
1890
|
-
*/
|
|
1891
|
-
type: "radial";
|
|
1892
|
-
/**
|
|
1893
|
-
* @description Array of color stops that define the gradient colors and their positions.
|
|
1894
|
-
* Must have at least 2 stops. Offset `0` is the center, `1` is the outer edge.
|
|
1895
|
-
*/
|
|
1896
|
-
stops: components["schemas"]["SvgGradientStop"][];
|
|
1897
|
-
/**
|
|
1898
|
-
* @description The overall opacity of the gradient where `1` is fully opaque and `0` is fully transparent.
|
|
1899
|
-
* @default 1
|
|
1900
|
-
* @example 1
|
|
1901
|
-
*/
|
|
1902
|
-
opacity?: number;
|
|
1668
|
+
/** @description Gradient color stops. Must have at least 2 stops. */
|
|
1669
|
+
stops: {
|
|
1670
|
+
/**
|
|
1671
|
+
* @description Position of the color stop between 0 (start) and 1 (end).
|
|
1672
|
+
* @example 0.5
|
|
1673
|
+
*/
|
|
1674
|
+
offset: number;
|
|
1675
|
+
/**
|
|
1676
|
+
* @description Color at this stop using hexadecimal color notation.
|
|
1677
|
+
* @example #ff0000
|
|
1678
|
+
*/
|
|
1679
|
+
color: string;
|
|
1680
|
+
}[];
|
|
1903
1681
|
};
|
|
1904
|
-
/**
|
|
1905
|
-
|
|
1906
|
-
* along the gradient vector. Gradients require at least 2 stops.
|
|
1907
|
-
*/
|
|
1908
|
-
SvgGradientStop: {
|
|
1909
|
-
/**
|
|
1910
|
-
* @description Position of the color stop along the gradient vector.
|
|
1911
|
-
* `0` represents the start and `1` represents the end of the gradient.
|
|
1912
|
-
* @example 0.5
|
|
1913
|
-
*/
|
|
1914
|
-
offset: number;
|
|
1682
|
+
/** @description Text stroke (outline) properties. */
|
|
1683
|
+
RichTextStroke: {
|
|
1915
1684
|
/**
|
|
1916
|
-
* @description The
|
|
1917
|
-
* @
|
|
1685
|
+
* @description The width of the stroke in pixels. Must be 0 or greater.
|
|
1686
|
+
* @default 0
|
|
1687
|
+
* @example 2
|
|
1918
1688
|
*/
|
|
1919
|
-
|
|
1920
|
-
};
|
|
1921
|
-
/**
|
|
1922
|
-
* @description Stroke (outline) properties for SVG shapes. The stroke defines how the outline
|
|
1923
|
-
* of a shape is painted, including its color, width, and line style.
|
|
1924
|
-
*/
|
|
1925
|
-
SvgStroke: {
|
|
1689
|
+
width?: number;
|
|
1926
1690
|
/**
|
|
1927
1691
|
* @description The stroke color using hexadecimal color notation.
|
|
1928
1692
|
* @default #000000
|
|
1929
|
-
* @example #
|
|
1693
|
+
* @example #000000
|
|
1930
1694
|
*/
|
|
1931
1695
|
color?: string;
|
|
1932
1696
|
/**
|
|
1933
|
-
* @description The
|
|
1934
|
-
* Larger values create thicker outlines.
|
|
1935
|
-
* @default 1
|
|
1936
|
-
* @example 2
|
|
1937
|
-
*/
|
|
1938
|
-
width?: number;
|
|
1939
|
-
/**
|
|
1940
|
-
* @description The opacity of the stroke where `1` is opaque and `0` is transparent.
|
|
1697
|
+
* @description The opacity of the stroke where 1 is opaque and 0 is transparent.
|
|
1941
1698
|
* @default 1
|
|
1942
|
-
* @example
|
|
1699
|
+
* @example 0.8
|
|
1943
1700
|
*/
|
|
1944
1701
|
opacity?: number;
|
|
1945
|
-
/**
|
|
1946
|
-
* @description The shape at the end of open paths (lines, polylines, unclosed paths).
|
|
1947
|
-
* <ul>
|
|
1948
|
-
* <li>`butt` - flat edge perpendicular to the line (default)</li>
|
|
1949
|
-
* <li>`round` - semicircular cap extending beyond the endpoint</li>
|
|
1950
|
-
* <li>`square` - rectangular cap extending beyond the endpoint</li>
|
|
1951
|
-
* </ul>
|
|
1952
|
-
* @default butt
|
|
1953
|
-
* @example round
|
|
1954
|
-
* @enum {string}
|
|
1955
|
-
*/
|
|
1956
|
-
lineCap?: "butt" | "round" | "square";
|
|
1957
|
-
/**
|
|
1958
|
-
* @description The shape at the corners where two lines meet.
|
|
1959
|
-
* <ul>
|
|
1960
|
-
* <li>`miter` - sharp corner (default)</li>
|
|
1961
|
-
* <li>`round` - rounded corner</li>
|
|
1962
|
-
* <li>`bevel` - flattened corner</li>
|
|
1963
|
-
* </ul>
|
|
1964
|
-
* @default miter
|
|
1965
|
-
* @example round
|
|
1966
|
-
* @enum {string}
|
|
1967
|
-
*/
|
|
1968
|
-
lineJoin?: "miter" | "round" | "bevel";
|
|
1969
|
-
/**
|
|
1970
|
-
* @description Pattern of dashes and gaps for the stroke. An array of numbers where
|
|
1971
|
-
* odd indices are dash lengths and even indices are gap lengths.
|
|
1972
|
-
* For example, `[10, 5]` creates 10px dashes with 5px gaps.
|
|
1973
|
-
* `[10, 5, 2, 5]` creates alternating 10px and 2px dashes with 5px gaps.
|
|
1974
|
-
* @example [
|
|
1975
|
-
* 10,
|
|
1976
|
-
* 5
|
|
1977
|
-
* ]
|
|
1978
|
-
*/
|
|
1979
|
-
dashArray?: number[];
|
|
1980
|
-
/**
|
|
1981
|
-
* @description Offset for the dash pattern. Positive values shift the pattern
|
|
1982
|
-
* forward along the path, negative values shift it backward.
|
|
1983
|
-
* @default 0
|
|
1984
|
-
* @example 5
|
|
1985
|
-
*/
|
|
1986
|
-
dashOffset?: number;
|
|
1987
1702
|
};
|
|
1988
|
-
/** @description
|
|
1989
|
-
|
|
1703
|
+
/** @description Text shadow properties. */
|
|
1704
|
+
RichTextShadow: {
|
|
1990
1705
|
/**
|
|
1991
|
-
* @description Horizontal offset of the shadow in pixels.
|
|
1992
|
-
* Positive values move the shadow to the right, negative to the left.
|
|
1706
|
+
* @description Horizontal offset of the shadow in pixels. Positive values move right, negative left.
|
|
1993
1707
|
* @default 0
|
|
1994
1708
|
* @example 4
|
|
1995
1709
|
*/
|
|
1996
1710
|
offsetX?: number;
|
|
1997
1711
|
/**
|
|
1998
|
-
* @description Vertical offset of the shadow in pixels.
|
|
1999
|
-
* Positive values move the shadow down, negative values move it up.
|
|
1712
|
+
* @description Vertical offset of the shadow in pixels. Positive values move down, negative up.
|
|
2000
1713
|
* @default 0
|
|
2001
1714
|
* @example 4
|
|
2002
1715
|
*/
|
|
@@ -2014,183 +1727,89 @@ export interface components {
|
|
|
2014
1727
|
*/
|
|
2015
1728
|
color?: string;
|
|
2016
1729
|
/**
|
|
2017
|
-
* @description The opacity of the shadow where
|
|
1730
|
+
* @description The opacity of the shadow where 1 is opaque and 0 is transparent.
|
|
2018
1731
|
* @default 0.5
|
|
2019
|
-
* @example 0.
|
|
1732
|
+
* @example 0.7
|
|
2020
1733
|
*/
|
|
2021
1734
|
opacity?: number;
|
|
2022
1735
|
};
|
|
2023
|
-
/** @description
|
|
2024
|
-
|
|
1736
|
+
/** @description Background styling properties for the text bounding box. */
|
|
1737
|
+
RichTextBackground: {
|
|
2025
1738
|
/**
|
|
2026
|
-
* @description The
|
|
2027
|
-
*
|
|
2028
|
-
* @default 0
|
|
2029
|
-
* @example 100
|
|
1739
|
+
* @description The background color using hexadecimal color notation.
|
|
1740
|
+
* @example #000000
|
|
2030
1741
|
*/
|
|
2031
|
-
|
|
1742
|
+
color?: string;
|
|
2032
1743
|
/**
|
|
2033
|
-
* @description The
|
|
2034
|
-
*
|
|
2035
|
-
* @
|
|
2036
|
-
* @example 100
|
|
1744
|
+
* @description The opacity of the background where 1 is opaque and 0 is transparent.
|
|
1745
|
+
* @default 1
|
|
1746
|
+
* @example 0.5
|
|
2037
1747
|
*/
|
|
2038
|
-
|
|
1748
|
+
opacity?: number;
|
|
2039
1749
|
/**
|
|
2040
|
-
* @description
|
|
2041
|
-
* negative values rotate counter-clockwise. Range: -360 to 360.
|
|
1750
|
+
* @description The border radius of the background box in pixels. Must be 0 or greater.
|
|
2042
1751
|
* @default 0
|
|
2043
|
-
* @example
|
|
1752
|
+
* @example 10
|
|
2044
1753
|
*/
|
|
2045
|
-
|
|
1754
|
+
borderRadius?: number;
|
|
1755
|
+
};
|
|
1756
|
+
/** @description Text alignment properties (horizontal and vertical). */
|
|
1757
|
+
RichTextAlignment: {
|
|
2046
1758
|
/**
|
|
2047
|
-
* @description
|
|
2048
|
-
*
|
|
2049
|
-
* @
|
|
2050
|
-
* @
|
|
1759
|
+
* @description The horizontal alignment of the text.
|
|
1760
|
+
* @default center
|
|
1761
|
+
* @example center
|
|
1762
|
+
* @enum {string}
|
|
2051
1763
|
*/
|
|
2052
|
-
|
|
1764
|
+
horizontal?: "left" | "center" | "right";
|
|
2053
1765
|
/**
|
|
2054
|
-
* @description The
|
|
2055
|
-
*
|
|
2056
|
-
* @
|
|
2057
|
-
* @
|
|
1766
|
+
* @description The vertical alignment of the text within the bounding box.
|
|
1767
|
+
* @default middle
|
|
1768
|
+
* @example middle
|
|
1769
|
+
* @enum {string}
|
|
2058
1770
|
*/
|
|
2059
|
-
|
|
1771
|
+
vertical?: "top" | "middle" | "bottom";
|
|
1772
|
+
};
|
|
1773
|
+
/** @description Animation properties for text entrance effects. */
|
|
1774
|
+
RichTextAnimation: {
|
|
2060
1775
|
/**
|
|
2061
|
-
* @description The
|
|
2062
|
-
*
|
|
2063
|
-
*
|
|
2064
|
-
*
|
|
1776
|
+
* @description The animation preset to apply. Available presets: <ul>
|
|
1777
|
+
* <li>`fadeIn` - fadeIn in animation</li>
|
|
1778
|
+
* <li>`slideIn` - slide in from a direction</li>
|
|
1779
|
+
* <li>`typewriter` - typewriter effect</li>
|
|
1780
|
+
* <li>`ascend` - ascend from a direction</li>
|
|
1781
|
+
* <li>`shift` - shift in from a direction</li>
|
|
1782
|
+
* <li>`movingLetters` - letters move in from a direction</li>
|
|
1783
|
+
* </ul>
|
|
1784
|
+
* @example shift
|
|
1785
|
+
* @enum {string}
|
|
2065
1786
|
*/
|
|
2066
|
-
|
|
2067
|
-
};
|
|
2068
|
-
/** @description In and out transitions for a clip - i.e. fade in and fade out */
|
|
2069
|
-
Transition: {
|
|
1787
|
+
preset: "fadeIn" | "slideIn" | "typewriter" | "ascend" | "shift" | "movingLetters";
|
|
2070
1788
|
/**
|
|
2071
|
-
* @description
|
|
2072
|
-
*
|
|
2073
|
-
* <li>`fade` - fade in</li>
|
|
2074
|
-
* <li>`reveal` - reveal from left to right</li>
|
|
2075
|
-
* <li>`wipeLeft` - fade across screen to the left</li>
|
|
2076
|
-
* <li>`wipeRight` - fade across screen to the right</li>
|
|
2077
|
-
* <li>`slideLeft` - move slightly left and fade in</li>
|
|
2078
|
-
* <li>`slideRight` - move slightly right and fade in</li>
|
|
2079
|
-
* <li>`slideUp` - move slightly up and fade in</li>
|
|
2080
|
-
* <li>`slideDown` - move slightly down and fade in</li>
|
|
2081
|
-
* <li>`carouselLeft` - slide in from right to left</li>
|
|
2082
|
-
* <li>`carouselRight` - slide in from left to right</li>
|
|
2083
|
-
* <li>`carouselUp` - slide in from bottom to top</li>
|
|
2084
|
-
* <li>`carouselDown` - slide in from top to bottom</li>
|
|
2085
|
-
* <li>`shuffleTopRight` - rotate in from top right</li>
|
|
2086
|
-
* <li>`shuffleRightTop` - rotate in from right top</li>
|
|
2087
|
-
* <li>`shuffleRightBottom` - rotate in from right bottom</li>
|
|
2088
|
-
* <li>`shuffleBottomRight` - rotate in from bottom right</li>
|
|
2089
|
-
* <li>`shuffleBottomLeft` - rotate in from bottom left</li>
|
|
2090
|
-
* <li>`shuffleLeftBottom` - rotate in from left bottom</li>
|
|
2091
|
-
* <li>`shuffleLeftTop` - rotate in from left top</li>
|
|
2092
|
-
* <li>`shuffleTopLeft` - rotate in from top left</li>
|
|
2093
|
-
* <li>`zoom` - fast zoom in</li>
|
|
2094
|
-
* </ul>
|
|
2095
|
-
* The transition speed can also be controlled by appending `Fast` or `Slow` to the transition, e.g. `fadeFast` or `CarouselLeftSlow`.
|
|
2096
|
-
* @enum {string}
|
|
1789
|
+
* @description Override animation duration in seconds. Must be between 0.1 and 30 seconds.
|
|
1790
|
+
* @example 2
|
|
2097
1791
|
*/
|
|
2098
|
-
|
|
1792
|
+
duration?: number;
|
|
2099
1793
|
/**
|
|
2100
|
-
* @description
|
|
2101
|
-
*
|
|
2102
|
-
* <li>`fade` - fade out</li>
|
|
2103
|
-
* <li>`reveal` - reveal from right to left</li>
|
|
2104
|
-
* <li>`wipeLeft` - fade across screen to the left</li>
|
|
2105
|
-
* <li>`wipeRight` - fade across screen to the right</li>
|
|
2106
|
-
* <li>`slideLeft` - move slightly left and fade out</li>
|
|
2107
|
-
* <li>`slideRight` - move slightly right and fade out</li>
|
|
2108
|
-
* <li>`slideUp` - move slightly up and fade out</li>
|
|
2109
|
-
* <li>`slideDown` - move slightly down and fade out</li>
|
|
2110
|
-
* <li>`carouselLeft` - slide out from right to left</li>
|
|
2111
|
-
* <li>`carouselRight` - slide out from left to right</li>
|
|
2112
|
-
* <li>`carouselUp` - slide out from bottom to top</li>
|
|
2113
|
-
* <li>`carouselDown` - slide out from top to bottom</li>
|
|
2114
|
-
* <li>`shuffleTopRight` - rotate out from top right</li>
|
|
2115
|
-
* <li>`shuffleRightTop` - rotate out from right top</li>
|
|
2116
|
-
* <li>`shuffleRightBottom` - rotate out from right bottom</li>
|
|
2117
|
-
* <li>`shuffleBottomRight` - rotate out from bottom right</li>
|
|
2118
|
-
* <li>`shuffleBottomLeft` - rotate out from bottom left</li>
|
|
2119
|
-
* <li>`shuffleLeftBottom` - rotate out from left bottom</li>
|
|
2120
|
-
* <li>`shuffleLeftTop` - rotate out from left top</li>
|
|
2121
|
-
* <li>`shuffleTopLeft` - rotate out from top left</li>
|
|
2122
|
-
* <li>`zoom` - fast zoom out</li>
|
|
2123
|
-
* </ul>
|
|
2124
|
-
* The transition speed can also be controlled by appending `Fast` or `Slow` to the transition, e.g. `fadeFast` or `CarouselLeftSlow`.
|
|
1794
|
+
* @description Animation style - animate by character or by word. Only applicable for typewriter and shift animations.
|
|
1795
|
+
* @example character
|
|
2125
1796
|
* @enum {string}
|
|
2126
1797
|
*/
|
|
2127
|
-
|
|
2128
|
-
};
|
|
2129
|
-
/** @description Offsets the position of an asset horizontally or vertically by a relative distance. */
|
|
2130
|
-
Offset: {
|
|
2131
|
-
/** @description Offset an asset on the horizontal axis (left or right). Use a number or an array of [Tween](./#tocs_tween) objects to create a custom animation. */
|
|
2132
|
-
x?: number | components["schemas"]["Tween"][];
|
|
2133
|
-
/** @description Offset an asset on the vertical axis (up or down). Use a number or an array of [Tween](./#tocs_tween) objects to create a custom animation. */
|
|
2134
|
-
y?: number | components["schemas"]["Tween"][];
|
|
2135
|
-
};
|
|
2136
|
-
/** @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. */
|
|
2137
|
-
Crop: {
|
|
2138
|
-
/**
|
|
2139
|
-
* Format: float
|
|
2140
|
-
* @description Crop from the top of the asset
|
|
2141
|
-
* @example 0.15
|
|
2142
|
-
*/
|
|
2143
|
-
top?: number;
|
|
2144
|
-
/**
|
|
2145
|
-
* Format: float
|
|
2146
|
-
* @description Crop from the bottom of the asset
|
|
2147
|
-
* @example 0.15
|
|
2148
|
-
*/
|
|
2149
|
-
bottom?: number;
|
|
2150
|
-
/**
|
|
2151
|
-
* Format: float
|
|
2152
|
-
* @description Crop from the left of the asset
|
|
2153
|
-
*/
|
|
2154
|
-
left?: number;
|
|
2155
|
-
/**
|
|
2156
|
-
* Format: float
|
|
2157
|
-
* @description Crop from the left of the asset
|
|
2158
|
-
*/
|
|
2159
|
-
right?: number;
|
|
2160
|
-
};
|
|
2161
|
-
/** @description Apply one or more transformations to a clip. Transformations alter the visual properties of a clip and can be combined to create new shapes and effects. */
|
|
2162
|
-
Transformation: {
|
|
2163
|
-
rotate?: components["schemas"]["RotateTransformation"];
|
|
2164
|
-
skew?: components["schemas"]["SkewTransformation"];
|
|
2165
|
-
flip?: components["schemas"]["FlipTransformation"];
|
|
2166
|
-
};
|
|
2167
|
-
/** @description Rotate a clip by the specified angle in degrees. Rotation origin is set based on the clips `position`. */
|
|
2168
|
-
RotateTransformation: {
|
|
2169
|
-
/** @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. */
|
|
2170
|
-
angle?: number | components["schemas"]["Tween"][];
|
|
2171
|
-
};
|
|
2172
|
-
/** @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. */
|
|
2173
|
-
SkewTransformation: {
|
|
2174
|
-
/** @description Skew the clip along it's x axis. */
|
|
2175
|
-
x?: number | components["schemas"]["Tween"][];
|
|
2176
|
-
/** @description Skew the clip along it's y axis. */
|
|
2177
|
-
y?: number | components["schemas"]["Tween"][];
|
|
2178
|
-
};
|
|
2179
|
-
/** @description Flip a clip vertically or horizontally. Acts as a mirror effect of the clip along the selected plane. */
|
|
2180
|
-
FlipTransformation: {
|
|
2181
|
-
/**
|
|
2182
|
-
* @description Flip a clip horizontally.
|
|
2183
|
-
* @example true
|
|
2184
|
-
*/
|
|
2185
|
-
horizontal?: boolean;
|
|
1798
|
+
style?: "character" | "word";
|
|
2186
1799
|
/**
|
|
2187
|
-
* @description
|
|
2188
|
-
*
|
|
1800
|
+
* @description Direction for directional animations. Required for slideIn, ascend, shift, and movingLetters presets. <ul>
|
|
1801
|
+
* <li>`ascend` - supports: up, down</li>
|
|
1802
|
+
* <li>`shift` - supports: left, right, up, down</li>
|
|
1803
|
+
* <li>`slideIn` - supports: left, right, up, down</li>
|
|
1804
|
+
* <li>`movingLetters` - supports: left, right, up, down</li>
|
|
1805
|
+
* </ul>
|
|
1806
|
+
* @example up
|
|
1807
|
+
* @enum {string}
|
|
2189
1808
|
*/
|
|
2190
|
-
|
|
1809
|
+
direction?: "left" | "right" | "up" | "down";
|
|
2191
1810
|
};
|
|
2192
|
-
/** @description Font properties for text. */
|
|
2193
|
-
|
|
1811
|
+
/** @description Font properties for captions text. */
|
|
1812
|
+
CaptionFont: {
|
|
2194
1813
|
/**
|
|
2195
1814
|
* @description The font family name. This must be Family name embedded in the font, i.e. "Open Sans".
|
|
2196
1815
|
* @example Open Sans
|
|
@@ -2211,1817 +1830,806 @@ export interface components {
|
|
|
2211
1830
|
* @example 24
|
|
2212
1831
|
*/
|
|
2213
1832
|
size?: number;
|
|
2214
|
-
/**
|
|
2215
|
-
* @description The weight of the font. 100 is lightest, 900 is heaviest (boldest).
|
|
2216
|
-
* @example 400
|
|
2217
|
-
*/
|
|
2218
|
-
weight?: number;
|
|
2219
1833
|
/**
|
|
2220
1834
|
* @description The line height of the font as a ratio of the font size.
|
|
2221
1835
|
* @example 0.85
|
|
2222
1836
|
*/
|
|
2223
1837
|
lineHeight?: number;
|
|
1838
|
+
/**
|
|
1839
|
+
* @description The stroke color of the font using hexadecimal color notation.
|
|
1840
|
+
* @example #ff6600
|
|
1841
|
+
*/
|
|
1842
|
+
stroke?: string;
|
|
1843
|
+
/**
|
|
1844
|
+
* @description The width of the stroke in pixels.
|
|
1845
|
+
* @example 0.8
|
|
1846
|
+
*/
|
|
1847
|
+
strokeWidth?: number;
|
|
2224
1848
|
};
|
|
2225
|
-
/** @description Displays a background box behind the text. */
|
|
2226
|
-
|
|
1849
|
+
/** @description Displays a background box behind the caption text. */
|
|
1850
|
+
CaptionBackground: {
|
|
2227
1851
|
/**
|
|
2228
1852
|
* @description The background color using hexadecimal color notation.
|
|
2229
1853
|
* @example #000000
|
|
2230
1854
|
*/
|
|
2231
1855
|
color?: string;
|
|
2232
1856
|
/**
|
|
2233
|
-
* @description The opacity of the background
|
|
2234
|
-
* @example 0.
|
|
1857
|
+
* @description The opacity of the background color.
|
|
1858
|
+
* @example 0.4
|
|
2235
1859
|
*/
|
|
2236
1860
|
opacity?: number;
|
|
2237
1861
|
/**
|
|
2238
|
-
* @description
|
|
2239
|
-
* @example
|
|
1862
|
+
* @description The padding inside the background box in pixels.
|
|
1863
|
+
* @example 30
|
|
2240
1864
|
*/
|
|
2241
1865
|
padding?: number;
|
|
2242
1866
|
/**
|
|
2243
|
-
* @description The border radius of the background box in pixels
|
|
2244
|
-
* @example
|
|
1867
|
+
* @description The border radius of the background box in pixels.
|
|
1868
|
+
* @example 18
|
|
2245
1869
|
*/
|
|
2246
1870
|
borderRadius?: number;
|
|
2247
1871
|
};
|
|
2248
|
-
/** @description
|
|
2249
|
-
|
|
1872
|
+
/** @description The margin properties for captions. Margins are used to position the caption text and background on the screen. */
|
|
1873
|
+
CaptionMargin: {
|
|
2250
1874
|
/**
|
|
2251
|
-
* @description The
|
|
2252
|
-
*
|
|
2253
|
-
* <li>`center`</li>
|
|
2254
|
-
* <li>`right`</li>
|
|
2255
|
-
* </ul>
|
|
2256
|
-
* @example center
|
|
2257
|
-
* @enum {string}
|
|
1875
|
+
* @description The margin above the text. Pushes captions down the screen.
|
|
1876
|
+
* @example 0.25
|
|
2258
1877
|
*/
|
|
2259
|
-
|
|
1878
|
+
top?: number;
|
|
2260
1879
|
/**
|
|
2261
|
-
* @description The
|
|
2262
|
-
*
|
|
2263
|
-
* <li>`center`</li>
|
|
2264
|
-
* <li>`bottom`</li>
|
|
2265
|
-
* </ul>
|
|
2266
|
-
* @example center
|
|
2267
|
-
* @enum {string}
|
|
1880
|
+
* @description The margin to the left of the text. Pushes captions to the right.
|
|
1881
|
+
* @example 0.05
|
|
2268
1882
|
*/
|
|
2269
|
-
|
|
2270
|
-
};
|
|
2271
|
-
/** @description Font properties for rich text. */
|
|
2272
|
-
RichTextFont: {
|
|
1883
|
+
left?: number;
|
|
2273
1884
|
/**
|
|
2274
|
-
* @description The
|
|
2275
|
-
* @
|
|
2276
|
-
* @example Open Sans
|
|
1885
|
+
* @description The margin to the right of the text. Pushes captions to the left.
|
|
1886
|
+
* @example 0.45
|
|
2277
1887
|
*/
|
|
2278
|
-
|
|
1888
|
+
right?: number;
|
|
1889
|
+
};
|
|
1890
|
+
/** @description Chroma key is a technique that replaces a specific color in a video with a different background image or video, enabling seamless integration of diverse environments. Commonly used for green screen and blue screen effects. */
|
|
1891
|
+
ChromaKey: {
|
|
2279
1892
|
/**
|
|
2280
|
-
* @description The
|
|
2281
|
-
* @
|
|
2282
|
-
* @example 48
|
|
1893
|
+
* @description The chroma key color as a hex value. Use green (#00b140) for green screens or blue (#0000FF) for blue screens. Any valid hex color can be used as the key color.
|
|
1894
|
+
* @example #00b140
|
|
2283
1895
|
*/
|
|
2284
|
-
|
|
1896
|
+
color: string;
|
|
2285
1897
|
/**
|
|
2286
|
-
* @description
|
|
2287
|
-
* @
|
|
1898
|
+
* @description Pixels within this distance from the key color are eliminated by setting their alpha values to zero.
|
|
1899
|
+
* @example 150
|
|
2288
1900
|
*/
|
|
2289
|
-
|
|
1901
|
+
threshold?: number;
|
|
2290
1902
|
/**
|
|
2291
|
-
* @description
|
|
2292
|
-
* @
|
|
2293
|
-
* @example #ff0000
|
|
1903
|
+
* @description Pixels within the halo distance from the threshold boundary are given an increasing alpha value based on their distance from the threshold.
|
|
1904
|
+
* @example 100
|
|
2294
1905
|
*/
|
|
2295
|
-
|
|
1906
|
+
halo?: number;
|
|
1907
|
+
};
|
|
1908
|
+
/**
|
|
1909
|
+
* @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:
|
|
1910
|
+
* <ul>
|
|
1911
|
+
* <li>Opacity - animate the transparency of a clip.</li>
|
|
1912
|
+
* <li>Offset - animate the x and y position of a clip.</li>
|
|
1913
|
+
* <li>Rotation - animate the rotation of a clip.</li>
|
|
1914
|
+
* <li>Skew - animate the horizontal and vertical shearing effect.</li>
|
|
1915
|
+
* <li>Volume - animate the audio volume of a clip.</li>
|
|
1916
|
+
* </ul>
|
|
1917
|
+
*/
|
|
1918
|
+
Tween: {
|
|
2296
1919
|
/**
|
|
2297
|
-
* @description The
|
|
2298
|
-
* @
|
|
2299
|
-
* @example 0.9
|
|
1920
|
+
* @description The initial property value at the start of the animation.
|
|
1921
|
+
* @example 0
|
|
2300
1922
|
*/
|
|
2301
|
-
|
|
1923
|
+
from?: unknown;
|
|
2302
1924
|
/**
|
|
2303
|
-
* @description The
|
|
2304
|
-
* @example
|
|
1925
|
+
* @description The final property value at the end of the animation.
|
|
1926
|
+
* @example 1
|
|
2305
1927
|
*/
|
|
2306
|
-
|
|
2307
|
-
/** @description Text stroke (outline) properties. */
|
|
2308
|
-
stroke?: components["schemas"]["RichTextStroke"];
|
|
2309
|
-
};
|
|
2310
|
-
/** @description Text style properties including spacing, line height, and transformations. */
|
|
2311
|
-
RichTextStyle: {
|
|
1928
|
+
to?: unknown;
|
|
2312
1929
|
/**
|
|
2313
|
-
* @description
|
|
2314
|
-
* @
|
|
2315
|
-
* @example 2
|
|
1930
|
+
* @description The time in seconds when the animation starts, relative to the clip, not the timeline.
|
|
1931
|
+
* @example 0
|
|
2316
1932
|
*/
|
|
2317
|
-
|
|
1933
|
+
start?: number;
|
|
2318
1934
|
/**
|
|
2319
|
-
* @description
|
|
2320
|
-
* @
|
|
2321
|
-
* @example 10
|
|
2322
|
-
*/
|
|
2323
|
-
wordSpacing?: number;
|
|
2324
|
-
/**
|
|
2325
|
-
* @description The line height as a multiplier of the font size. Must be between 0 and 10.
|
|
2326
|
-
* @default 1.2
|
|
2327
|
-
* @example 1.5
|
|
1935
|
+
* @description The duration of the animation in seconds.
|
|
1936
|
+
* @example 3
|
|
2328
1937
|
*/
|
|
2329
|
-
|
|
1938
|
+
length?: number;
|
|
2330
1939
|
/**
|
|
2331
|
-
* @description
|
|
2332
|
-
*
|
|
2333
|
-
*
|
|
1940
|
+
* @description The interpolation method to use for the animation. Available options are: <ul>
|
|
1941
|
+
* <li>`linear` - a linear interpolation between the start and end values.</li>
|
|
1942
|
+
* <li>`bezier` - a bezier curve interpolation between the start and end values.</li>
|
|
1943
|
+
* <li>`constant` - an interpolation where the property instantly jumps from the start to the end value, without any gradual transition.</li>
|
|
1944
|
+
* </ul>
|
|
1945
|
+
* @example bezier
|
|
2334
1946
|
* @enum {string}
|
|
2335
1947
|
*/
|
|
2336
|
-
|
|
1948
|
+
interpolation?: "linear" | "bezier" | "constant";
|
|
2337
1949
|
/**
|
|
2338
|
-
* @description
|
|
2339
|
-
* @default none
|
|
2340
|
-
* @example underline
|
|
1950
|
+
* @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`.
|
|
2341
1951
|
* @enum {string}
|
|
2342
1952
|
*/
|
|
2343
|
-
|
|
2344
|
-
/** @description Gradient fill for text instead of solid color. */
|
|
2345
|
-
gradient?: components["schemas"]["RichTextGradient"];
|
|
1953
|
+
easing?: "ease" | "easeIn" | "easeOut" | "easeInOut" | "easeInQuad" | "easeInCubic" | "easeInQuart" | "easeInQuint" | "easeInSine" | "easeInExpo" | "easeInCirc" | "easeInBack" | "easeOutQuad" | "easeOutCubic" | "easeOutQuart" | "easeOutQuint" | "easeOutSine" | "easeOutExpo" | "easeOutCirc" | "easeOutBack" | "easeInOutQuad" | "easeInOutCubic" | "easeInOutQuart" | "easeInOutQuint" | "easeInOutSine" | "easeInOutExpo" | "easeInOutCirc" | "easeInOutBack";
|
|
2346
1954
|
};
|
|
2347
|
-
/** @description
|
|
2348
|
-
|
|
1955
|
+
/** @description A merge field consists of a key; `find`, and a value; `replace`. Merge fields can be used to replace placeholders within the JSON edit to create re-usable templates. Placeholders should be a string with double brace delimiters, i.e. `"{{NAME}}"`. A placeholder can be used for any value within the JSON edit. */
|
|
1956
|
+
MergeField: {
|
|
2349
1957
|
/**
|
|
2350
|
-
* @description The
|
|
2351
|
-
* @
|
|
2352
|
-
* @example linear
|
|
2353
|
-
* @enum {string}
|
|
1958
|
+
* @description The string to find <u>without</u> delimiters.
|
|
1959
|
+
* @example NAME
|
|
2354
1960
|
*/
|
|
2355
|
-
|
|
1961
|
+
find: string;
|
|
2356
1962
|
/**
|
|
2357
|
-
* @description The
|
|
2358
|
-
* @
|
|
2359
|
-
* @example 45
|
|
1963
|
+
* @description The replacement value. The replacement can be any valid JSON type - string, boolean, number, etc...
|
|
1964
|
+
* @example Jane
|
|
2360
1965
|
*/
|
|
2361
|
-
|
|
2362
|
-
/** @description Gradient color stops. Must have at least 2 stops. */
|
|
2363
|
-
stops: {
|
|
2364
|
-
/**
|
|
2365
|
-
* @description Position of the color stop between 0 (start) and 1 (end).
|
|
2366
|
-
* @example 0.5
|
|
2367
|
-
*/
|
|
2368
|
-
offset: number;
|
|
2369
|
-
/**
|
|
2370
|
-
* @description Color at this stop using hexadecimal color notation.
|
|
2371
|
-
* @example #ff0000
|
|
2372
|
-
*/
|
|
2373
|
-
color: string;
|
|
2374
|
-
}[];
|
|
1966
|
+
replace: unknown;
|
|
2375
1967
|
};
|
|
2376
|
-
/** @description
|
|
2377
|
-
|
|
1968
|
+
/** @description The output format, render range and type of media to generate. */
|
|
1969
|
+
Output: {
|
|
2378
1970
|
/**
|
|
2379
|
-
* @description The
|
|
2380
|
-
*
|
|
2381
|
-
*
|
|
1971
|
+
* @description The output format and type of media file to generate. <ul>
|
|
1972
|
+
* <li>`mp4` - mp4 video file</li>
|
|
1973
|
+
* <li>`gif` - animated gif</li>
|
|
1974
|
+
* <li>`jpg` - jpg image file</li>
|
|
1975
|
+
* <li>`png` - png image file</li>
|
|
1976
|
+
* <li>`bmp` - bmp image file</li>
|
|
1977
|
+
* <li>`mp3` - mp3 audio file (audio only)</li>
|
|
1978
|
+
* </ul>
|
|
1979
|
+
* @example mp4
|
|
1980
|
+
* @enum {string}
|
|
2382
1981
|
*/
|
|
2383
|
-
|
|
1982
|
+
format: "mp4" | "gif" | "mp3" | "jpg" | "png" | "bmp";
|
|
2384
1983
|
/**
|
|
2385
|
-
* @description The
|
|
2386
|
-
* @
|
|
2387
|
-
* @
|
|
1984
|
+
* @description The preset output resolution of the video or image. For custom sizes use the `size` property. <ul>
|
|
1985
|
+
* <li>`preview` - 512px x 288px @ 15fps</li>
|
|
1986
|
+
* <li>`mobile` - 640px x 360px @ 25fps</li>
|
|
1987
|
+
* <li>`sd` - 1024px x 576px @ 25fps</li>
|
|
1988
|
+
* <li>`hd` - 1280px x 720px @ 25fps</li>
|
|
1989
|
+
* <li>`1080` - 1920px x 1080px @ 25fps</li>
|
|
1990
|
+
* <li>`4k` - 3840px x 2160px @ 25fps</li>
|
|
1991
|
+
* </ul>
|
|
1992
|
+
* @example hd
|
|
1993
|
+
* @enum {string}
|
|
2388
1994
|
*/
|
|
2389
|
-
|
|
1995
|
+
resolution?: "preview" | "mobile" | "sd" | "hd" | "1080" | "4k";
|
|
2390
1996
|
/**
|
|
2391
|
-
* @description The
|
|
2392
|
-
*
|
|
2393
|
-
*
|
|
1997
|
+
* @description The aspect ratio (shape) of the video or image. Useful for social media output formats. Options are: <ul>
|
|
1998
|
+
* <li>`16:9` (default) - regular landscape/horizontal aspect ratio</li>
|
|
1999
|
+
* <li>`9:16` - vertical/portrait aspect ratio</li>
|
|
2000
|
+
* <li>`1:1` - square aspect ratio</li>
|
|
2001
|
+
* <li>`4:5` - short vertical/portrait aspect ratio</li>
|
|
2002
|
+
* <li>`4:3` - legacy TV aspect ratio</li>
|
|
2003
|
+
* </ul>
|
|
2004
|
+
* @example 16:9
|
|
2005
|
+
* @enum {string}
|
|
2394
2006
|
*/
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
/** @description Text shadow properties. */
|
|
2398
|
-
RichTextShadow: {
|
|
2007
|
+
aspectRatio?: "16:9" | "9:16" | "1:1" | "4:5" | "4:3";
|
|
2008
|
+
size?: components["schemas"]["Size"];
|
|
2399
2009
|
/**
|
|
2400
|
-
* @description
|
|
2401
|
-
*
|
|
2402
|
-
*
|
|
2010
|
+
* @description Override the default frames per second. Useful for when the source footage is recorded at 30fps, i.e. on mobile devices. Lower frame rates can be used to add cinematic quality (24fps) or to create smaller file size/faster render times or animated gifs (12 or 15fps). Default is 25fps. <ul>
|
|
2011
|
+
* <li>`12` - 12fps</li>
|
|
2012
|
+
* <li>`15` - 15fps</li>
|
|
2013
|
+
* <li>`24` - 24fps</li>
|
|
2014
|
+
* <li>`23.976` - 23.976fps</li>
|
|
2015
|
+
* <li>`25` (default) - 25fps</li>
|
|
2016
|
+
* <li>`29.97` - 29.97fps</li>
|
|
2017
|
+
* <li>`30` - 30fps</li>
|
|
2018
|
+
* <li>`48` - 48fps</li>
|
|
2019
|
+
* <li>`50` - 50fps</li>
|
|
2020
|
+
* <li>`59.94` - 59.94fps</li>
|
|
2021
|
+
* <li>`60` - 60fps</li>
|
|
2022
|
+
* </ul>
|
|
2023
|
+
* @example 25
|
|
2024
|
+
* @enum {number}
|
|
2403
2025
|
*/
|
|
2404
|
-
|
|
2026
|
+
fps?: 12 | 15 | 23.976 | 24 | 25 | 29.97 | 30 | 48 | 50 | 59.94 | 60;
|
|
2405
2027
|
/**
|
|
2406
|
-
* @description
|
|
2407
|
-
* @
|
|
2408
|
-
* @
|
|
2028
|
+
* @description Override the resolution and scale the video or image to render at a different size. When using scaleTo the asset should be edited at the resolution dimensions, i.e. use font sizes that look best at HD, then use scaleTo to output the file at SD and the text will be scaled to the correct size. This is useful if you want to create multiple asset sizes. <ul>
|
|
2029
|
+
* <li>`preview` - 512px x 288px @ 15fps</li>
|
|
2030
|
+
* <li>`mobile` - 640px x 360px @ 25fps</li>
|
|
2031
|
+
* <li>`sd` - 1024px x 576px @25fps</li>
|
|
2032
|
+
* <li>`hd` - 1280px x 720px @25fps</li>
|
|
2033
|
+
* <li>`1080` - 1920px x 1080px @25fps</li>
|
|
2034
|
+
* </ul>
|
|
2035
|
+
* @enum {string}
|
|
2409
2036
|
*/
|
|
2410
|
-
|
|
2037
|
+
scaleTo?: "preview" | "mobile" | "sd" | "hd" | "1080" | "4k";
|
|
2411
2038
|
/**
|
|
2412
|
-
* @description
|
|
2413
|
-
*
|
|
2414
|
-
*
|
|
2039
|
+
* @description Adjust the output quality of the video, image or audio. Adjusting quality affects render speed, download speeds and storage requirements due to file size. The default `medium` provides the most optimized choice for all three factors. <ul>
|
|
2040
|
+
* <li>`verylow` - reduced quality, smallest file size</li>
|
|
2041
|
+
* <li>`low` - slightly reduced quality, smaller file size</li>
|
|
2042
|
+
* <li>`medium` (default) - optimized quality, render speeds and file size</li>
|
|
2043
|
+
* <li>`high` - slightly increased quality, larger file size</li>
|
|
2044
|
+
* <li>`veryhigh` - highest quality, largest file size</li>
|
|
2045
|
+
* </ul>
|
|
2046
|
+
* @example medium
|
|
2047
|
+
* @enum {string}
|
|
2415
2048
|
*/
|
|
2416
|
-
|
|
2049
|
+
quality?: "verylow" | "low" | "medium" | "high" | "veryhigh";
|
|
2417
2050
|
/**
|
|
2418
|
-
* @description
|
|
2419
|
-
* @
|
|
2420
|
-
* @example #000000
|
|
2051
|
+
* @description Loop settings for gif files. Set to `true` to loop, `false` to play only once.
|
|
2052
|
+
* @example true
|
|
2421
2053
|
*/
|
|
2422
|
-
|
|
2054
|
+
repeat?: boolean;
|
|
2423
2055
|
/**
|
|
2424
|
-
* @description
|
|
2425
|
-
* @
|
|
2426
|
-
* @example 0.7
|
|
2056
|
+
* @description Mute the audio track of the output video. Set to `true` to mute, `false` to un-mute.
|
|
2057
|
+
* @example false
|
|
2427
2058
|
*/
|
|
2428
|
-
|
|
2059
|
+
mute?: boolean;
|
|
2060
|
+
range?: components["schemas"]["Range"];
|
|
2061
|
+
/** @description Generate a poster image from a specific point on the timeline. */
|
|
2062
|
+
poster?: components["schemas"]["Poster"];
|
|
2063
|
+
/** @description Generate a thumbnail image from a specific point on the timeline. */
|
|
2064
|
+
thumbnail?: components["schemas"]["Thumbnail"];
|
|
2065
|
+
/** @description Specify the storage locations and hosting services to send rendered videos to. */
|
|
2066
|
+
destinations?: components["schemas"]["Destinations"][];
|
|
2429
2067
|
};
|
|
2430
|
-
/** @description
|
|
2431
|
-
|
|
2432
|
-
/**
|
|
2433
|
-
* @description The background color using hexadecimal color notation.
|
|
2434
|
-
* @example #000000
|
|
2435
|
-
*/
|
|
2436
|
-
color?: string;
|
|
2068
|
+
/** @description Set a custom size for a video or image in pixels. When using a custom size omit the `resolution` and `aspectRatio`. Custom sizes must be divisible by 2 based on the encoder specifications. */
|
|
2069
|
+
Size: {
|
|
2437
2070
|
/**
|
|
2438
|
-
* @description
|
|
2439
|
-
* @
|
|
2440
|
-
* @example 0.5
|
|
2071
|
+
* @description Set a custom width for the video or image file in pixels. Value must be divisible by 2. Maximum video width is 1920px, maximum image width is 4096px.
|
|
2072
|
+
* @example 1200
|
|
2441
2073
|
*/
|
|
2442
|
-
|
|
2074
|
+
width?: number;
|
|
2443
2075
|
/**
|
|
2444
|
-
* @description
|
|
2445
|
-
* @
|
|
2446
|
-
* @example 10
|
|
2076
|
+
* @description Set a custom height for the video or image file in pixels. Value must be divisible by 2. Maximum video height is 1920px, maximum image height is 4096px.
|
|
2077
|
+
* @example 800
|
|
2447
2078
|
*/
|
|
2448
|
-
|
|
2079
|
+
height?: number;
|
|
2449
2080
|
};
|
|
2450
|
-
/** @description
|
|
2451
|
-
|
|
2081
|
+
/** @description Specify a time range to render, i.e. to render only a portion of a video or audio file. Omit this setting to export the entire video. Range can also be used to render a frame at a specific time point - setting a range and output format as `jpg` will output a single frame image at the range `start` point. */
|
|
2082
|
+
Range: {
|
|
2452
2083
|
/**
|
|
2453
|
-
*
|
|
2454
|
-
* @
|
|
2455
|
-
* @example
|
|
2456
|
-
* @enum {string}
|
|
2084
|
+
* Format: float
|
|
2085
|
+
* @description The point on the timeline, in seconds, to start the render from - i.e. start at second 3.
|
|
2086
|
+
* @example 3
|
|
2457
2087
|
*/
|
|
2458
|
-
|
|
2088
|
+
start?: number;
|
|
2459
2089
|
/**
|
|
2460
|
-
*
|
|
2461
|
-
* @
|
|
2462
|
-
* @example
|
|
2463
|
-
* @enum {string}
|
|
2090
|
+
* Format: float
|
|
2091
|
+
* @description The length of the portion of the video or audio to render - i.e. render 6 seconds of the video.
|
|
2092
|
+
* @example 6
|
|
2464
2093
|
*/
|
|
2465
|
-
|
|
2094
|
+
length?: number;
|
|
2466
2095
|
};
|
|
2467
|
-
/** @description
|
|
2468
|
-
|
|
2096
|
+
/** @description Generate a poster image for the video at a specific point from the timeline. The poster image size will match the size of the output video. */
|
|
2097
|
+
Poster: {
|
|
2469
2098
|
/**
|
|
2470
|
-
* @description The
|
|
2471
|
-
*
|
|
2472
|
-
* <li>`slideIn` - slide in from a direction</li>
|
|
2473
|
-
* <li>`typewriter` - typewriter effect</li>
|
|
2474
|
-
* <li>`ascend` - ascend from a direction</li>
|
|
2475
|
-
* <li>`shift` - shift in from a direction</li>
|
|
2476
|
-
* <li>`movingLetters` - letters move in from a direction</li>
|
|
2477
|
-
* </ul>
|
|
2478
|
-
* @example shift
|
|
2479
|
-
* @enum {string}
|
|
2099
|
+
* @description The point on the timeline in seconds to capture a single frame to use as the poster image.
|
|
2100
|
+
* @example 1
|
|
2480
2101
|
*/
|
|
2481
|
-
|
|
2102
|
+
capture: number;
|
|
2103
|
+
};
|
|
2104
|
+
/** @description Generate a thumbnail image for the video or image at a specific point from the timeline. */
|
|
2105
|
+
Thumbnail: {
|
|
2482
2106
|
/**
|
|
2483
|
-
* @description
|
|
2484
|
-
* @example
|
|
2107
|
+
* @description The point on the timeline in seconds to capture a single frame to use as the thumbnail image.
|
|
2108
|
+
* @example 1
|
|
2485
2109
|
*/
|
|
2486
|
-
|
|
2110
|
+
capture: number;
|
|
2487
2111
|
/**
|
|
2488
|
-
* @description
|
|
2489
|
-
* @example
|
|
2490
|
-
* @enum {string}
|
|
2491
|
-
*/
|
|
2492
|
-
style?: "character" | "word";
|
|
2493
|
-
/**
|
|
2494
|
-
* @description Direction for directional animations. Required for slideIn, ascend, shift, and movingLetters presets. <ul>
|
|
2495
|
-
* <li>`ascend` - supports: up, down</li>
|
|
2496
|
-
* <li>`shift` - supports: left, right, up, down</li>
|
|
2497
|
-
* <li>`slideIn` - supports: left, right, up, down</li>
|
|
2498
|
-
* <li>`movingLetters` - supports: left, right, up, down</li>
|
|
2499
|
-
* </ul>
|
|
2500
|
-
* @example up
|
|
2501
|
-
* @enum {string}
|
|
2502
|
-
*/
|
|
2503
|
-
direction?: "left" | "right" | "up" | "down";
|
|
2504
|
-
};
|
|
2505
|
-
/** @description Font properties for captions text. */
|
|
2506
|
-
CaptionFont: {
|
|
2507
|
-
/**
|
|
2508
|
-
* @description The font family name. This must be Family name embedded in the font, i.e. "Open Sans".
|
|
2509
|
-
* @example Open Sans
|
|
2510
|
-
*/
|
|
2511
|
-
family?: string;
|
|
2512
|
-
/**
|
|
2513
|
-
* @description The text color using hexadecimal color notation.
|
|
2514
|
-
* @example #ffffff
|
|
2515
|
-
*/
|
|
2516
|
-
color?: string;
|
|
2517
|
-
/**
|
|
2518
|
-
* @description The opacity of the text where 1 is opaque and 0 is transparent.
|
|
2519
|
-
* @example 0.8
|
|
2520
|
-
*/
|
|
2521
|
-
opacity?: number;
|
|
2522
|
-
/**
|
|
2523
|
-
* @description The size of the font in pixels (px).
|
|
2524
|
-
* @example 24
|
|
2525
|
-
*/
|
|
2526
|
-
size?: number;
|
|
2527
|
-
/**
|
|
2528
|
-
* @description The line height of the font as a ratio of the font size.
|
|
2529
|
-
* @example 0.85
|
|
2530
|
-
*/
|
|
2531
|
-
lineHeight?: number;
|
|
2532
|
-
/**
|
|
2533
|
-
* @description The stroke color of the font using hexadecimal color notation.
|
|
2534
|
-
* @example #ff6600
|
|
2535
|
-
*/
|
|
2536
|
-
stroke?: string;
|
|
2537
|
-
/**
|
|
2538
|
-
* @description The width of the stroke in pixels.
|
|
2539
|
-
* @example 0.8
|
|
2540
|
-
*/
|
|
2541
|
-
strokeWidth?: number;
|
|
2542
|
-
};
|
|
2543
|
-
/** @description Displays a background box behind the caption text. */
|
|
2544
|
-
CaptionBackground: {
|
|
2545
|
-
/**
|
|
2546
|
-
* @description The background color using hexadecimal color notation.
|
|
2547
|
-
* @example #000000
|
|
2548
|
-
*/
|
|
2549
|
-
color?: string;
|
|
2550
|
-
/**
|
|
2551
|
-
* @description The opacity of the background color.
|
|
2552
|
-
* @example 0.4
|
|
2553
|
-
*/
|
|
2554
|
-
opacity?: number;
|
|
2555
|
-
/**
|
|
2556
|
-
* @description The padding inside the background box in pixels.
|
|
2557
|
-
* @example 30
|
|
2558
|
-
*/
|
|
2559
|
-
padding?: number;
|
|
2560
|
-
/**
|
|
2561
|
-
* @description The border radius of the background box in pixels.
|
|
2562
|
-
* @example 18
|
|
2563
|
-
*/
|
|
2564
|
-
borderRadius?: number;
|
|
2565
|
-
};
|
|
2566
|
-
/** @description The margin properties for captions. Margins are used to position the caption text and background on the screen. */
|
|
2567
|
-
CaptionMargin: {
|
|
2568
|
-
/**
|
|
2569
|
-
* @description The margin above the text. Pushes captions down the screen.
|
|
2570
|
-
* @example 0.25
|
|
2571
|
-
*/
|
|
2572
|
-
top?: number;
|
|
2573
|
-
/**
|
|
2574
|
-
* @description The margin to the left of the text. Pushes captions to the right.
|
|
2575
|
-
* @example 0.05
|
|
2576
|
-
*/
|
|
2577
|
-
left?: number;
|
|
2578
|
-
/**
|
|
2579
|
-
* @description The margin to the right of the text. Pushes captions to the left.
|
|
2580
|
-
* @example 0.45
|
|
2581
|
-
*/
|
|
2582
|
-
right?: number;
|
|
2583
|
-
};
|
|
2584
|
-
/** @description Chroma key is a technique that replaces a specific color in a video with a different background image or video, enabling seamless integration of diverse environments. Commonly used for green screen and blue screen effects. */
|
|
2585
|
-
ChromaKey: {
|
|
2586
|
-
/**
|
|
2587
|
-
* @description The chroma key color as a hex value. Use green (#00b140) for green screens or blue (#0000FF) for blue screens. Any valid hex color can be used as the key color.
|
|
2588
|
-
* @example #00b140
|
|
2589
|
-
*/
|
|
2590
|
-
color: string;
|
|
2591
|
-
/**
|
|
2592
|
-
* @description Pixels within this distance from the key color are eliminated by setting their alpha values to zero.
|
|
2593
|
-
* @example 150
|
|
2594
|
-
*/
|
|
2595
|
-
threshold?: number;
|
|
2596
|
-
/**
|
|
2597
|
-
* @description Pixels within the halo distance from the threshold boundary are given an increasing alpha value based on their distance from the threshold.
|
|
2598
|
-
* @example 100
|
|
2599
|
-
*/
|
|
2600
|
-
halo?: number;
|
|
2601
|
-
};
|
|
2602
|
-
/**
|
|
2603
|
-
* @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:
|
|
2604
|
-
* <ul>
|
|
2605
|
-
* <li>Opacity - animate the transparency of a clip.</li>
|
|
2606
|
-
* <li>Offset - animate the x and y position of a clip.</li>
|
|
2607
|
-
* <li>Rotation - animate the rotation of a clip.</li>
|
|
2608
|
-
* <li>Skew - animate the horizontal and vertical shearing effect.</li>
|
|
2609
|
-
* <li>Volume - animate the audio volume of a clip.</li>
|
|
2610
|
-
* </ul>
|
|
2611
|
-
*/
|
|
2612
|
-
Tween: {
|
|
2613
|
-
/**
|
|
2614
|
-
* @description The initial property value at the start of the animation.
|
|
2615
|
-
* @example 0
|
|
2616
|
-
*/
|
|
2617
|
-
from?: unknown;
|
|
2618
|
-
/**
|
|
2619
|
-
* @description The final property value at the end of the animation.
|
|
2620
|
-
* @example 1
|
|
2621
|
-
*/
|
|
2622
|
-
to?: unknown;
|
|
2623
|
-
/**
|
|
2624
|
-
* @description The time in seconds when the animation starts, relative to the clip, not the timeline.
|
|
2625
|
-
* @example 0
|
|
2626
|
-
*/
|
|
2627
|
-
start?: number;
|
|
2628
|
-
/**
|
|
2629
|
-
* @description The duration of the animation in seconds.
|
|
2630
|
-
* @example 3
|
|
2631
|
-
*/
|
|
2632
|
-
length?: number;
|
|
2633
|
-
/**
|
|
2634
|
-
* @description The interpolation method to use for the animation. Available options are: <ul>
|
|
2635
|
-
* <li>`linear` - a linear interpolation between the start and end values.</li>
|
|
2636
|
-
* <li>`bezier` - a bezier curve interpolation between the start and end values.</li>
|
|
2637
|
-
* <li>`constant` - an interpolation where the property instantly jumps from the start to the end value, without any gradual transition.</li>
|
|
2638
|
-
* </ul>
|
|
2639
|
-
* @example bezier
|
|
2640
|
-
* @enum {string}
|
|
2641
|
-
*/
|
|
2642
|
-
interpolation?: "linear" | "bezier" | "constant";
|
|
2643
|
-
/**
|
|
2644
|
-
* @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`.
|
|
2645
|
-
* @enum {string}
|
|
2646
|
-
*/
|
|
2647
|
-
easing?: "ease" | "easeIn" | "easeOut" | "easeInOut" | "easeInQuad" | "easeInCubic" | "easeInQuart" | "easeInQuint" | "easeInSine" | "easeInExpo" | "easeInCirc" | "easeInBack" | "easeOutQuad" | "easeOutCubic" | "easeOutQuart" | "easeOutQuint" | "easeOutSine" | "easeOutExpo" | "easeOutCirc" | "easeOutBack" | "easeInOutQuad" | "easeInOutCubic" | "easeInOutQuart" | "easeInOutQuint" | "easeInOutSine" | "easeInOutExpo" | "easeInOutCirc" | "easeInOutBack";
|
|
2648
|
-
};
|
|
2649
|
-
/** @description A merge field consists of a key; `find`, and a value; `replace`. Merge fields can be used to replace placeholders within the JSON edit to create re-usable templates. Placeholders should be a string with double brace delimiters, i.e. `"{{NAME}}"`. A placeholder can be used for any value within the JSON edit. */
|
|
2650
|
-
MergeField: {
|
|
2651
|
-
/**
|
|
2652
|
-
* @description The string to find <u>without</u> delimiters.
|
|
2653
|
-
* @example NAME
|
|
2654
|
-
*/
|
|
2655
|
-
find: string;
|
|
2656
|
-
/**
|
|
2657
|
-
* @description The replacement value. The replacement can be any valid JSON type - string, boolean, number, etc...
|
|
2658
|
-
* @example Jane
|
|
2659
|
-
*/
|
|
2660
|
-
replace: unknown;
|
|
2661
|
-
};
|
|
2662
|
-
/** @description The output format, render range and type of media to generate. */
|
|
2663
|
-
Output: {
|
|
2664
|
-
/**
|
|
2665
|
-
* @description The output format and type of media file to generate. <ul>
|
|
2666
|
-
* <li>`mp4` - mp4 video file</li>
|
|
2667
|
-
* <li>`gif` - animated gif</li>
|
|
2668
|
-
* <li>`jpg` - jpg image file</li>
|
|
2669
|
-
* <li>`png` - png image file</li>
|
|
2670
|
-
* <li>`bmp` - bmp image file</li>
|
|
2671
|
-
* <li>`mp3` - mp3 audio file (audio only)</li>
|
|
2672
|
-
* </ul>
|
|
2673
|
-
* @example mp4
|
|
2674
|
-
* @enum {string}
|
|
2675
|
-
*/
|
|
2676
|
-
format: "mp4" | "gif" | "mp3" | "jpg" | "png" | "bmp";
|
|
2677
|
-
/**
|
|
2678
|
-
* @description The preset output resolution of the video or image. For custom sizes use the `size` property. <ul>
|
|
2679
|
-
* <li>`preview` - 512px x 288px @ 15fps</li>
|
|
2680
|
-
* <li>`mobile` - 640px x 360px @ 25fps</li>
|
|
2681
|
-
* <li>`sd` - 1024px x 576px @ 25fps</li>
|
|
2682
|
-
* <li>`hd` - 1280px x 720px @ 25fps</li>
|
|
2683
|
-
* <li>`1080` - 1920px x 1080px @ 25fps</li>
|
|
2684
|
-
* <li>`4k` - 3840px x 2160px @ 25fps</li>
|
|
2685
|
-
* </ul>
|
|
2686
|
-
* @example hd
|
|
2687
|
-
* @enum {string}
|
|
2688
|
-
*/
|
|
2689
|
-
resolution?: "preview" | "mobile" | "sd" | "hd" | "1080" | "4k";
|
|
2690
|
-
/**
|
|
2691
|
-
* @description The aspect ratio (shape) of the video or image. Useful for social media output formats. Options are: <ul>
|
|
2692
|
-
* <li>`16:9` (default) - regular landscape/horizontal aspect ratio</li>
|
|
2693
|
-
* <li>`9:16` - vertical/portrait aspect ratio</li>
|
|
2694
|
-
* <li>`1:1` - square aspect ratio</li>
|
|
2695
|
-
* <li>`4:5` - short vertical/portrait aspect ratio</li>
|
|
2696
|
-
* <li>`4:3` - legacy TV aspect ratio</li>
|
|
2697
|
-
* </ul>
|
|
2698
|
-
* @example 16:9
|
|
2699
|
-
* @enum {string}
|
|
2700
|
-
*/
|
|
2701
|
-
aspectRatio?: "16:9" | "9:16" | "1:1" | "4:5" | "4:3";
|
|
2702
|
-
size?: components["schemas"]["Size"];
|
|
2703
|
-
/**
|
|
2704
|
-
* @description Override the default frames per second. Useful for when the source footage is recorded at 30fps, i.e. on mobile devices. Lower frame rates can be used to add cinematic quality (24fps) or to create smaller file size/faster render times or animated gifs (12 or 15fps). Default is 25fps. <ul>
|
|
2705
|
-
* <li>`12` - 12fps</li>
|
|
2706
|
-
* <li>`15` - 15fps</li>
|
|
2707
|
-
* <li>`24` - 24fps</li>
|
|
2708
|
-
* <li>`23.976` - 23.976fps</li>
|
|
2709
|
-
* <li>`25` (default) - 25fps</li>
|
|
2710
|
-
* <li>`29.97` - 29.97fps</li>
|
|
2711
|
-
* <li>`30` - 30fps</li>
|
|
2712
|
-
* <li>`48` - 48fps</li>
|
|
2713
|
-
* <li>`50` - 50fps</li>
|
|
2714
|
-
* <li>`59.94` - 59.94fps</li>
|
|
2715
|
-
* <li>`60` - 60fps</li>
|
|
2716
|
-
* </ul>
|
|
2717
|
-
* @example 25
|
|
2718
|
-
* @enum {number}
|
|
2719
|
-
*/
|
|
2720
|
-
fps?: 12 | 15 | 23.976 | 24 | 25 | 29.97 | 30 | 48 | 50 | 59.94 | 60;
|
|
2721
|
-
/**
|
|
2722
|
-
* @description Override the resolution and scale the video or image to render at a different size. When using scaleTo the asset should be edited at the resolution dimensions, i.e. use font sizes that look best at HD, then use scaleTo to output the file at SD and the text will be scaled to the correct size. This is useful if you want to create multiple asset sizes. <ul>
|
|
2723
|
-
* <li>`preview` - 512px x 288px @ 15fps</li>
|
|
2724
|
-
* <li>`mobile` - 640px x 360px @ 25fps</li>
|
|
2725
|
-
* <li>`sd` - 1024px x 576px @25fps</li>
|
|
2726
|
-
* <li>`hd` - 1280px x 720px @25fps</li>
|
|
2727
|
-
* <li>`1080` - 1920px x 1080px @25fps</li>
|
|
2728
|
-
* </ul>
|
|
2729
|
-
* @enum {string}
|
|
2730
|
-
*/
|
|
2731
|
-
scaleTo?: "preview" | "mobile" | "sd" | "hd" | "1080" | "4k";
|
|
2732
|
-
/**
|
|
2733
|
-
* @description Adjust the output quality of the video, image or audio. Adjusting quality affects render speed, download speeds and storage requirements due to file size. The default `medium` provides the most optimized choice for all three factors. <ul>
|
|
2734
|
-
* <li>`verylow` - reduced quality, smallest file size</li>
|
|
2735
|
-
* <li>`low` - slightly reduced quality, smaller file size</li>
|
|
2736
|
-
* <li>`medium` (default) - optimized quality, render speeds and file size</li>
|
|
2737
|
-
* <li>`high` - slightly increased quality, larger file size</li>
|
|
2738
|
-
* <li>`veryhigh` - highest quality, largest file size</li>
|
|
2739
|
-
* </ul>
|
|
2740
|
-
* @example medium
|
|
2741
|
-
* @enum {string}
|
|
2742
|
-
*/
|
|
2743
|
-
quality?: "verylow" | "low" | "medium" | "high" | "veryhigh";
|
|
2744
|
-
/**
|
|
2745
|
-
* @description Loop settings for gif files. Set to `true` to loop, `false` to play only once.
|
|
2746
|
-
* @example true
|
|
2747
|
-
*/
|
|
2748
|
-
repeat?: boolean;
|
|
2749
|
-
/**
|
|
2750
|
-
* @description Mute the audio track of the output video. Set to `true` to mute, `false` to un-mute.
|
|
2751
|
-
* @example false
|
|
2752
|
-
*/
|
|
2753
|
-
mute?: boolean;
|
|
2754
|
-
range?: components["schemas"]["Range"];
|
|
2755
|
-
/** @description Generate a poster image from a specific point on the timeline. */
|
|
2756
|
-
poster?: components["schemas"]["Poster"];
|
|
2757
|
-
/** @description Generate a thumbnail image from a specific point on the timeline. */
|
|
2758
|
-
thumbnail?: components["schemas"]["Thumbnail"];
|
|
2759
|
-
/** @description Specify the storage locations and hosting services to send rendered videos to. */
|
|
2760
|
-
destinations?: components["schemas"]["Destinations"][];
|
|
2761
|
-
};
|
|
2762
|
-
/** @description Set a custom size for a video or image in pixels. When using a custom size omit the `resolution` and `aspectRatio`. Custom sizes must be divisible by 2 based on the encoder specifications. */
|
|
2763
|
-
Size: {
|
|
2764
|
-
/**
|
|
2765
|
-
* @description Set a custom width for the video or image file in pixels. Value must be divisible by 2. Maximum video width is 1920px, maximum image width is 4096px.
|
|
2766
|
-
* @example 1200
|
|
2767
|
-
*/
|
|
2768
|
-
width?: number;
|
|
2769
|
-
/**
|
|
2770
|
-
* @description Set a custom height for the video or image file in pixels. Value must be divisible by 2. Maximum video height is 1920px, maximum image height is 4096px.
|
|
2771
|
-
* @example 800
|
|
2772
|
-
*/
|
|
2773
|
-
height?: number;
|
|
2774
|
-
};
|
|
2775
|
-
/** @description Specify a time range to render, i.e. to render only a portion of a video or audio file. Omit this setting to export the entire video. Range can also be used to render a frame at a specific time point - setting a range and output format as `jpg` will output a single frame image at the range `start` point. */
|
|
2776
|
-
Range: {
|
|
2777
|
-
/**
|
|
2778
|
-
* Format: float
|
|
2779
|
-
* @description The point on the timeline, in seconds, to start the render from - i.e. start at second 3.
|
|
2780
|
-
* @example 3
|
|
2781
|
-
*/
|
|
2782
|
-
start?: number;
|
|
2783
|
-
/**
|
|
2784
|
-
* Format: float
|
|
2785
|
-
* @description The length of the portion of the video or audio to render - i.e. render 6 seconds of the video.
|
|
2786
|
-
* @example 6
|
|
2787
|
-
*/
|
|
2788
|
-
length?: number;
|
|
2789
|
-
};
|
|
2790
|
-
/** @description Generate a poster image for the video at a specific point from the timeline. The poster image size will match the size of the output video. */
|
|
2791
|
-
Poster: {
|
|
2792
|
-
/**
|
|
2793
|
-
* @description The point on the timeline in seconds to capture a single frame to use as the poster image.
|
|
2794
|
-
* @example 1
|
|
2795
|
-
*/
|
|
2796
|
-
capture: number;
|
|
2797
|
-
};
|
|
2798
|
-
/** @description Generate a thumbnail image for the video or image at a specific point from the timeline. */
|
|
2799
|
-
Thumbnail: {
|
|
2800
|
-
/**
|
|
2801
|
-
* @description The point on the timeline in seconds to capture a single frame to use as the thumbnail image.
|
|
2802
|
-
* @example 1
|
|
2803
|
-
*/
|
|
2804
|
-
capture: number;
|
|
2805
|
-
/**
|
|
2806
|
-
* @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.
|
|
2807
|
-
* @example 0.3
|
|
2808
|
-
*/
|
|
2809
|
-
scale: number;
|
|
2810
|
-
};
|
|
2811
|
-
/**
|
|
2812
|
-
* @description A destination is a location where assets can be sent to for serving or hosting. Videos, images and audio files that are rendered by the [Edit API](#shotstack-edit) and [source](#tocs_source) and [rendition](#tocs_rendition) files generated by the [Ingest API](#shotstack-ingest) can be sent to destinations. You can also fetch a file from any public URL and [transfer](#transfer-asset) it to a destination. A file can be sent to one or more destinations including 3rd party destinations.
|
|
2813
|
-
*
|
|
2814
|
-
* By default all ingested and generated assets are automatically sent to the [Shotstack hosting destination](https://shotstack.io/docs/guide/serving-assets/hosting/). You can [opt-out](https://shotstack.io/docs/guide/serving-assets/self-host/) from by setting the Shotstack destination **exclude** property to **true**.
|
|
2815
|
-
*/
|
|
2816
|
-
Destinations: components["schemas"]["ShotstackDestination"] | components["schemas"]["MuxDestination"] | components["schemas"]["S3Destination"] | components["schemas"]["GoogleCloudStorageDestination"] | components["schemas"]["GoogleDriveDestination"] | components["schemas"]["VimeoDestination"] | {
|
|
2817
|
-
/**
|
|
2818
|
-
* @description The destination to send video to - set to `tiktok` for TikTok.
|
|
2819
|
-
* @default tiktok
|
|
2820
|
-
* @example tiktok
|
|
2821
|
-
*/
|
|
2822
|
-
provider: string;
|
|
2823
|
-
/** @description Additional TikTok configuration options. */
|
|
2824
|
-
options?: {
|
|
2825
|
-
/** @description A title for the video that will be displayed on TikTok. */
|
|
2826
|
-
title?: string;
|
|
2827
|
-
/**
|
|
2828
|
-
* @description The privacy level for the video. Options are: <ul>
|
|
2829
|
-
* <li>`public` - video is visible to everyone</li>
|
|
2830
|
-
* <li>`friends` - video is visible to friends only</li>
|
|
2831
|
-
* <li>`private` - video is only visible to you</li>
|
|
2832
|
-
* </ul>
|
|
2833
|
-
* @default private
|
|
2834
|
-
* @enum {string}
|
|
2835
|
-
*/
|
|
2836
|
-
privacyLevel?: "public" | "friends" | "private";
|
|
2837
|
-
/**
|
|
2838
|
-
* @description Disable the Duet feature for this video.
|
|
2839
|
-
* @default false
|
|
2840
|
-
*/
|
|
2841
|
-
disableDuet?: boolean;
|
|
2842
|
-
/**
|
|
2843
|
-
* @description Disable the Stitch feature for this video.
|
|
2844
|
-
* @default false
|
|
2845
|
-
*/
|
|
2846
|
-
disableStitch?: boolean;
|
|
2847
|
-
/**
|
|
2848
|
-
* @description Disable comments on this video.
|
|
2849
|
-
* @default false
|
|
2850
|
-
*/
|
|
2851
|
-
disableComment?: boolean;
|
|
2852
|
-
};
|
|
2853
|
-
} | {
|
|
2854
|
-
/**
|
|
2855
|
-
* @description The destination to send assets to - set to `akamai-netstorage` for Akamai NetStorage.
|
|
2856
|
-
* @default akamai-netstorage
|
|
2857
|
-
* @example akamai-netstorage
|
|
2858
|
-
*/
|
|
2859
|
-
provider: string;
|
|
2860
|
-
/** @description Additional Akamai NetStorage configuration options. */
|
|
2861
|
-
options?: {
|
|
2862
|
-
/**
|
|
2863
|
-
* @description The Akamai NetStorage hostname, i.e. `example-nsu.akamaihd.net`.
|
|
2864
|
-
* @example example-nsu.akamaihd.net
|
|
2865
|
-
*/
|
|
2866
|
-
host: string;
|
|
2867
|
-
/**
|
|
2868
|
-
* @description The Content Provider code (CP code) for the NetStorage upload directory.
|
|
2869
|
-
* @example 123456
|
|
2870
|
-
*/
|
|
2871
|
-
cpCode: string;
|
|
2872
|
-
/**
|
|
2873
|
-
* @description A remote directory path/prefix for the file being sent, i.e. `videos` or `customerId/videos`.
|
|
2874
|
-
* @example videos
|
|
2875
|
-
*/
|
|
2876
|
-
path?: string | null;
|
|
2877
|
-
/**
|
|
2878
|
-
* @description Use your own filename instead of the default filenames generated by Shotstack. Note: omit the file extension as this will be appended depending on the output format. Also `-poster.jpg` and `-thumb.jpg` will be appended for poster and thumbnail images.
|
|
2879
|
-
* @example my-file
|
|
2880
|
-
*/
|
|
2881
|
-
filename?: string | null;
|
|
2882
|
-
};
|
|
2883
|
-
} | {
|
|
2884
|
-
/**
|
|
2885
|
-
* @description The destination to send assets to - set to `azure-blob-storage` for Azure Blob Storage.
|
|
2886
|
-
* @default azure-blob-storage
|
|
2887
|
-
* @example azure-blob-storage
|
|
2888
|
-
*/
|
|
2889
|
-
provider: string;
|
|
2890
|
-
/** @description Additional Azure Blob Storage configuration options. */
|
|
2891
|
-
options?: {
|
|
2892
|
-
/**
|
|
2893
|
-
* @description The Azure Storage account name.
|
|
2894
|
-
* @example mystorageaccount
|
|
2895
|
-
*/
|
|
2896
|
-
accountName: string;
|
|
2897
|
-
/**
|
|
2898
|
-
* @description The Blob container name. The container must exist in the Azure Storage account before files can be sent.
|
|
2899
|
-
* @example my-container
|
|
2900
|
-
*/
|
|
2901
|
-
container: string;
|
|
2902
|
-
/**
|
|
2903
|
-
* @description A virtual directory prefix for the blob being sent, i.e. `videos` or `customerId/videos`.
|
|
2904
|
-
* @example videos
|
|
2905
|
-
*/
|
|
2906
|
-
prefix?: string | null;
|
|
2907
|
-
/**
|
|
2908
|
-
* @description Use your own filename instead of the default filenames generated by Shotstack. Note: omit the file extension as this will be appended depending on the output format. Also `-poster.jpg` and `-thumb.jpg` will be appended for poster and thumbnail images.
|
|
2909
|
-
* @example my-file
|
|
2910
|
-
*/
|
|
2911
|
-
filename?: string | null;
|
|
2912
|
-
};
|
|
2913
|
-
};
|
|
2914
|
-
/** @description Send videos and assets to the [Shotstack hosting and CDN](https://shotstack.io/docs/guide/serving-assets/destinations/shotstack/) service. This destination is enabled by default. */
|
|
2915
|
-
ShotstackDestination: {
|
|
2916
|
-
/**
|
|
2917
|
-
* @description The destination to send assets to - set to `shotstack` for Shotstack hosting and CDN.
|
|
2918
|
-
* @default shotstack
|
|
2919
|
-
* @example shotstack
|
|
2920
|
-
*/
|
|
2921
|
-
provider: string;
|
|
2922
|
-
/**
|
|
2923
|
-
* @description Set to `true` to [opt-out](https://shotstack.io/docs/guide/serving-assets/self-host/) from the Shotstack hosting and CDN service. All files must be downloaded within 24 hours of rendering.
|
|
2924
|
-
* @example false
|
|
2925
|
-
*/
|
|
2926
|
-
exclude?: boolean;
|
|
2927
|
-
};
|
|
2928
|
-
/** @description Send videos to the [Mux](https://shotstack.io/docs/guide/serving-assets/destinations/mux/) video hosting and streaming service. Mux credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/mux), not in the request. */
|
|
2929
|
-
MuxDestination: {
|
|
2930
|
-
/**
|
|
2931
|
-
* @description The destination to send video to - set to `mux` for Mux.
|
|
2932
|
-
* @default mux
|
|
2933
|
-
* @example mux
|
|
2934
|
-
*/
|
|
2935
|
-
provider: string;
|
|
2936
|
-
/** @description Additional Mux configuration and features. */
|
|
2937
|
-
options?: components["schemas"]["MuxDestinationOptions"];
|
|
2938
|
-
};
|
|
2939
|
-
/** @description Pass additional options to control how Mux processes video. Currently supports playback_policy and passthrough options. */
|
|
2940
|
-
MuxDestinationOptions: {
|
|
2941
|
-
/** @description Sets the Mux `playback_policy` option. Value is an array of strings - use `public`, `signed`, or both. */
|
|
2942
|
-
playbackPolicy?: ("public" | "signed")[];
|
|
2943
|
-
/** @description Sets the Mux `passthrough` option. Max 255 characters. */
|
|
2944
|
-
passthrough?: string;
|
|
2945
|
-
};
|
|
2946
|
-
/** @description Send videos and assets to an [Amazon S3](https://shotstack.io/docs/guide/serving-assets/destinations/s3/) bucket. Send files to any region with your own prefix and filename. AWS credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/s3), not in the request. */
|
|
2947
|
-
S3Destination: {
|
|
2948
|
-
/**
|
|
2949
|
-
* @description The destination to send assets to - set to `s3` for S3.
|
|
2950
|
-
* @default s3
|
|
2951
|
-
* @example s3
|
|
2952
|
-
*/
|
|
2953
|
-
provider: string;
|
|
2954
|
-
/** @description Additional S3 configuration options. */
|
|
2955
|
-
options?: components["schemas"]["S3DestinationOptions"];
|
|
2956
|
-
};
|
|
2957
|
-
/** @description Pass additional options to control how files are stored in S3. */
|
|
2958
|
-
S3DestinationOptions: {
|
|
2959
|
-
/**
|
|
2960
|
-
* @description Choose the region to send the file to. Must be a valid [AWS region](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region) string like `us-east-1` or `ap-southeast-2`.
|
|
2961
|
-
* @example us-east-1
|
|
2962
|
-
*/
|
|
2963
|
-
region: string;
|
|
2964
|
-
/**
|
|
2965
|
-
* @description The bucket name to send files to. The bucket must exist in the AWS account before files can be sent.
|
|
2966
|
-
* @example my-bucket
|
|
2967
|
-
*/
|
|
2968
|
-
bucket: string;
|
|
2969
|
-
/**
|
|
2970
|
-
* @description A prefix for the file being sent. This is typically a folder name, i.e. `videos` or `customerId/videos`.
|
|
2971
|
-
* @example my-renders
|
|
2972
|
-
*/
|
|
2973
|
-
prefix?: string;
|
|
2974
|
-
/**
|
|
2975
|
-
* @description Use your own filename instead of the default filenames generated by Shotstack. Note: omit the file extension as this will be appended depending on the output format. Also `-poster.jpg` and `-thumb.jpg` will be appended for poster and thumbnail images.
|
|
2976
|
-
* @example my-file
|
|
2977
|
-
*/
|
|
2978
|
-
filename?: string;
|
|
2979
|
-
/**
|
|
2980
|
-
* @description Sets the S3 Access Control List (acl) permissions. Default is `private`. Must use a valid S3 [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl).
|
|
2981
|
-
* @example public-read
|
|
2982
|
-
*/
|
|
2983
|
-
acl?: string;
|
|
2984
|
-
};
|
|
2985
|
-
/** @description Send videos and assets to a [Google Cloud Storage](https://cloud.google.com/storage) bucket. Send files with your own prefix and filename. Google Cloud credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/google-cloud-storage), not in the request. */
|
|
2986
|
-
GoogleCloudStorageDestination: {
|
|
2987
|
-
/**
|
|
2988
|
-
* @description The destination to send assets to - set to `google-cloud-storage` for Google Cloud Storage.
|
|
2989
|
-
* @default google-cloud-storage
|
|
2990
|
-
* @example google-cloud-storage
|
|
2991
|
-
*/
|
|
2992
|
-
provider: string;
|
|
2993
|
-
/** @description Additional Google Cloud Storage configuration options. */
|
|
2994
|
-
options?: components["schemas"]["GoogleCloudStorageDestinationOptions"];
|
|
2995
|
-
};
|
|
2996
|
-
/** @description Pass additional options to control how files are stored in Google Cloud Storage. */
|
|
2997
|
-
GoogleCloudStorageDestinationOptions: {
|
|
2998
|
-
/**
|
|
2999
|
-
* @description The bucket name to send files to. The bucket must exist in the Google Cloud Storage account before files can be sent.
|
|
3000
|
-
* @example my-bucket
|
|
3001
|
-
*/
|
|
3002
|
-
bucket: string;
|
|
3003
|
-
/**
|
|
3004
|
-
* @description A prefix for the file being sent. This is typically a folder name, i.e. `videos` or `customerId/videos`.
|
|
3005
|
-
* @example my-renders
|
|
3006
|
-
*/
|
|
3007
|
-
prefix?: string;
|
|
3008
|
-
/**
|
|
3009
|
-
* @description Use your own filename instead of the default filenames generated by Shotstack. Note: omit the file extension as this will be appended depending on the output format. Also `-poster.jpg` and `-thumb.jpg` will be appended for poster and thumbnail images.
|
|
3010
|
-
* @example my-file
|
|
3011
|
-
*/
|
|
3012
|
-
filename?: string;
|
|
3013
|
-
};
|
|
3014
|
-
/** @description Send rendered videos and assets to the [Google Drive](https://shotstack.io/docs/guide/serving-assets/destinations/google-drive/) cloud storage service. Google Drive uses OAuth and you must authenticate and link your Google account via [dashboard](https://dashboard.shotstack.io/integrations/google-drive), not in the request. */
|
|
3015
|
-
GoogleDriveDestination: {
|
|
3016
|
-
/**
|
|
3017
|
-
* @description The destination to send assets to - set to `google-drive` for Google Drive.
|
|
3018
|
-
* @default google-drive
|
|
3019
|
-
* @example google-drive
|
|
3020
|
-
*/
|
|
3021
|
-
provider: string;
|
|
3022
|
-
/** @description Additional Google Drive configuration and features. */
|
|
3023
|
-
options: components["schemas"]["GoogleDriveDestinationOptions"];
|
|
3024
|
-
};
|
|
3025
|
-
/** @description Pass the folder ID and options to configure how assets are stored in Google Drive. */
|
|
3026
|
-
GoogleDriveDestinationOptions: {
|
|
3027
|
-
/**
|
|
3028
|
-
* @description The Google Drive folder ID where asset will be stored. The folder ID is required and can be retrieved from the URL when logged in to Google Drive, e.g. <a href="#">https://drive.google.com/drive/u/0/folders/1r-eTY6OLO8tzQRKwMyq-fIrQ_7AJEI6A</a>.
|
|
3029
|
-
* @example 1r-eTY6OLO8tzQRKwMyq-fIrQ_7AJEI6A
|
|
3030
|
-
*/
|
|
3031
|
-
folderId: string;
|
|
3032
|
-
/**
|
|
3033
|
-
* @description Use your own filename instead of the default filenames generated by Shotstack. Note: omit the file extension as this will be appended depending on the output format. Also `-poster.jpg` and `-thumb.jpg` will be appended for poster and thumbnail images.
|
|
3034
|
-
* @example my-file
|
|
3035
|
-
*/
|
|
3036
|
-
filename?: string;
|
|
3037
|
-
};
|
|
3038
|
-
/** @description Send videos to [Vimeo](https://shotstack.io/docs/guide/serving-assets/destinations/vimeo/) video hosting and streaming service. Vimeo credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/vimeo), not in the request. */
|
|
3039
|
-
VimeoDestination: {
|
|
3040
|
-
/**
|
|
3041
|
-
* @description The destination to send video to - set to `vimeo` for Vimeo.
|
|
3042
|
-
* @default vimeo
|
|
3043
|
-
* @example vimeo
|
|
3044
|
-
*/
|
|
3045
|
-
provider: string;
|
|
3046
|
-
/** @description Additional Vimeo configuration and features. */
|
|
3047
|
-
options?: components["schemas"]["VimeoDestinationOptions"];
|
|
3048
|
-
};
|
|
3049
|
-
/** @description Pass additional options to control how Vimeo publishes video, including name, description and privacy settings. */
|
|
3050
|
-
VimeoDestinationOptions: {
|
|
3051
|
-
/** @description A name or title for the video that will be displayed on the Vimeo website. */
|
|
3052
|
-
name?: string;
|
|
3053
|
-
/** @description A description of the video that will be displayed on the Vimeo website. */
|
|
3054
|
-
description?: string;
|
|
3055
|
-
/** @description Options to control the visibility of videos and privacy features. */
|
|
3056
|
-
privacy?: components["schemas"]["VimeoDestinationPrivacyOptions"];
|
|
3057
|
-
/**
|
|
3058
|
-
* @description The Vimeo folder URI to upload the video to. The folder must already exist in your Vimeo account.
|
|
3059
|
-
* @example /users/12345678/projects/87654321
|
|
3060
|
-
*/
|
|
3061
|
-
folderUri?: string;
|
|
3062
|
-
};
|
|
3063
|
-
/** @description Options to control the visibility of videos and privacy features. */
|
|
3064
|
-
VimeoDestinationPrivacyOptions: {
|
|
3065
|
-
/**
|
|
3066
|
-
* @description Set who can view the videos. Available options are: <ul>
|
|
3067
|
-
* <li>`anybody` - Anyone can view the video.</li>
|
|
3068
|
-
* <li>`nobody` - Only the video owner can view the video.</li>
|
|
3069
|
-
* <li>`contacts` - Only contacts can view the video.</li>
|
|
3070
|
-
* <li>`password` - A password is required to view the video.</li>
|
|
3071
|
-
* <li>`unlisted` - The video is not listed on Vimeo.</li>
|
|
3072
|
-
* </ul>
|
|
3073
|
-
* @enum {string}
|
|
3074
|
-
*/
|
|
3075
|
-
view?: "anybody" | "nobody" | "contacts" | "password" | "unlisted";
|
|
3076
|
-
/**
|
|
3077
|
-
* @description Set who can embed the video. Available options are: <ul>
|
|
3078
|
-
* <li>`public` - Anyone can embed the video.</li>
|
|
3079
|
-
* <li>`private` - Only the video owner can embed the video.</li>
|
|
3080
|
-
* <li>`whitelist` - Only whitelisted domains can embed the video.</li>
|
|
3081
|
-
* </ul>
|
|
3082
|
-
* @enum {string}
|
|
3083
|
-
*/
|
|
3084
|
-
embed?: "public" | "private" | "whitelist";
|
|
3085
|
-
/**
|
|
3086
|
-
* @description Set who can comment on the video. Available options are: <ul>
|
|
3087
|
-
* <li>`anybody` - Anyone can comment on the video.</li>
|
|
3088
|
-
* <li>`nobody` - Only the video owner can comment on the video.</li>
|
|
3089
|
-
* <li>`contacts` - Only contacts can comment on the video.</li>
|
|
3090
|
-
* </ul>
|
|
3091
|
-
* @enum {string}
|
|
3092
|
-
*/
|
|
3093
|
-
comments?: "anybody" | "nobody" | "contacts";
|
|
3094
|
-
/** @description Set whether the video can be downloaded. */
|
|
3095
|
-
download?: boolean;
|
|
3096
|
-
/** @description Set whether other users can add the video to their collections. */
|
|
3097
|
-
add?: boolean;
|
|
3098
|
-
};
|
|
3099
|
-
/** @description A template is a saved [Edit](#tocs_edit) than can be loaded and re-used. */
|
|
3100
|
-
Template: {
|
|
3101
|
-
/**
|
|
3102
|
-
* @description The template name
|
|
3103
|
-
* @example My template
|
|
3104
|
-
*/
|
|
3105
|
-
name: string;
|
|
3106
|
-
template?: components["schemas"]["Edit"];
|
|
3107
|
-
};
|
|
3108
|
-
/** @description Configure the id and optional merge fields to render a template by id. */
|
|
3109
|
-
TemplateRender: {
|
|
3110
|
-
/**
|
|
3111
|
-
* @description The id of the template to render in UUID format.
|
|
3112
|
-
* @example f5493c17-d01f-445c-bb49-535fae65f219
|
|
3113
|
-
*/
|
|
3114
|
-
id: string;
|
|
3115
|
-
/** @description An array of key/value pairs that provides an easy way to create templates with placeholders. The placeholders can be used to find and replace keys with values. For example you can search for the placeholder `{{NAME}}` and replace it with the value `Jane`. */
|
|
3116
|
-
merge?: components["schemas"]["MergeField"][];
|
|
3117
|
-
};
|
|
3118
|
-
/**
|
|
3119
|
-
* @description The details of the file to be ingested and any transformations to be applied. Once the source file has been ingested, new renditions can be created from it. The renditions are specified in the **outputs** property.
|
|
3120
|
-
* A rendition is a new version, generated from the source. This can be used to create new sizes and aspect ratios tht serve different purposes within an application.
|
|
3121
|
-
*/
|
|
3122
|
-
Source: {
|
|
3123
|
-
/**
|
|
3124
|
-
* @description The URL of the file to be ingested. The URL must be publicly accessible or include credentials.
|
|
3125
|
-
* @example https://github.com/shotstack/test-media/raw/main/captioning/scott-ko.mp4
|
|
3126
|
-
*/
|
|
3127
|
-
url?: string;
|
|
3128
|
-
outputs?: components["schemas"]["Outputs"];
|
|
3129
|
-
destinations?: components["schemas"]["Destinations"];
|
|
3130
|
-
/**
|
|
3131
|
-
* @description An optional webhook callback URL used to receive status notifications when sources are uploaded and renditions processed.
|
|
3132
|
-
* @example https://my-server.com/callback.php
|
|
3133
|
-
*/
|
|
3134
|
-
callback?: string;
|
|
3135
|
-
};
|
|
3136
|
-
/** @description The output renditions and transformations that should be generated from the source file. */
|
|
3137
|
-
Outputs: {
|
|
3138
|
-
/** @description The output renditions and transformations that should be generated from the source file. */
|
|
3139
|
-
renditions?: components["schemas"]["Rendition"][];
|
|
3140
|
-
/** @description The transcription settings for the output file. */
|
|
3141
|
-
transcription?: components["schemas"]["Transcription"];
|
|
3142
|
-
};
|
|
3143
|
-
/** @description A rendition is a new output file that is generated from the source. The rendition can be encoded to a different format and have transformations applied to it such as resizing, cropping, etc... */
|
|
3144
|
-
Rendition: {
|
|
3145
|
-
/**
|
|
3146
|
-
* @description The output format to encode the file to. You can only encode a file to the same type, i.e. a video to a video or an image to an image. You can't encode a video as an image. The following formats are available: <ul>
|
|
3147
|
-
* <li>`mp4` - mp4 video file (video only)</li>
|
|
3148
|
-
* <li>`webm` - webm video file (video only)</li>
|
|
3149
|
-
* <li>`mov` - mov video file (video only)</li>
|
|
3150
|
-
* <li>`avi` - avi video file (video only)</li>
|
|
3151
|
-
* <li>`mkv` - mkv video file (video only)</li>
|
|
3152
|
-
* <li>`ogv` - ogv video file (video only)</li>
|
|
3153
|
-
* <li>`wmv` - wmv video file (video only)</li>
|
|
3154
|
-
* <li>`avif` - avif video file (video only)</li>
|
|
3155
|
-
* <li>`gif` - animated gif file (video only)</li>
|
|
3156
|
-
* <li>`jpg` - jpg image file (image only)</li>
|
|
3157
|
-
* <li>`png` - png image file (image only)</li>
|
|
3158
|
-
* <li>`webp` - webp image file (image only)</li>
|
|
3159
|
-
* <li>`tif` - tif image file (image only)</li>
|
|
3160
|
-
* <li>`mp3` - mp3 audio file (audio only)</li>
|
|
3161
|
-
* <li>`wav` - wav audio file (audio only)</li>
|
|
3162
|
-
* </ul>
|
|
3163
|
-
* @example mp4
|
|
3164
|
-
* @enum {string}
|
|
3165
|
-
*/
|
|
3166
|
-
format?: "mp4" | "webm" | "mov" | "avi" | "mkv" | "ogv" | "wmv" | "avif" | "gif" | "mp3" | "wav" | "jpg" | "png" | "webp" | "tif";
|
|
3167
|
-
size?: components["schemas"]["Size"];
|
|
3168
|
-
/**
|
|
3169
|
-
* @description Set how the rendition should be scaled and cropped when using a size with an aspect ratio that is different from the source. Fit applies to both videos and images. <ul>
|
|
3170
|
-
* <li>`crop` <b>(default)</b> - scale the rendition to fill the output area while maintaining the aspect ratio. The rendition will be cropped if it exceeds the bounds of the output.</li>
|
|
3171
|
-
* <li>`cover` - stretch the rendition to fill the output without maintaining the aspect ratio.</li>
|
|
3172
|
-
* <li>`contain` - fit the entire rendition within the output while maintaining the original aspect ratio.</li>
|
|
3173
|
-
* </ul>
|
|
3174
|
-
* @example crop
|
|
3175
|
-
* @enum {string}
|
|
3176
|
-
*/
|
|
3177
|
-
fit?: "cover" | "contain" | "crop";
|
|
3178
|
-
/**
|
|
3179
|
-
* @description The preset output resolution of the video or image. This is a convenience property that sets the width and height based on industry standard resolutions. The following resolutions are available: <ul>
|
|
3180
|
-
* <li>`preview` - 512px x 288px</li>
|
|
3181
|
-
* <li>`mobile` - 640px x 360px</li>
|
|
3182
|
-
* <li>`sd` - 1024px x 576px</li>
|
|
3183
|
-
* <li>`hd` - 1280px x 720px</li>
|
|
3184
|
-
* <li>`fhd` - 1920px x 1080px</li>
|
|
3185
|
-
* </ul>
|
|
3186
|
-
* @example hd
|
|
3187
|
-
* @enum {unknown}
|
|
3188
|
-
*/
|
|
3189
|
-
resolution?: "preview" | "mobile" | "sd" | "hd" | "fhd";
|
|
3190
|
-
/**
|
|
3191
|
-
* @description Adjust the visual quality of the video or image. The higher the value, the sharper the image quality but the larger file size and slower the encoding process. When specifying quality, the goal is to balance file size vs visual quality.
|
|
3192
|
-
* Quality is a value between 1 and 100 where 1 is fully compressed with low image quality and 100 is close to lossless with high image quality and large file size. Sane values are between 50 and 75. Omitting the quality parameter will result in an asset optimised for encoding speed, file size and visual quality.
|
|
3193
|
-
* @example 70
|
|
3194
|
-
*/
|
|
3195
|
-
quality?: number;
|
|
3196
|
-
/**
|
|
3197
|
-
* @description Change the frame rate of a video asset. <ul>
|
|
3198
|
-
* <li>`12` - 12fps</li>
|
|
3199
|
-
* <li>`15` - 15fps</li>
|
|
3200
|
-
* <li>`24` - 24fps</li>
|
|
3201
|
-
* <li>`23.976` - 23.976fps</li>
|
|
3202
|
-
* <li>`25` (default) - 25fps</li>
|
|
3203
|
-
* <li>`29.97` - 29.97fps</li>
|
|
3204
|
-
* <li>`30` - 30fps</li>
|
|
3205
|
-
* <li>`48` - 48fps</li>
|
|
3206
|
-
* <li>`50` - 50fps</li>
|
|
3207
|
-
* <li>`59.94` - 59.94fps</li>
|
|
3208
|
-
* <li>`60` - 60fps</li>
|
|
3209
|
-
* </ul>
|
|
3210
|
-
* @example 25
|
|
3211
|
-
* @enum {number}
|
|
3212
|
-
*/
|
|
3213
|
-
fps?: 12 | 15 | 23.976 | 24 | 25 | 29.97 | 30 | 48 | 50 | 59.94 | 60;
|
|
3214
|
-
speed?: components["schemas"]["Speed"];
|
|
3215
|
-
/**
|
|
3216
|
-
* @description The keyframe interval is useful to optimize playback, seeking and smoother scrubbing in browsers. The value sets the number of frames between a keyframe. The lower the number, the larger the file. Try a value between 10 and 25 for smooth scrubbing.
|
|
3217
|
-
* @example 10
|
|
3218
|
-
*/
|
|
3219
|
-
keyframeInterval?: number;
|
|
3220
|
-
/**
|
|
3221
|
-
* @description Attempt to fix audio and video sync issues. This can occur when recording devices, such as smartphones and
|
|
3222
|
-
* web cams use compression techniques like [Variable Frame Rate](https://en.wikipedia.org/wiki/Variable_frame_rate)
|
|
3223
|
-
* (VFR) which can cause audio and video to go out of sync. This option will attempt to fix the sync issues.
|
|
3224
|
-
* @example true
|
|
3225
|
-
*/
|
|
3226
|
-
fixOffset?: boolean;
|
|
3227
|
-
/**
|
|
3228
|
-
* @description Automatically reset the rotation of the video based on the orientation metadata in the video file. This is useful for videos recorded on smartphones that have orientation metadata that may not work correctly with certain video editing software, including the Shotstack Edit API.
|
|
3229
|
-
* @example true
|
|
3230
|
-
*/
|
|
3231
|
-
fixRotation?: boolean;
|
|
3232
|
-
/** @description Apply media processing enhancements to the rendition using a third party provider. Currently only Dolby.io audio enhancement is available. */
|
|
3233
|
-
enhance?: components["schemas"]["Enhancements"];
|
|
3234
|
-
/**
|
|
3235
|
-
* @description A custom name for the generated rendition file. The file extension will be automatically added based on the format of the rendition. If no filename is provided, the rendition ID will be used.
|
|
3236
|
-
* @example my-video
|
|
3237
|
-
*/
|
|
3238
|
-
filename?: string;
|
|
3239
|
-
};
|
|
3240
|
-
/** @description Generate a transcription of the audio in the video. The transcription can be output as a file in SRT or VTT format. */
|
|
3241
|
-
Transcription: {
|
|
3242
|
-
/**
|
|
3243
|
-
* @description The output format of the transcription file. The following formats are available: <ul>
|
|
3244
|
-
* <li>`srt` - SRT captions format</li>
|
|
3245
|
-
* <li>`vtt` - VTT captions format</li>
|
|
3246
|
-
* </ul>
|
|
3247
|
-
* @example vtt
|
|
3248
|
-
* @enum {string}
|
|
3249
|
-
*/
|
|
3250
|
-
format?: "srt" | "vtt";
|
|
3251
|
-
};
|
|
3252
|
-
/** @description Set the playback speed of a video or audio file. Allows you to preserve the pitch of the audio so that it is sped up without sounding too high pitched or too low. */
|
|
3253
|
-
Speed: {
|
|
3254
|
-
/**
|
|
3255
|
-
* Format: float
|
|
3256
|
-
* @description Adjust the playback speed of the video clip between 0 (paused) and 10 (10x normal speed) where 1 is normal speed (defaults to 1). Set values less than 1 to slow down the playback speed, i.e. set speed to 0.5 to play back at half speed. Set values greater than 1 to speed up the playback speed, i.e. set speed to 2 to play back at double speed.
|
|
3257
|
-
* @example 1.5
|
|
3258
|
-
*/
|
|
3259
|
-
speed?: number;
|
|
3260
|
-
/**
|
|
3261
|
-
* @description Set whether to adjust the audio pitch or not. Set to false to make the audio sound higher or lower pitched. By default the pitch is preserved.
|
|
3262
|
-
* @example false
|
|
2112
|
+
* @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.
|
|
2113
|
+
* @example 0.3
|
|
3263
2114
|
*/
|
|
3264
|
-
|
|
3265
|
-
};
|
|
3266
|
-
/** @description Enhancements that can be applied to a rendition. Currently only supports the Dolby audio enhancement. */
|
|
3267
|
-
Enhancements: {
|
|
3268
|
-
/** @description An audio enhancement that can be applied to the audio content of the rendition. */
|
|
3269
|
-
audio?: components["schemas"]["AudioEnhancement"];
|
|
2115
|
+
scale: number;
|
|
3270
2116
|
};
|
|
3271
2117
|
/**
|
|
3272
|
-
* @description
|
|
3273
|
-
*
|
|
3274
|
-
*
|
|
3275
|
-
* </ul>
|
|
2118
|
+
* @description A destination is a location where assets can be sent to for serving or hosting. Videos, images and audio files that are rendered by the [Edit API](#shotstack-edit) and [source](#tocs_source) and [rendition](#tocs_rendition) files generated by the [Ingest API](#shotstack-ingest) can be sent to destinations. You can also fetch a file from any public URL and [transfer](#transfer-asset) it to a destination. A file can be sent to one or more destinations including 3rd party destinations.
|
|
2119
|
+
*
|
|
2120
|
+
* By default all ingested and generated assets are automatically sent to the [Shotstack hosting destination](https://shotstack.io/docs/guide/serving-assets/hosting/). You can [opt-out](https://shotstack.io/docs/guide/serving-assets/self-host/) from by setting the Shotstack destination **exclude** property to **true**.
|
|
3276
2121
|
*/
|
|
3277
|
-
|
|
3278
|
-
/** @description Dolby.io audio enhancement provider. Credentials are required and must be added via the [dashboard](https://dashboard.shotstack.io/integrations/dolby), not in the request. */
|
|
3279
|
-
DolbyEnhancement: {
|
|
2122
|
+
Destinations: components["schemas"]["ShotstackDestination"] | components["schemas"]["MuxDestination"] | components["schemas"]["S3Destination"] | components["schemas"]["GoogleCloudStorageDestination"] | components["schemas"]["GoogleDriveDestination"] | components["schemas"]["VimeoDestination"] | {
|
|
3280
2123
|
/**
|
|
3281
|
-
* @description The
|
|
3282
|
-
* @default
|
|
3283
|
-
* @example
|
|
2124
|
+
* @description The destination to send video to - set to `tiktok` for TikTok.
|
|
2125
|
+
* @default tiktok
|
|
2126
|
+
* @example tiktok
|
|
3284
2127
|
*/
|
|
3285
2128
|
provider: string;
|
|
3286
|
-
/** @description Additional
|
|
3287
|
-
options
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
* @example https://s3-ap-northeast-1.amazonaws.com/my-bucket/video.mp4
|
|
3318
|
-
*/
|
|
3319
|
-
url: string;
|
|
3320
|
-
/**
|
|
3321
|
-
* @description An identifier for the asset which must be provided by the client. The identifier does not need to be unique.
|
|
3322
|
-
* @example 018e8937-5015-75ee-aab6-03f214981133
|
|
3323
|
-
*/
|
|
3324
|
-
id: string;
|
|
3325
|
-
/** @description Specify the storage locations and hosting services to send the file to. */
|
|
3326
|
-
destinations: components["schemas"]["Destinations"][];
|
|
3327
|
-
};
|
|
3328
|
-
/** @description A generated asset is a media asset created by the Create API. You can use native or third party providers to generate video, audio and image files using Generative AI services like text-to-speech and text-to-avatar. */
|
|
3329
|
-
GeneratedAsset: components["schemas"]["ShotstackGeneratedAsset"] | components["schemas"]["DIDGeneratedAsset"] | components["schemas"]["ElevenLabsGeneratedAsset"] | components["schemas"]["HeyGenGeneratedAsset"] | components["schemas"]["OpenAiGeneratedAsset"] | components["schemas"]["StabilityAiGeneratedAsset"];
|
|
3330
|
-
/** @description Generate assets using the native Shotstack provider. Shotstack provides a text-to-speech and a text-to-image service. The Shotstack provider works natively with your existing API key, no additional credentials are required. */
|
|
3331
|
-
ShotstackGeneratedAsset: {
|
|
3332
|
-
/**
|
|
3333
|
-
* @description The name of the provider - set to `shotstack` for Shotstack. (enum property replaced by openapi-typescript)
|
|
3334
|
-
* @enum {string}
|
|
3335
|
-
*/
|
|
3336
|
-
provider: "ShotstackGeneratedAsset";
|
|
3337
|
-
/** @description Options and configuration for the native Shotstack services. */
|
|
3338
|
-
options: components["schemas"]["ShotstackGeneratedAssetOptions"];
|
|
3339
|
-
};
|
|
3340
|
-
/** @description Generate assets using the native Shotstack provider AI services. */
|
|
3341
|
-
ShotstackGeneratedAssetOptions: components["schemas"]["ShotstackTextToSpeechOptions"] | components["schemas"]["ShotstackTextToImageOptions"] | components["schemas"]["ShotstackTextGeneratorOptions"] | components["schemas"]["ShotstackImageToVideoOptions"];
|
|
3342
|
-
/** @description Options for the Shotstack text-to-speech service. Set the text to be converted to speech and choose a voice to set the speaking style. The output will be generated as an MP3 audio file available at the URL returned in the response. */
|
|
3343
|
-
ShotstackTextToSpeechOptions: {
|
|
3344
|
-
/**
|
|
3345
|
-
* @description The type of asset to generate - set to `text-to-speech` for text-to-speech.
|
|
3346
|
-
* @default text-to-speech
|
|
3347
|
-
* @enum {string}
|
|
3348
|
-
*/
|
|
3349
|
-
type: "text-to-speech";
|
|
2129
|
+
/** @description Additional TikTok configuration options. */
|
|
2130
|
+
options?: {
|
|
2131
|
+
/** @description A title for the video that will be displayed on TikTok. */
|
|
2132
|
+
title?: string;
|
|
2133
|
+
/**
|
|
2134
|
+
* @description The privacy level for the video. Options are: <ul>
|
|
2135
|
+
* <li>`public` - video is visible to everyone</li>
|
|
2136
|
+
* <li>`friends` - video is visible to friends only</li>
|
|
2137
|
+
* <li>`private` - video is only visible to you</li>
|
|
2138
|
+
* </ul>
|
|
2139
|
+
* @default private
|
|
2140
|
+
* @enum {string}
|
|
2141
|
+
*/
|
|
2142
|
+
privacyLevel?: "public" | "friends" | "private";
|
|
2143
|
+
/**
|
|
2144
|
+
* @description Disable the Duet feature for this video.
|
|
2145
|
+
* @default false
|
|
2146
|
+
*/
|
|
2147
|
+
disableDuet?: boolean;
|
|
2148
|
+
/**
|
|
2149
|
+
* @description Disable the Stitch feature for this video.
|
|
2150
|
+
* @default false
|
|
2151
|
+
*/
|
|
2152
|
+
disableStitch?: boolean;
|
|
2153
|
+
/**
|
|
2154
|
+
* @description Disable comments on this video.
|
|
2155
|
+
* @default false
|
|
2156
|
+
*/
|
|
2157
|
+
disableComment?: boolean;
|
|
2158
|
+
};
|
|
2159
|
+
} | {
|
|
3350
2160
|
/**
|
|
3351
|
-
* @description The
|
|
3352
|
-
* @
|
|
2161
|
+
* @description The destination to send assets to - set to `akamai-netstorage` for Akamai NetStorage.
|
|
2162
|
+
* @default akamai-netstorage
|
|
2163
|
+
* @example akamai-netstorage
|
|
3353
2164
|
*/
|
|
3354
|
-
|
|
2165
|
+
provider: string;
|
|
2166
|
+
/** @description Additional Akamai NetStorage configuration options. */
|
|
2167
|
+
options?: {
|
|
2168
|
+
/**
|
|
2169
|
+
* @description The Akamai NetStorage hostname, i.e. `example-nsu.akamaihd.net`.
|
|
2170
|
+
* @example example-nsu.akamaihd.net
|
|
2171
|
+
*/
|
|
2172
|
+
host: string;
|
|
2173
|
+
/**
|
|
2174
|
+
* @description The Content Provider code (CP code) for the NetStorage upload directory.
|
|
2175
|
+
* @example 123456
|
|
2176
|
+
*/
|
|
2177
|
+
cpCode: string;
|
|
2178
|
+
/**
|
|
2179
|
+
* @description A remote directory path/prefix for the file being sent, i.e. `videos` or `customerId/videos`.
|
|
2180
|
+
* @example videos
|
|
2181
|
+
*/
|
|
2182
|
+
path?: string | null;
|
|
2183
|
+
/**
|
|
2184
|
+
* @description Use your own filename instead of the default filenames generated by Shotstack. Note: omit the file extension as this will be appended depending on the output format. Also `-poster.jpg` and `-thumb.jpg` will be appended for poster and thumbnail images.
|
|
2185
|
+
* @example my-file
|
|
2186
|
+
*/
|
|
2187
|
+
filename?: string | null;
|
|
2188
|
+
};
|
|
2189
|
+
} | {
|
|
3355
2190
|
/**
|
|
3356
|
-
* @description The
|
|
3357
|
-
*
|
|
3358
|
-
*
|
|
3359
|
-
* <ul>
|
|
3360
|
-
* <li>`Hala`</li>
|
|
3361
|
-
* </ul>
|
|
3362
|
-
* <li>Dutch - Belgian (nl-BE)</li>
|
|
3363
|
-
* <ul>
|
|
3364
|
-
* <li>`Lisa`</li>
|
|
3365
|
-
* </ul>
|
|
3366
|
-
* <li>Catalan (ca-ES)</li>
|
|
3367
|
-
* <ul>
|
|
3368
|
-
* <li>`Arlet`</li>
|
|
3369
|
-
* </ul>
|
|
3370
|
-
* <li>Chinese - Cantonese (yue-CN)</li>
|
|
3371
|
-
* <ul>
|
|
3372
|
-
* <li>`Hiujin`</li>
|
|
3373
|
-
* </ul>
|
|
3374
|
-
* <li>Chinese - Mandarin (cmn-CN)</li>
|
|
3375
|
-
* <ul>
|
|
3376
|
-
* <li>`Zhiyu`</li>
|
|
3377
|
-
* </ul>
|
|
3378
|
-
* <li>Danish (da-DK)</li>
|
|
3379
|
-
* <ul>
|
|
3380
|
-
* <li>`Sofie`</li>
|
|
3381
|
-
* </ul>
|
|
3382
|
-
* <li>Dutch (nl-NL)</li>
|
|
3383
|
-
* <ul>
|
|
3384
|
-
* <li>`Laura`</li>
|
|
3385
|
-
* </ul>
|
|
3386
|
-
* <li>English - Australian (en-AU)</li>
|
|
3387
|
-
* <ul>
|
|
3388
|
-
* <li>`Olivia`</li>
|
|
3389
|
-
* </ul>
|
|
3390
|
-
* <li>English - British (en-GB)</li>
|
|
3391
|
-
* <ul>
|
|
3392
|
-
* <li>`Amy`</li>
|
|
3393
|
-
* <li>`Emma`</li>
|
|
3394
|
-
* <li>`Brian`</li>
|
|
3395
|
-
* <li>`Arthur`</li>
|
|
3396
|
-
* </ul>
|
|
3397
|
-
* <li>English - Indian (en-IN)</li>
|
|
3398
|
-
* <ul>
|
|
3399
|
-
* <li>`Kajal`</li>
|
|
3400
|
-
* </ul>
|
|
3401
|
-
* <li>English - Ireland (en-IE)</li>
|
|
3402
|
-
* <ul>
|
|
3403
|
-
* <li>`Niamh`</li>
|
|
3404
|
-
* </ul>
|
|
3405
|
-
* <li>English - New Zealand (en-NZ)</li>
|
|
3406
|
-
* <ul>
|
|
3407
|
-
* <li>`Aria`</li>
|
|
3408
|
-
* </ul>
|
|
3409
|
-
* <li>English - South African (en-ZA)</li>
|
|
3410
|
-
* <ul>
|
|
3411
|
-
* <li>`Ayanda`</li>
|
|
3412
|
-
* </ul>
|
|
3413
|
-
* <li>English - US (en-US)</li>
|
|
3414
|
-
* <ul>
|
|
3415
|
-
* <li>`Ivy`</li>
|
|
3416
|
-
* <li>`Joanna`</li>
|
|
3417
|
-
* <li>`Kendra`</li>
|
|
3418
|
-
* <li>`Kimberly`</li>
|
|
3419
|
-
* <li>`Salli`</li>
|
|
3420
|
-
* <li>`Joey`</li>
|
|
3421
|
-
* <li>`Justin`</li>
|
|
3422
|
-
* <li>`Kevin`</li>
|
|
3423
|
-
* <li>`Matthew`</li>
|
|
3424
|
-
* <li>`Ruth`</li>
|
|
3425
|
-
* <li>`Stephen`</li>
|
|
3426
|
-
* </ul>
|
|
3427
|
-
* <li>Finnish (fi-FI)</li>
|
|
3428
|
-
* <ul>
|
|
3429
|
-
* <li>`Suvi`</li>
|
|
3430
|
-
* </ul>
|
|
3431
|
-
* <li>French (fr-FR)</li>
|
|
3432
|
-
* <ul>
|
|
3433
|
-
* <li>`Léa`</li>
|
|
3434
|
-
* <li>`Rémi`</li>
|
|
3435
|
-
* </ul>
|
|
3436
|
-
* <li>French - Canadian (fr-CA)</li>
|
|
3437
|
-
* <ul>
|
|
3438
|
-
* <li>`Gabrielle`</li>
|
|
3439
|
-
* <li>`Liam`</li>
|
|
3440
|
-
* </ul>
|
|
3441
|
-
* <li>German (de-DE)</li>
|
|
3442
|
-
* <ul>
|
|
3443
|
-
* <li>`Vicki`</li>
|
|
3444
|
-
* <li>`Daniel`</li>
|
|
3445
|
-
* </ul>
|
|
3446
|
-
* <li>German - Austrian (de-AT)</li>
|
|
3447
|
-
* <ul>
|
|
3448
|
-
* <li>`Hannah`</li>
|
|
3449
|
-
* </ul>
|
|
3450
|
-
* <li>Hindi (hi-IN)</li>
|
|
3451
|
-
* <ul>
|
|
3452
|
-
* <li>`Kajal`</li>
|
|
3453
|
-
* </ul>
|
|
3454
|
-
* <li>Italian (it-IT)</li>
|
|
3455
|
-
* <ul>
|
|
3456
|
-
* <li>`Bianca`</li>
|
|
3457
|
-
* <li>`Adriano`</li>
|
|
3458
|
-
* </ul>
|
|
3459
|
-
* <li>Japanese (ja-JP)</li>
|
|
3460
|
-
* <ul>
|
|
3461
|
-
* <li>`Takumi`</li>
|
|
3462
|
-
* <li>`Kazuha`</li>
|
|
3463
|
-
* <li>`Tomoko`</li>
|
|
3464
|
-
* </ul>
|
|
3465
|
-
* <li>Korean (ko-KR)</li>
|
|
3466
|
-
* <ul>
|
|
3467
|
-
* <li>`Seoyeon`</li>
|
|
3468
|
-
* </ul>
|
|
3469
|
-
* <li>Norwegian (nb-NO)</li>
|
|
3470
|
-
* <ul>
|
|
3471
|
-
* <li>`Ida`</li>
|
|
3472
|
-
* </ul>
|
|
3473
|
-
* <li>Polish (pl-PL)</li>
|
|
3474
|
-
* <ul>
|
|
3475
|
-
* <li>`Ola`</li>
|
|
3476
|
-
* </ul>
|
|
3477
|
-
* <li>Portuguese - Brazilian (pt-BR)</li>
|
|
3478
|
-
* <ul>
|
|
3479
|
-
* <li>`Camila`</li>
|
|
3480
|
-
* <li>`Vitória` or `Vitoria`</li>
|
|
3481
|
-
* <li>`Thiago`</li>
|
|
3482
|
-
* </ul>
|
|
3483
|
-
* <li>Portuguese - European (pt-PT)</li>
|
|
3484
|
-
* <ul>
|
|
3485
|
-
* <li>`Inês` or `Ines`</li>
|
|
3486
|
-
* </ul>
|
|
3487
|
-
* <li>Spanish (es-ES)</li>
|
|
3488
|
-
* <ul>
|
|
3489
|
-
* <li>`Lucia`</li>
|
|
3490
|
-
* <li>`Sergio`</li>
|
|
3491
|
-
* </ul>
|
|
3492
|
-
* <li>Spanish - Mexican (es-MX)</li>
|
|
3493
|
-
* <ul>
|
|
3494
|
-
* <li>`Mia`</li>
|
|
3495
|
-
* <li>`Andrés`</li>
|
|
3496
|
-
* </ul>
|
|
3497
|
-
* <li>Spanish - US (es-US)</li>
|
|
3498
|
-
* <ul>
|
|
3499
|
-
* <li>`Lupe`</li>
|
|
3500
|
-
* <li>`Pedro`</li>
|
|
3501
|
-
* </ul>
|
|
3502
|
-
* <li>Swedish (sv-SE)</li>
|
|
3503
|
-
* <ul>
|
|
3504
|
-
* <li>`Elin`</li>
|
|
3505
|
-
* </ul>
|
|
3506
|
-
* </ul>
|
|
3507
|
-
* @example Matthew
|
|
3508
|
-
* @enum {string}
|
|
2191
|
+
* @description The destination to send assets to - set to `azure-blob-storage` for Azure Blob Storage.
|
|
2192
|
+
* @default azure-blob-storage
|
|
2193
|
+
* @example azure-blob-storage
|
|
3509
2194
|
*/
|
|
3510
|
-
|
|
3511
|
-
/**
|
|
3512
|
-
|
|
3513
|
-
|
|
3514
|
-
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
-
|
|
3518
|
-
|
|
3519
|
-
|
|
3520
|
-
|
|
3521
|
-
|
|
3522
|
-
|
|
3523
|
-
|
|
3524
|
-
|
|
3525
|
-
|
|
3526
|
-
|
|
3527
|
-
|
|
3528
|
-
|
|
3529
|
-
|
|
3530
|
-
|
|
3531
|
-
|
|
3532
|
-
|
|
3533
|
-
|
|
3534
|
-
|
|
3535
|
-
|
|
3536
|
-
|
|
3537
|
-
|
|
3538
|
-
*
|
|
3539
|
-
*
|
|
3540
|
-
*
|
|
3541
|
-
* <li>`ar-AE`</li>
|
|
3542
|
-
* <li>`fi-FI`</li>
|
|
3543
|
-
* </ul>
|
|
3544
|
-
* @default en-US
|
|
3545
|
-
* @enum {string}
|
|
2195
|
+
provider: string;
|
|
2196
|
+
/** @description Additional Azure Blob Storage configuration options. */
|
|
2197
|
+
options?: {
|
|
2198
|
+
/**
|
|
2199
|
+
* @description The Azure Storage account name.
|
|
2200
|
+
* @example mystorageaccount
|
|
2201
|
+
*/
|
|
2202
|
+
accountName: string;
|
|
2203
|
+
/**
|
|
2204
|
+
* @description The Blob container name. The container must exist in the Azure Storage account before files can be sent.
|
|
2205
|
+
* @example my-container
|
|
2206
|
+
*/
|
|
2207
|
+
container: string;
|
|
2208
|
+
/**
|
|
2209
|
+
* @description A virtual directory prefix for the blob being sent, i.e. `videos` or `customerId/videos`.
|
|
2210
|
+
* @example videos
|
|
2211
|
+
*/
|
|
2212
|
+
prefix?: string | null;
|
|
2213
|
+
/**
|
|
2214
|
+
* @description Use your own filename instead of the default filenames generated by Shotstack. Note: omit the file extension as this will be appended depending on the output format. Also `-poster.jpg` and `-thumb.jpg` will be appended for poster and thumbnail images.
|
|
2215
|
+
* @example my-file
|
|
2216
|
+
*/
|
|
2217
|
+
filename?: string | null;
|
|
2218
|
+
};
|
|
2219
|
+
};
|
|
2220
|
+
/** @description Send videos and assets to the [Shotstack hosting and CDN](https://shotstack.io/docs/guide/serving-assets/destinations/shotstack/) service. This destination is enabled by default. */
|
|
2221
|
+
ShotstackDestination: {
|
|
2222
|
+
/**
|
|
2223
|
+
* @description The destination to send assets to - set to `shotstack` for Shotstack hosting and CDN.
|
|
2224
|
+
* @default shotstack
|
|
2225
|
+
* @example shotstack
|
|
3546
2226
|
*/
|
|
3547
|
-
|
|
2227
|
+
provider: string;
|
|
3548
2228
|
/**
|
|
3549
|
-
* @description Set
|
|
3550
|
-
* @
|
|
2229
|
+
* @description Set to `true` to [opt-out](https://shotstack.io/docs/guide/serving-assets/self-host/) from the Shotstack hosting and CDN service. All files must be downloaded within 24 hours of rendering.
|
|
2230
|
+
* @example false
|
|
3551
2231
|
*/
|
|
3552
|
-
|
|
2232
|
+
exclude?: boolean;
|
|
3553
2233
|
};
|
|
3554
|
-
/** @description
|
|
3555
|
-
|
|
2234
|
+
/** @description Send videos to the [Mux](https://shotstack.io/docs/guide/serving-assets/destinations/mux/) video hosting and streaming service. Mux credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/mux), not in the request. */
|
|
2235
|
+
MuxDestination: {
|
|
3556
2236
|
/**
|
|
3557
|
-
* @description The
|
|
3558
|
-
* @default
|
|
3559
|
-
* @
|
|
2237
|
+
* @description The destination to send video to - set to `mux` for Mux.
|
|
2238
|
+
* @default mux
|
|
2239
|
+
* @example mux
|
|
3560
2240
|
*/
|
|
3561
|
-
|
|
2241
|
+
provider: string;
|
|
2242
|
+
/** @description Additional Mux configuration and features. */
|
|
2243
|
+
options?: components["schemas"]["MuxDestinationOptions"];
|
|
2244
|
+
};
|
|
2245
|
+
/** @description Pass additional options to control how Mux processes video. Currently supports playback_policy and passthrough options. */
|
|
2246
|
+
MuxDestinationOptions: {
|
|
2247
|
+
/** @description Sets the Mux `playback_policy` option. Value is an array of strings - use `public`, `signed`, or both. */
|
|
2248
|
+
playbackPolicy?: ("public" | "signed")[];
|
|
2249
|
+
/** @description Sets the Mux `passthrough` option. Max 255 characters. */
|
|
2250
|
+
passthrough?: string;
|
|
2251
|
+
};
|
|
2252
|
+
/** @description Send videos and assets to an [Amazon S3](https://shotstack.io/docs/guide/serving-assets/destinations/s3/) bucket. Send files to any region with your own prefix and filename. AWS credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/s3), not in the request. */
|
|
2253
|
+
S3Destination: {
|
|
3562
2254
|
/**
|
|
3563
|
-
* @description The
|
|
3564
|
-
* @
|
|
2255
|
+
* @description The destination to send assets to - set to `s3` for S3.
|
|
2256
|
+
* @default s3
|
|
2257
|
+
* @example s3
|
|
3565
2258
|
*/
|
|
3566
|
-
|
|
2259
|
+
provider: string;
|
|
2260
|
+
/** @description Additional S3 configuration options. */
|
|
2261
|
+
options?: components["schemas"]["S3DestinationOptions"];
|
|
2262
|
+
};
|
|
2263
|
+
/** @description Pass additional options to control how files are stored in S3. */
|
|
2264
|
+
S3DestinationOptions: {
|
|
3567
2265
|
/**
|
|
3568
|
-
* @description
|
|
3569
|
-
* @example
|
|
2266
|
+
* @description Choose the region to send the file to. Must be a valid [AWS region](https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_region) string like `us-east-1` or `ap-southeast-2`.
|
|
2267
|
+
* @example us-east-1
|
|
3570
2268
|
*/
|
|
3571
|
-
|
|
2269
|
+
region: string;
|
|
3572
2270
|
/**
|
|
3573
|
-
* @description The
|
|
3574
|
-
* @example
|
|
2271
|
+
* @description The bucket name to send files to. The bucket must exist in the AWS account before files can be sent.
|
|
2272
|
+
* @example my-bucket
|
|
3575
2273
|
*/
|
|
3576
|
-
|
|
3577
|
-
};
|
|
3578
|
-
/** @description Options for the Shotstack image-to-video service. Set the URL of an image to convert in to a video. The output will be generated as an MP4 file available at the URL returned in the response. */
|
|
3579
|
-
ShotstackImageToVideoOptions: {
|
|
2274
|
+
bucket: string;
|
|
3580
2275
|
/**
|
|
3581
|
-
* @description
|
|
3582
|
-
* @
|
|
3583
|
-
* @enum {string}
|
|
2276
|
+
* @description A prefix for the file being sent. This is typically a folder name, i.e. `videos` or `customerId/videos`.
|
|
2277
|
+
* @example my-renders
|
|
3584
2278
|
*/
|
|
3585
|
-
|
|
2279
|
+
prefix?: string;
|
|
3586
2280
|
/**
|
|
3587
|
-
* @description
|
|
3588
|
-
* @example
|
|
2281
|
+
* @description Use your own filename instead of the default filenames generated by Shotstack. Note: omit the file extension as this will be appended depending on the output format. Also `-poster.jpg` and `-thumb.jpg` will be appended for poster and thumbnail images.
|
|
2282
|
+
* @example my-file
|
|
3589
2283
|
*/
|
|
3590
|
-
|
|
2284
|
+
filename?: string;
|
|
3591
2285
|
/**
|
|
3592
|
-
* @description
|
|
3593
|
-
* @
|
|
3594
|
-
* @example 1.8
|
|
2286
|
+
* @description Sets the S3 Access Control List (acl) permissions. Default is `private`. Must use a valid S3 [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl).
|
|
2287
|
+
* @example public-read
|
|
3595
2288
|
*/
|
|
3596
|
-
|
|
2289
|
+
acl?: string;
|
|
2290
|
+
};
|
|
2291
|
+
/** @description Send videos and assets to a [Google Cloud Storage](https://cloud.google.com/storage) bucket. Send files with your own prefix and filename. Google Cloud credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/google-cloud-storage), not in the request. */
|
|
2292
|
+
GoogleCloudStorageDestination: {
|
|
3597
2293
|
/**
|
|
3598
|
-
* @description The
|
|
3599
|
-
* @default
|
|
3600
|
-
* @example
|
|
2294
|
+
* @description The destination to send assets to - set to `google-cloud-storage` for Google Cloud Storage.
|
|
2295
|
+
* @default google-cloud-storage
|
|
2296
|
+
* @example google-cloud-storage
|
|
3601
2297
|
*/
|
|
3602
|
-
|
|
2298
|
+
provider: string;
|
|
2299
|
+
/** @description Additional Google Cloud Storage configuration options. */
|
|
2300
|
+
options?: components["schemas"]["GoogleCloudStorageDestinationOptions"];
|
|
3603
2301
|
};
|
|
3604
|
-
/** @description
|
|
3605
|
-
|
|
2302
|
+
/** @description Pass additional options to control how files are stored in Google Cloud Storage. */
|
|
2303
|
+
GoogleCloudStorageDestinationOptions: {
|
|
3606
2304
|
/**
|
|
3607
|
-
* @description The
|
|
3608
|
-
* @
|
|
3609
|
-
* @enum {string}
|
|
2305
|
+
* @description The bucket name to send files to. The bucket must exist in the Google Cloud Storage account before files can be sent.
|
|
2306
|
+
* @example my-bucket
|
|
3610
2307
|
*/
|
|
3611
|
-
|
|
2308
|
+
bucket: string;
|
|
3612
2309
|
/**
|
|
3613
|
-
* @description
|
|
3614
|
-
* @example
|
|
2310
|
+
* @description A prefix for the file being sent. This is typically a folder name, i.e. `videos` or `customerId/videos`.
|
|
2311
|
+
* @example my-renders
|
|
3615
2312
|
*/
|
|
3616
|
-
|
|
3617
|
-
};
|
|
3618
|
-
/** @description Generate assets using D-ID. D-ID provide a text-to-avatar service. The D-ID provider works on a bring-your-own-key basis, credentials are required and must be added via the [dashboard](https://dashboard.shotstack.io/integrations/d-id), not in the request. */
|
|
3619
|
-
DIDGeneratedAsset: {
|
|
2313
|
+
prefix?: string;
|
|
3620
2314
|
/**
|
|
3621
|
-
* @description
|
|
3622
|
-
* @
|
|
2315
|
+
* @description Use your own filename instead of the default filenames generated by Shotstack. Note: omit the file extension as this will be appended depending on the output format. Also `-poster.jpg` and `-thumb.jpg` will be appended for poster and thumbnail images.
|
|
2316
|
+
* @example my-file
|
|
3623
2317
|
*/
|
|
3624
|
-
|
|
3625
|
-
/** @description Options and configuration for the D-ID text-to-avatar service. */
|
|
3626
|
-
options: components["schemas"]["DIDGeneratedAssetOptions"];
|
|
2318
|
+
filename?: string;
|
|
3627
2319
|
};
|
|
3628
|
-
/**
|
|
3629
|
-
|
|
3630
|
-
*
|
|
3631
|
-
* The following AI generation services are available: <ul>
|
|
3632
|
-
* <li><a href="#tocs_didtexttoavataroptions">DidTextToAvatarOptions</a></li>
|
|
3633
|
-
* </ul>
|
|
3634
|
-
*/
|
|
3635
|
-
DIDGeneratedAssetOptions: components["schemas"]["DIDTextToAvatarOptions"];
|
|
3636
|
-
/** @description Options for the D-ID text-to-avatar service. Set the text to be converted to an avatar and configure the avatar and background. The output will be generated as an MP4 video file. */
|
|
3637
|
-
DIDTextToAvatarOptions: {
|
|
2320
|
+
/** @description Send rendered videos and assets to the [Google Drive](https://shotstack.io/docs/guide/serving-assets/destinations/google-drive/) cloud storage service. Google Drive uses OAuth and you must authenticate and link your Google account via [dashboard](https://dashboard.shotstack.io/integrations/google-drive), not in the request. */
|
|
2321
|
+
GoogleDriveDestination: {
|
|
3638
2322
|
/**
|
|
3639
|
-
* @description The
|
|
3640
|
-
* @
|
|
2323
|
+
* @description The destination to send assets to - set to `google-drive` for Google Drive.
|
|
2324
|
+
* @default google-drive
|
|
2325
|
+
* @example google-drive
|
|
3641
2326
|
*/
|
|
3642
|
-
|
|
2327
|
+
provider: string;
|
|
2328
|
+
/** @description Additional Google Drive configuration and features. */
|
|
2329
|
+
options: components["schemas"]["GoogleDriveDestinationOptions"];
|
|
2330
|
+
};
|
|
2331
|
+
/** @description Pass the folder ID and options to configure how assets are stored in Google Drive. */
|
|
2332
|
+
GoogleDriveDestinationOptions: {
|
|
3643
2333
|
/**
|
|
3644
|
-
* @description The
|
|
3645
|
-
* @example
|
|
2334
|
+
* @description The Google Drive folder ID where asset will be stored. The folder ID is required and can be retrieved from the URL when logged in to Google Drive, e.g. <a href="#">https://drive.google.com/drive/u/0/folders/1r-eTY6OLO8tzQRKwMyq-fIrQ_7AJEI6A</a>.
|
|
2335
|
+
* @example 1r-eTY6OLO8tzQRKwMyq-fIrQ_7AJEI6A
|
|
3646
2336
|
*/
|
|
3647
|
-
|
|
2337
|
+
folderId: string;
|
|
3648
2338
|
/**
|
|
3649
|
-
* @description
|
|
3650
|
-
*
|
|
3651
|
-
* <li>`lana`</li>
|
|
3652
|
-
* <li>`lily`</li>
|
|
3653
|
-
* <li>`matt`</li>
|
|
3654
|
-
* <li>`rian`</li>
|
|
3655
|
-
* </ul>
|
|
3656
|
-
* @enum {string}
|
|
2339
|
+
* @description Use your own filename instead of the default filenames generated by Shotstack. Note: omit the file extension as this will be appended depending on the output format. Also `-poster.jpg` and `-thumb.jpg` will be appended for poster and thumbnail images.
|
|
2340
|
+
* @example my-file
|
|
3657
2341
|
*/
|
|
3658
|
-
|
|
2342
|
+
filename?: string;
|
|
2343
|
+
};
|
|
2344
|
+
/** @description Send videos to [Vimeo](https://shotstack.io/docs/guide/serving-assets/destinations/vimeo/) video hosting and streaming service. Vimeo credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/vimeo), not in the request. */
|
|
2345
|
+
VimeoDestination: {
|
|
3659
2346
|
/**
|
|
3660
|
-
* @description The
|
|
3661
|
-
* @
|
|
2347
|
+
* @description The destination to send video to - set to `vimeo` for Vimeo.
|
|
2348
|
+
* @default vimeo
|
|
2349
|
+
* @example vimeo
|
|
3662
2350
|
*/
|
|
3663
|
-
|
|
2351
|
+
provider: string;
|
|
2352
|
+
/** @description Additional Vimeo configuration and features. */
|
|
2353
|
+
options?: components["schemas"]["VimeoDestinationOptions"];
|
|
3664
2354
|
};
|
|
3665
|
-
/** @description
|
|
3666
|
-
|
|
2355
|
+
/** @description Pass additional options to control how Vimeo publishes video, including name, description and privacy settings. */
|
|
2356
|
+
VimeoDestinationOptions: {
|
|
2357
|
+
/** @description A name or title for the video that will be displayed on the Vimeo website. */
|
|
2358
|
+
name?: string;
|
|
2359
|
+
/** @description A description of the video that will be displayed on the Vimeo website. */
|
|
2360
|
+
description?: string;
|
|
2361
|
+
/** @description Options to control the visibility of videos and privacy features. */
|
|
2362
|
+
privacy?: components["schemas"]["VimeoDestinationPrivacyOptions"];
|
|
3667
2363
|
/**
|
|
3668
|
-
* @description The
|
|
3669
|
-
* @
|
|
2364
|
+
* @description The Vimeo folder URI to upload the video to. The folder must already exist in your Vimeo account.
|
|
2365
|
+
* @example /users/12345678/projects/87654321
|
|
3670
2366
|
*/
|
|
3671
|
-
|
|
3672
|
-
/** @description Options and configuration for the ElevenLabs text-to-speech service. */
|
|
3673
|
-
options: components["schemas"]["ElevenLabsGeneratedAssetOptions"];
|
|
2367
|
+
folderUri?: string;
|
|
3674
2368
|
};
|
|
3675
|
-
/**
|
|
3676
|
-
|
|
3677
|
-
*
|
|
3678
|
-
* The following AI generation services are available: <ul>
|
|
3679
|
-
* <li><a href="#tocs_elevenlabstexttospeechoptions">ElevenLabsTextToSpeechOptions</a></li>
|
|
3680
|
-
* </ul>
|
|
3681
|
-
*/
|
|
3682
|
-
ElevenLabsGeneratedAssetOptions: components["schemas"]["ElevenLabsTextToSpeechOptions"];
|
|
3683
|
-
/** @description Options for the ElevenLabs text-to-speech service. Set the text to be converted to speech and choose a voice to set the speaking style. The output will be generated as an MP3 audio file available at the URL returned in the response. */
|
|
3684
|
-
ElevenLabsTextToSpeechOptions: {
|
|
2369
|
+
/** @description Options to control the visibility of videos and privacy features. */
|
|
2370
|
+
VimeoDestinationPrivacyOptions: {
|
|
3685
2371
|
/**
|
|
3686
|
-
* @description
|
|
2372
|
+
* @description Set who can view the videos. Available options are: <ul>
|
|
2373
|
+
* <li>`anybody` - Anyone can view the video.</li>
|
|
2374
|
+
* <li>`nobody` - Only the video owner can view the video.</li>
|
|
2375
|
+
* <li>`contacts` - Only contacts can view the video.</li>
|
|
2376
|
+
* <li>`password` - A password is required to view the video.</li>
|
|
2377
|
+
* <li>`unlisted` - The video is not listed on Vimeo.</li>
|
|
2378
|
+
* </ul>
|
|
3687
2379
|
* @enum {string}
|
|
3688
2380
|
*/
|
|
3689
|
-
|
|
2381
|
+
view?: "anybody" | "nobody" | "contacts" | "password" | "unlisted";
|
|
3690
2382
|
/**
|
|
3691
|
-
* @description
|
|
3692
|
-
*
|
|
2383
|
+
* @description Set who can embed the video. Available options are: <ul>
|
|
2384
|
+
* <li>`public` - Anyone can embed the video.</li>
|
|
2385
|
+
* <li>`private` - Only the video owner can embed the video.</li>
|
|
2386
|
+
* <li>`whitelist` - Only whitelisted domains can embed the video.</li>
|
|
2387
|
+
* </ul>
|
|
2388
|
+
* @enum {string}
|
|
3693
2389
|
*/
|
|
3694
|
-
|
|
2390
|
+
embed?: "public" | "private" | "whitelist";
|
|
3695
2391
|
/**
|
|
3696
|
-
* @description
|
|
3697
|
-
* <li>`
|
|
3698
|
-
* <li>`
|
|
3699
|
-
* <li>`
|
|
3700
|
-
* <li>`Bella`</li>
|
|
3701
|
-
* <li>`Domi`</li>
|
|
3702
|
-
* <li>`Elli`</li>
|
|
3703
|
-
* <li>`Josh`</li>
|
|
3704
|
-
* <li>`Rachel`</li>
|
|
3705
|
-
* <li>`Sam`</li>
|
|
2392
|
+
* @description Set who can comment on the video. Available options are: <ul>
|
|
2393
|
+
* <li>`anybody` - Anyone can comment on the video.</li>
|
|
2394
|
+
* <li>`nobody` - Only the video owner can comment on the video.</li>
|
|
2395
|
+
* <li>`contacts` - Only contacts can comment on the video.</li>
|
|
3706
2396
|
* </ul>
|
|
3707
2397
|
* @enum {string}
|
|
3708
2398
|
*/
|
|
3709
|
-
|
|
2399
|
+
comments?: "anybody" | "nobody" | "contacts";
|
|
2400
|
+
/** @description Set whether the video can be downloaded. */
|
|
2401
|
+
download?: boolean;
|
|
2402
|
+
/** @description Set whether other users can add the video to their collections. */
|
|
2403
|
+
add?: boolean;
|
|
3710
2404
|
};
|
|
3711
|
-
/** @description
|
|
3712
|
-
|
|
2405
|
+
/** @description A template is a saved [Edit](#tocs_edit) than can be loaded and re-used. */
|
|
2406
|
+
Template: {
|
|
3713
2407
|
/**
|
|
3714
|
-
* @description The name
|
|
3715
|
-
* @
|
|
2408
|
+
* @description The template name
|
|
2409
|
+
* @example My template
|
|
2410
|
+
*/
|
|
2411
|
+
name: string;
|
|
2412
|
+
template?: components["schemas"]["Edit"];
|
|
2413
|
+
};
|
|
2414
|
+
/** @description Configure the id and optional merge fields to render a template by id. */
|
|
2415
|
+
TemplateRender: {
|
|
2416
|
+
/**
|
|
2417
|
+
* @description The id of the template to render in UUID format.
|
|
2418
|
+
* @example f5493c17-d01f-445c-bb49-535fae65f219
|
|
3716
2419
|
*/
|
|
3717
|
-
|
|
3718
|
-
/** @description
|
|
3719
|
-
|
|
2420
|
+
id: string;
|
|
2421
|
+
/** @description An array of key/value pairs that provides an easy way to create templates with placeholders. The placeholders can be used to find and replace keys with values. For example you can search for the placeholder `{{NAME}}` and replace it with the value `Jane`. */
|
|
2422
|
+
merge?: components["schemas"]["MergeField"][];
|
|
3720
2423
|
};
|
|
3721
2424
|
/**
|
|
3722
|
-
* @description
|
|
3723
|
-
*
|
|
3724
|
-
* The following AI generation services are available: <ul>
|
|
3725
|
-
* <li><a href="#tocs_heygentexttoavataroptions">HeyGenTextToAvatarOptions</a></li>
|
|
3726
|
-
* </ul>
|
|
2425
|
+
* @description The details of the file to be ingested and any transformations to be applied. Once the source file has been ingested, new renditions can be created from it. The renditions are specified in the **outputs** property.
|
|
2426
|
+
* A rendition is a new version, generated from the source. This can be used to create new sizes and aspect ratios tht serve different purposes within an application.
|
|
3727
2427
|
*/
|
|
3728
|
-
|
|
3729
|
-
/** @description Options for the HeyGen text-to-avatar service. Set the text to be converted to an avatar and configure the avatars voice, speaking style, appearance and background. The output will be generated as an MP4 video file available at the URL returned in the response. */
|
|
3730
|
-
HeyGenTextToAvatarOptions: {
|
|
2428
|
+
Source: {
|
|
3731
2429
|
/**
|
|
3732
|
-
* @description The
|
|
3733
|
-
* @
|
|
2430
|
+
* @description The URL of the file to be ingested. The URL must be publicly accessible or include credentials.
|
|
2431
|
+
* @example https://github.com/shotstack/test-media/raw/main/captioning/scott-ko.mp4
|
|
3734
2432
|
*/
|
|
3735
|
-
|
|
2433
|
+
url?: string;
|
|
2434
|
+
outputs?: components["schemas"]["Outputs"];
|
|
2435
|
+
destinations?: components["schemas"]["Destinations"];
|
|
3736
2436
|
/**
|
|
3737
|
-
* @description
|
|
3738
|
-
* @example
|
|
2437
|
+
* @description An optional webhook callback URL used to receive status notifications when sources are uploaded and renditions processed.
|
|
2438
|
+
* @example https://my-server.com/callback.php
|
|
3739
2439
|
*/
|
|
3740
|
-
|
|
2440
|
+
callback?: string;
|
|
2441
|
+
};
|
|
2442
|
+
/** @description The output renditions and transformations that should be generated from the source file. */
|
|
2443
|
+
Outputs: {
|
|
2444
|
+
/** @description The output renditions and transformations that should be generated from the source file. */
|
|
2445
|
+
renditions?: components["schemas"]["Rendition"][];
|
|
2446
|
+
/** @description The transcription settings for the output file. */
|
|
2447
|
+
transcription?: components["schemas"]["Transcription"];
|
|
2448
|
+
};
|
|
2449
|
+
/** @description A rendition is a new output file that is generated from the source. The rendition can be encoded to a different format and have transformations applied to it such as resizing, cropping, etc... */
|
|
2450
|
+
Rendition: {
|
|
3741
2451
|
/**
|
|
3742
|
-
* @description The
|
|
3743
|
-
* <li>`
|
|
3744
|
-
* <li>`
|
|
3745
|
-
* <li>`
|
|
3746
|
-
* <li>`
|
|
3747
|
-
* <li>`
|
|
3748
|
-
* <li>`
|
|
3749
|
-
* <li>`
|
|
3750
|
-
* <li>`
|
|
3751
|
-
* <li>`
|
|
3752
|
-
* <li>`
|
|
3753
|
-
* <li>`
|
|
3754
|
-
* <li>`
|
|
3755
|
-
* <li>`
|
|
3756
|
-
* <li>`
|
|
3757
|
-
* <li>`
|
|
3758
|
-
* <li>`Peter`</li>
|
|
3759
|
-
* <li>`Selina`</li>
|
|
3760
|
-
* <li>`Tanya`</li>
|
|
3761
|
-
* <li>`Thomas`</li>
|
|
3762
|
-
* <li>`Tina`</li>
|
|
3763
|
-
* <li>`Tyler`</li>
|
|
3764
|
-
* <li>`Vanessa`</li>
|
|
3765
|
-
* <li>`Vera`</li>
|
|
3766
|
-
* <li>`Wilson`</li>
|
|
3767
|
-
* <li>`Zoey`</li>
|
|
2452
|
+
* @description The output format to encode the file to. You can only encode a file to the same type, i.e. a video to a video or an image to an image. You can't encode a video as an image. The following formats are available: <ul>
|
|
2453
|
+
* <li>`mp4` - mp4 video file (video only)</li>
|
|
2454
|
+
* <li>`webm` - webm video file (video only)</li>
|
|
2455
|
+
* <li>`mov` - mov video file (video only)</li>
|
|
2456
|
+
* <li>`avi` - avi video file (video only)</li>
|
|
2457
|
+
* <li>`mkv` - mkv video file (video only)</li>
|
|
2458
|
+
* <li>`ogv` - ogv video file (video only)</li>
|
|
2459
|
+
* <li>`wmv` - wmv video file (video only)</li>
|
|
2460
|
+
* <li>`avif` - avif video file (video only)</li>
|
|
2461
|
+
* <li>`gif` - animated gif file (video only)</li>
|
|
2462
|
+
* <li>`jpg` - jpg image file (image only)</li>
|
|
2463
|
+
* <li>`png` - png image file (image only)</li>
|
|
2464
|
+
* <li>`webp` - webp image file (image only)</li>
|
|
2465
|
+
* <li>`tif` - tif image file (image only)</li>
|
|
2466
|
+
* <li>`mp3` - mp3 audio file (audio only)</li>
|
|
2467
|
+
* <li>`wav` - wav audio file (audio only)</li>
|
|
3768
2468
|
* </ul>
|
|
2469
|
+
* @example mp4
|
|
3769
2470
|
* @enum {string}
|
|
3770
2471
|
*/
|
|
3771
|
-
|
|
3772
|
-
|
|
3773
|
-
|
|
3774
|
-
*
|
|
3775
|
-
* <li>`
|
|
3776
|
-
* <li>`
|
|
3777
|
-
* <li>`
|
|
3778
|
-
* <li>`Alison - Cheerful`</li>
|
|
3779
|
-
* <li>`Amber - Friendly`</li>
|
|
3780
|
-
* <li>`Amy - Warm`</li>
|
|
3781
|
-
* <li>`Ana - Cheerful`</li>
|
|
3782
|
-
* <li>`Antoni - Friendly`</li>
|
|
3783
|
-
* <li>`Aria - Newscaster`</li>
|
|
3784
|
-
* <li>`Arnold - Cheerful`</li>
|
|
3785
|
-
* <li>`Arthur - Natural`</li>
|
|
3786
|
-
* <li>`Bella - Friendly`</li>
|
|
3787
|
-
* <li>`Belle - Natural`</li>
|
|
3788
|
-
* <li>`Brandon - Warm`</li>
|
|
3789
|
-
* <li>`Brian - Natural`</li>
|
|
3790
|
-
* <li>`Bruce - Natural`</li>
|
|
3791
|
-
* <li>`Cerise - Cheerful`</li>
|
|
3792
|
-
* <li>`Christopher - Calm`</li>
|
|
3793
|
-
* <li>`Clara - Professional`</li>
|
|
3794
|
-
* <li>`Connor - Natural`</li>
|
|
3795
|
-
* <li>`Dahlia - Friendly`</li>
|
|
3796
|
-
* <li>`Davis - Professional`</li>
|
|
3797
|
-
* <li>`Dean - Natural`</li>
|
|
3798
|
-
* <li>`Delbert - Cheerful`</li>
|
|
3799
|
-
* <li>`Edward - Friendly`</li>
|
|
3800
|
-
* <li>`Elaine - Calm`</li>
|
|
3801
|
-
* <li>`Emily - Natural`</li>
|
|
3802
|
-
* <li>`Emma - Newscaster`</li>
|
|
3803
|
-
* <li>`Eric - Newscaster`</li>
|
|
3804
|
-
* <li>`Grace - Natural`</li>
|
|
3805
|
-
* <li>`Hailey - Calm`</li>
|
|
3806
|
-
* <li>`Indira - Cheerful`</li>
|
|
3807
|
-
* <li>`Isabella - Cheerful`</li>
|
|
3808
|
-
* <li>`Jacob - Natural`</li>
|
|
3809
|
-
* <li>`Jahmai - Friendly`</li>
|
|
3810
|
-
* <li>`Jane - Serious`</li>
|
|
3811
|
-
* <li>`Jason - Serious`</li>
|
|
3812
|
-
* <li>`Jelle - Friendly`</li>
|
|
3813
|
-
* <li>`Jen - Natural`</li>
|
|
3814
|
-
* <li>`Jenny - Professional`</li>
|
|
3815
|
-
* <li>`Jodi - Cheerful`</li>
|
|
3816
|
-
* <li>`Joey - Calm`</li>
|
|
3817
|
-
* <li>`Johan - Friendly`</li>
|
|
3818
|
-
* <li>`Josie - Cheerful`</li>
|
|
3819
|
-
* <li>`Keanan - Natural`</li>
|
|
3820
|
-
* <li>`Keith - Cheerful`</li>
|
|
3821
|
-
* <li>`Kellie - Friendly`</li>
|
|
3822
|
-
* <li>`Lauren - Friendly`</li>
|
|
3823
|
-
* <li>`Leah - Natural`</li>
|
|
3824
|
-
* <li>`Liam - Professional`</li>
|
|
3825
|
-
* <li>`Libby - Natural`</li>
|
|
3826
|
-
* <li>`Lily - Professional`</li>
|
|
3827
|
-
* <li>`Lucas - Natural`</li>
|
|
3828
|
-
* <li>`Luke - Professional`</li>
|
|
3829
|
-
* <li>`Luna - Natural`</li>
|
|
3830
|
-
* <li>`Marieke - Natural`</li>
|
|
3831
|
-
* <li>`Matthew - Professional`</li>
|
|
3832
|
-
* <li>`Michelle - Natural`</li>
|
|
3833
|
-
* <li>`Mitchell - Natural`</li>
|
|
3834
|
-
* <li>`Molly - Newscaster`</li>
|
|
3835
|
-
* <li>`Monica - Calm`</li>
|
|
3836
|
-
* <li>`Natasha - Professional`</li>
|
|
3837
|
-
* <li>`Neerja - Newscaster`</li>
|
|
3838
|
-
* <li>`Noah - Serious`</li>
|
|
3839
|
-
* <li>`Oliver - Newscaster`</li>
|
|
3840
|
-
* <li>`Olivia - Calm`</li>
|
|
3841
|
-
* <li>`Paul - Natural`</li>
|
|
3842
|
-
* <li>`Prabhat - Natural`</li>
|
|
3843
|
-
* <li>`Raveena - Natural`</li>
|
|
3844
|
-
* <li>`Rudi - Friendly`</li>
|
|
3845
|
-
* <li>`Ryan - Professional`</li>
|
|
3846
|
-
* <li>`Sam - Natural`</li>
|
|
3847
|
-
* <li>`Sara - Cheerful`</li>
|
|
3848
|
-
* <li>`Sherry - Friendly`</li>
|
|
3849
|
-
* <li>`Sonia - Warm`</li>
|
|
3850
|
-
* <li>`Thomas - Natural`</li>
|
|
3851
|
-
* <li>`Todd - Professional`</li>
|
|
3852
|
-
* <li>`Tony - Professional`</li>
|
|
3853
|
-
* <li>`Tracy - Cheerful`</li>
|
|
3854
|
-
* <li>`Wayne - Natural`</li>
|
|
3855
|
-
* <li>`Wilder - Natural`</li>
|
|
3856
|
-
* <li>`Wille - Natural`</li>
|
|
3857
|
-
* <li>`William - Friendly`</li>
|
|
2472
|
+
format?: "mp4" | "webm" | "mov" | "avi" | "mkv" | "ogv" | "wmv" | "avif" | "gif" | "mp3" | "wav" | "jpg" | "png" | "webp" | "tif";
|
|
2473
|
+
size?: components["schemas"]["Size"];
|
|
2474
|
+
/**
|
|
2475
|
+
* @description Set how the rendition should be scaled and cropped when using a size with an aspect ratio that is different from the source. Fit applies to both videos and images. <ul>
|
|
2476
|
+
* <li>`crop` <b>(default)</b> - scale the rendition to fill the output area while maintaining the aspect ratio. The rendition will be cropped if it exceeds the bounds of the output.</li>
|
|
2477
|
+
* <li>`cover` - stretch the rendition to fill the output without maintaining the aspect ratio.</li>
|
|
2478
|
+
* <li>`contain` - fit the entire rendition within the output while maintaining the original aspect ratio.</li>
|
|
3858
2479
|
* </ul>
|
|
2480
|
+
* @example crop
|
|
3859
2481
|
* @enum {string}
|
|
3860
2482
|
*/
|
|
3861
|
-
|
|
2483
|
+
fit?: "cover" | "contain" | "crop";
|
|
3862
2484
|
/**
|
|
3863
|
-
* @description The
|
|
3864
|
-
*
|
|
2485
|
+
* @description The preset output resolution of the video or image. This is a convenience property that sets the width and height based on industry standard resolutions. The following resolutions are available: <ul>
|
|
2486
|
+
* <li>`preview` - 512px x 288px</li>
|
|
2487
|
+
* <li>`mobile` - 640px x 360px</li>
|
|
2488
|
+
* <li>`sd` - 1024px x 576px</li>
|
|
2489
|
+
* <li>`hd` - 1280px x 720px</li>
|
|
2490
|
+
* <li>`fhd` - 1920px x 1080px</li>
|
|
2491
|
+
* </ul>
|
|
2492
|
+
* @example hd
|
|
2493
|
+
* @enum {unknown}
|
|
3865
2494
|
*/
|
|
3866
|
-
|
|
2495
|
+
resolution?: "preview" | "mobile" | "sd" | "hd" | "fhd";
|
|
3867
2496
|
/**
|
|
3868
|
-
* @description
|
|
3869
|
-
*
|
|
2497
|
+
* @description Adjust the visual quality of the video or image. The higher the value, the sharper the image quality but the larger file size and slower the encoding process. When specifying quality, the goal is to balance file size vs visual quality.
|
|
2498
|
+
* Quality is a value between 1 and 100 where 1 is fully compressed with low image quality and 100 is close to lossless with high image quality and large file size. Sane values are between 50 and 75. Omitting the quality parameter will result in an asset optimised for encoding speed, file size and visual quality.
|
|
2499
|
+
* @example 70
|
|
3870
2500
|
*/
|
|
3871
|
-
|
|
2501
|
+
quality?: number;
|
|
3872
2502
|
/**
|
|
3873
|
-
* @description
|
|
3874
|
-
*
|
|
2503
|
+
* @description Change the frame rate of a video asset. <ul>
|
|
2504
|
+
* <li>`12` - 12fps</li>
|
|
2505
|
+
* <li>`15` - 15fps</li>
|
|
2506
|
+
* <li>`24` - 24fps</li>
|
|
2507
|
+
* <li>`23.976` - 23.976fps</li>
|
|
2508
|
+
* <li>`25` (default) - 25fps</li>
|
|
2509
|
+
* <li>`29.97` - 29.97fps</li>
|
|
2510
|
+
* <li>`30` - 30fps</li>
|
|
2511
|
+
* <li>`48` - 48fps</li>
|
|
2512
|
+
* <li>`50` - 50fps</li>
|
|
2513
|
+
* <li>`59.94` - 59.94fps</li>
|
|
2514
|
+
* <li>`60` - 60fps</li>
|
|
2515
|
+
* </ul>
|
|
2516
|
+
* @example 25
|
|
2517
|
+
* @enum {number}
|
|
3875
2518
|
*/
|
|
3876
|
-
|
|
2519
|
+
fps?: 12 | 15 | 23.976 | 24 | 25 | 29.97 | 30 | 48 | 50 | 59.94 | 60;
|
|
2520
|
+
speed?: components["schemas"]["Speed"];
|
|
3877
2521
|
/**
|
|
3878
|
-
* @description
|
|
3879
|
-
* @example
|
|
2522
|
+
* @description The keyframe interval is useful to optimize playback, seeking and smoother scrubbing in browsers. The value sets the number of frames between a keyframe. The lower the number, the larger the file. Try a value between 10 and 25 for smooth scrubbing.
|
|
2523
|
+
* @example 10
|
|
3880
2524
|
*/
|
|
3881
|
-
|
|
3882
|
-
};
|
|
3883
|
-
/** @description Generate assets using OpenAI. OpenAI provide a text generation service using ChatGPT 3.5 and 4. The OpenAI provider works on a bring-your-own-key basis, credentials are required and must be added via the [dashboard](https://dashboard.shotstack.io/integrations/openai), not in the request. */
|
|
3884
|
-
OpenAiGeneratedAsset: {
|
|
2525
|
+
keyframeInterval?: number;
|
|
3885
2526
|
/**
|
|
3886
|
-
* @description
|
|
3887
|
-
*
|
|
2527
|
+
* @description Attempt to fix audio and video sync issues. This can occur when recording devices, such as smartphones and
|
|
2528
|
+
* web cams use compression techniques like [Variable Frame Rate](https://en.wikipedia.org/wiki/Variable_frame_rate)
|
|
2529
|
+
* (VFR) which can cause audio and video to go out of sync. This option will attempt to fix the sync issues.
|
|
2530
|
+
* @example true
|
|
3888
2531
|
*/
|
|
3889
|
-
|
|
3890
|
-
/** @description Options and configuration for the OpenAI text-generator service. */
|
|
3891
|
-
options: components["schemas"]["OpenAiGeneratedAssetOptions"];
|
|
3892
|
-
};
|
|
3893
|
-
/**
|
|
3894
|
-
* @description Generate assets using OpenAI provider AI services.
|
|
3895
|
-
*
|
|
3896
|
-
* The following AI generation services are available: <ul>
|
|
3897
|
-
* <li><a href="#tocs_openaitextgeneratoroptions">OpenAiTextGeneratorOptions</a></li>
|
|
3898
|
-
* </ul>
|
|
3899
|
-
*/
|
|
3900
|
-
OpenAiGeneratedAssetOptions: components["schemas"]["OpenAiTextGeneratorOptions"];
|
|
3901
|
-
/** @description Options for the OpenAI text-generator service. Set a text prompt that will be used to generate a new body of text. The output will be generated as a text (txt) file available at the URL returned in the response. */
|
|
3902
|
-
OpenAiTextGeneratorOptions: {
|
|
2532
|
+
fixOffset?: boolean;
|
|
3903
2533
|
/**
|
|
3904
|
-
* @description
|
|
3905
|
-
* @
|
|
3906
|
-
* @enum {string}
|
|
2534
|
+
* @description Automatically reset the rotation of the video based on the orientation metadata in the video file. This is useful for videos recorded on smartphones that have orientation metadata that may not work correctly with certain video editing software, including the Shotstack Edit API.
|
|
2535
|
+
* @example true
|
|
3907
2536
|
*/
|
|
3908
|
-
|
|
2537
|
+
fixRotation?: boolean;
|
|
2538
|
+
/** @description Apply media processing enhancements to the rendition using a third party provider. Currently only Dolby.io audio enhancement is available. */
|
|
2539
|
+
enhance?: components["schemas"]["Enhancements"];
|
|
3909
2540
|
/**
|
|
3910
|
-
* @description The
|
|
3911
|
-
* @example
|
|
2541
|
+
* @description A custom name for the generated rendition file. The file extension will be automatically added based on the format of the rendition. If no filename is provided, the rendition ID will be used.
|
|
2542
|
+
* @example my-video
|
|
3912
2543
|
*/
|
|
3913
|
-
|
|
2544
|
+
filename?: string;
|
|
2545
|
+
};
|
|
2546
|
+
/** @description Generate a transcription of the audio in the video. The transcription can be output as a file in SRT or VTT format. */
|
|
2547
|
+
Transcription: {
|
|
3914
2548
|
/**
|
|
3915
|
-
* @description The
|
|
3916
|
-
* <li>`
|
|
3917
|
-
* <li>`
|
|
2549
|
+
* @description The output format of the transcription file. The following formats are available: <ul>
|
|
2550
|
+
* <li>`srt` - SRT captions format</li>
|
|
2551
|
+
* <li>`vtt` - VTT captions format</li>
|
|
3918
2552
|
* </ul>
|
|
3919
|
-
* @example
|
|
2553
|
+
* @example vtt
|
|
3920
2554
|
* @enum {string}
|
|
3921
2555
|
*/
|
|
3922
|
-
|
|
2556
|
+
format?: "srt" | "vtt";
|
|
2557
|
+
};
|
|
2558
|
+
/** @description Set the playback speed of a video or audio file. Allows you to preserve the pitch of the audio so that it is sped up without sounding too high pitched or too low. */
|
|
2559
|
+
Speed: {
|
|
3923
2560
|
/**
|
|
3924
|
-
*
|
|
3925
|
-
* @
|
|
2561
|
+
* Format: float
|
|
2562
|
+
* @description Adjust the playback speed of the video clip between 0 (paused) and 10 (10x normal speed) where 1 is normal speed (defaults to 1). Set values less than 1 to slow down the playback speed, i.e. set speed to 0.5 to play back at half speed. Set values greater than 1 to speed up the playback speed, i.e. set speed to 2 to play back at double speed.
|
|
2563
|
+
* @example 1.5
|
|
3926
2564
|
*/
|
|
3927
|
-
|
|
3928
|
-
};
|
|
3929
|
-
/** @description Generate assets using Stability AI. Stability AI provide a text-to-image service using Stable Diffusion. The Stability AI provider works on a bring-your-own-key basis, credentials are required and must be added via the [dashboard](https://dashboard.shotstack.io/integrations/stability-ai), not in the request. */
|
|
3930
|
-
StabilityAiGeneratedAsset: {
|
|
2565
|
+
speed?: number;
|
|
3931
2566
|
/**
|
|
3932
|
-
* @description
|
|
3933
|
-
* @
|
|
2567
|
+
* @description Set whether to adjust the audio pitch or not. Set to false to make the audio sound higher or lower pitched. By default the pitch is preserved.
|
|
2568
|
+
* @example false
|
|
3934
2569
|
*/
|
|
3935
|
-
|
|
3936
|
-
|
|
3937
|
-
|
|
2570
|
+
preservePitch?: boolean;
|
|
2571
|
+
};
|
|
2572
|
+
/** @description Enhancements that can be applied to a rendition. Currently only supports the Dolby audio enhancement. */
|
|
2573
|
+
Enhancements: {
|
|
2574
|
+
/** @description An audio enhancement that can be applied to the audio content of the rendition. */
|
|
2575
|
+
audio?: components["schemas"]["AudioEnhancement"];
|
|
3938
2576
|
};
|
|
3939
2577
|
/**
|
|
3940
|
-
* @description
|
|
3941
|
-
*
|
|
3942
|
-
*
|
|
3943
|
-
* <li><a href="#tocs_stabilityaitexttoimageoptions">StabilityAiTextToImageOptions</a></li>
|
|
2578
|
+
* @description An audio enhancement that can be applied to the audio content of a rendition.
|
|
2579
|
+
* The following providers are available: <ul>
|
|
2580
|
+
* <li><a href="#tocs_dolbyenhancement">DolbyEnhancement</a></li>
|
|
3944
2581
|
* </ul>
|
|
3945
2582
|
*/
|
|
3946
|
-
|
|
3947
|
-
/** @description
|
|
3948
|
-
|
|
2583
|
+
AudioEnhancement: components["schemas"]["DolbyEnhancement"];
|
|
2584
|
+
/** @description Dolby.io audio enhancement provider. Credentials are required and must be added via the [dashboard](https://dashboard.shotstack.io/integrations/dolby), not in the request. */
|
|
2585
|
+
DolbyEnhancement: {
|
|
3949
2586
|
/**
|
|
3950
|
-
* @description The
|
|
3951
|
-
* @default
|
|
3952
|
-
* @
|
|
2587
|
+
* @description The enhancement provider to use - set to `dolby` for Dolby.
|
|
2588
|
+
* @default dolby
|
|
2589
|
+
* @example dolby
|
|
3953
2590
|
*/
|
|
3954
|
-
|
|
2591
|
+
provider: string;
|
|
2592
|
+
/** @description Additional Dolby configuration and features. */
|
|
2593
|
+
options: components["schemas"]["DolbyEnhancementOptions"];
|
|
3955
2594
|
/**
|
|
3956
|
-
* @description
|
|
3957
|
-
* @
|
|
2595
|
+
* @description discriminator enum property added by openapi-typescript
|
|
2596
|
+
* @enum {string}
|
|
3958
2597
|
*/
|
|
3959
|
-
|
|
2598
|
+
enhancement: "DolbyEnhancement";
|
|
2599
|
+
};
|
|
2600
|
+
/** @description Options for the Dolby.io audio enhancement provider. */
|
|
2601
|
+
DolbyEnhancementOptions: {
|
|
3960
2602
|
/**
|
|
3961
|
-
* @description The
|
|
3962
|
-
* <li>`
|
|
3963
|
-
* <li>`
|
|
3964
|
-
* <li>`
|
|
3965
|
-
* <li>`
|
|
3966
|
-
* <li>`
|
|
2603
|
+
* @description The preset to use for the audio enhancement. The following presets are available: <ul>
|
|
2604
|
+
* <li>`conference` - Conference</li>
|
|
2605
|
+
* <li>`interview` - Interview</li>
|
|
2606
|
+
* <li>`lecture` - Lecture</li>
|
|
2607
|
+
* <li>`meeting` - Meeting</li>
|
|
2608
|
+
* <li>`mobile_phone` - Mobile Phone</li>
|
|
2609
|
+
* <li>`music` - Music</li>
|
|
2610
|
+
* <li>`podcast` - Podcast</li>
|
|
2611
|
+
* <li>`studio` - Studio</li>
|
|
2612
|
+
* <li>`voice_over` - Voice Over</li>
|
|
3967
2613
|
* </ul>
|
|
3968
|
-
* @
|
|
3969
|
-
* @example stable-diffusion-xl-1024-v1-0
|
|
2614
|
+
* @example studio
|
|
3970
2615
|
* @enum {string}
|
|
3971
2616
|
*/
|
|
3972
|
-
|
|
3973
|
-
|
|
3974
|
-
|
|
3975
|
-
|
|
3976
|
-
*/
|
|
3977
|
-
width: number;
|
|
3978
|
-
/**
|
|
3979
|
-
* @description The height of the image in pixels. Must be divisible by 64.
|
|
3980
|
-
* @example 512
|
|
3981
|
-
*/
|
|
3982
|
-
height: number;
|
|
2617
|
+
preset: "conference" | "interview" | "lecture" | "meeting" | "mobile_phone" | "music" | "podcast" | "studio" | "voice_over";
|
|
2618
|
+
};
|
|
2619
|
+
/** @description The asset URL to fetch and transfer to a destination. */
|
|
2620
|
+
Transfer: {
|
|
3983
2621
|
/**
|
|
3984
|
-
* @description The
|
|
3985
|
-
* @
|
|
3986
|
-
* @example 30
|
|
2622
|
+
* @description The file URL to fetch and transfer.
|
|
2623
|
+
* @example https://s3-ap-northeast-1.amazonaws.com/my-bucket/video.mp4
|
|
3987
2624
|
*/
|
|
3988
|
-
|
|
2625
|
+
url: string;
|
|
3989
2626
|
/**
|
|
3990
|
-
* @description
|
|
3991
|
-
* @
|
|
3992
|
-
* @example 0
|
|
3993
|
-
*/
|
|
3994
|
-
seed?: number;
|
|
3995
|
-
/**
|
|
3996
|
-
* @description Determines how closely the generated image will match the prompt. Lower numbers allow for more creative freedom. A number between 0 and 35.
|
|
3997
|
-
* @default 7
|
|
3998
|
-
* @example 7
|
|
3999
|
-
*/
|
|
4000
|
-
cfgScale?: number;
|
|
4001
|
-
/**
|
|
4002
|
-
* @description Apply a preset to generate an image in a particular style. Select from the list of available presets: <ul>
|
|
4003
|
-
* <li>`3d-model`</li>
|
|
4004
|
-
* <li>`analog-film`</li>
|
|
4005
|
-
* <li>`anime`</li>
|
|
4006
|
-
* <li>`cinematic`</li>
|
|
4007
|
-
* <li>`comic-book`</li>
|
|
4008
|
-
* <li>`digital-art`</li>
|
|
4009
|
-
* <li>`enhance`</li>
|
|
4010
|
-
* <li>`fantasy-art`</li>
|
|
4011
|
-
* <li>`isometric`</li>
|
|
4012
|
-
* <li>`line-art`</li>
|
|
4013
|
-
* <li>`low-poly`</li>
|
|
4014
|
-
* <li>`modeling-compound`</li>
|
|
4015
|
-
* <li>`neon-punk`</li>
|
|
4016
|
-
* <li>`origami`</li>
|
|
4017
|
-
* <li>`photographic`</li>
|
|
4018
|
-
* <li>`pixel-art`</li>
|
|
4019
|
-
* <li>`tile-texture`</li>
|
|
4020
|
-
* </ul>
|
|
4021
|
-
* @example photographic
|
|
4022
|
-
* @enum {string}
|
|
2627
|
+
* @description An identifier for the asset which must be provided by the client. The identifier does not need to be unique.
|
|
2628
|
+
* @example 018e8937-5015-75ee-aab6-03f214981133
|
|
4023
2629
|
*/
|
|
4024
|
-
|
|
2630
|
+
id: string;
|
|
2631
|
+
/** @description Specify the storage locations and hosting services to send the file to. */
|
|
2632
|
+
destinations: components["schemas"]["Destinations"][];
|
|
4025
2633
|
};
|
|
4026
2634
|
/** @description The response received after a [render request](#render-asset) or [template render](#render-template) is submitted. The render task is queued for rendering and a unique render id is returned. */
|
|
4027
2635
|
QueuedResponse: {
|
|
@@ -4626,94 +3234,6 @@ export interface components {
|
|
|
4626
3234
|
*/
|
|
4627
3235
|
detail: string;
|
|
4628
3236
|
};
|
|
4629
|
-
/** @description The response returned by the Create API [generate asset](#generate-asset) and [get generated asset](#get-generated-asset) requests. Includes status and details of the generated asset. The response follows the [json:api](https://jsonapi.org/) specification. */
|
|
4630
|
-
GeneratedAssetResponse: {
|
|
4631
|
-
/** @description A generated asset resource. */
|
|
4632
|
-
data: components["schemas"]["GeneratedAssetResponseData"];
|
|
4633
|
-
};
|
|
4634
|
-
/** @description The type of resource (an asset), it's id and attributes of the generated file. */
|
|
4635
|
-
GeneratedAssetResponseData: {
|
|
4636
|
-
/**
|
|
4637
|
-
* @description The type of resource, in this case it is an asset.
|
|
4638
|
-
* @example asset
|
|
4639
|
-
*/
|
|
4640
|
-
type: string;
|
|
4641
|
-
/**
|
|
4642
|
-
* @description The generated asset id.
|
|
4643
|
-
* @example 01gz0-tj679-xj30t-hr8zk-3hasvk
|
|
4644
|
-
*/
|
|
4645
|
-
id: string;
|
|
4646
|
-
/** @description The generated asset attributes including its url, status, provider, type, etc... */
|
|
4647
|
-
attributes: components["schemas"]["GeneratedAssetResponseAttributes"];
|
|
4648
|
-
};
|
|
4649
|
-
/** @description The id and attributes of the generated asset. */
|
|
4650
|
-
GeneratedAssetResponseAttributes: {
|
|
4651
|
-
/**
|
|
4652
|
-
* @description The owner id of the asset.
|
|
4653
|
-
* @example 5ca6hu7s9k
|
|
4654
|
-
*/
|
|
4655
|
-
owner: string;
|
|
4656
|
-
/**
|
|
4657
|
-
* @description The native or third party provider that generated the asset, `shotstack`, `elevenlabs`, `heygen` or `d-id`.
|
|
4658
|
-
* @enum {string}
|
|
4659
|
-
*/
|
|
4660
|
-
provider: "shotstack" | "elevenlabs" | "heygen" | "d-id";
|
|
4661
|
-
/**
|
|
4662
|
-
* @description The type of service used to generate the asset, `text-to-speech` or `text-to-avatar`.
|
|
4663
|
-
* @enum {string}
|
|
4664
|
-
*/
|
|
4665
|
-
type: "text-to-speech" | "text-to-avatar";
|
|
4666
|
-
/**
|
|
4667
|
-
* @description The URL of the asset file hosted by Shotstack. The file at the URL can be used by the Edit API. Generated asset file URL's consist of a base URL (AWS bucket), owner id, asset id and extension. The extension varies depending on the type of file generated.
|
|
4668
|
-
* @example https://shotstack-create-api-v1-assets.s3.amazonaws.com/5ca6hu7s9k/01gz0-tj679-xj30t-hr8zk-3hasvk.mp3
|
|
4669
|
-
*/
|
|
4670
|
-
url?: string;
|
|
4671
|
-
/**
|
|
4672
|
-
* @description The status of the asset file generation task. <ul>
|
|
4673
|
-
* <li>`queued` - generation task is queued waiting to be processed</li>
|
|
4674
|
-
* <li>`processing` - the asset is being generated by the provider</li>
|
|
4675
|
-
* <li>`saving` - the asset is being saved to Shotstack</li>
|
|
4676
|
-
* <li>`done` - the asset has been generated and stored</li>
|
|
4677
|
-
* <li>`failed` - there was an error generating the asset</li>
|
|
4678
|
-
* </ul>
|
|
4679
|
-
* @example done
|
|
4680
|
-
* @enum {string}
|
|
4681
|
-
*/
|
|
4682
|
-
status: "queued" | "processing" | "saving" | "done" | "failed";
|
|
4683
|
-
/**
|
|
4684
|
-
* @description The time the generate asset task was initially queued.
|
|
4685
|
-
* @example 2023-01-02T01:47:18.973Z
|
|
4686
|
-
*/
|
|
4687
|
-
created: string;
|
|
4688
|
-
/**
|
|
4689
|
-
* @description The time the asset status was last updated.
|
|
4690
|
-
* @example 2023-01-02T01:47:37.260Z
|
|
4691
|
-
*/
|
|
4692
|
-
updated: string;
|
|
4693
|
-
};
|
|
4694
|
-
/** @description Error response data for validation and other errors returned by the Create API. */
|
|
4695
|
-
GeneratedAssetErrorResponse: {
|
|
4696
|
-
/** @description An array of errors. */
|
|
4697
|
-
errors: components["schemas"]["GeneratedAssetErrorResponseData"][];
|
|
4698
|
-
};
|
|
4699
|
-
/** @description Individual errors returned by the Create API. */
|
|
4700
|
-
GeneratedAssetErrorResponseData: {
|
|
4701
|
-
/**
|
|
4702
|
-
* @description The http status code.
|
|
4703
|
-
* @example 400
|
|
4704
|
-
*/
|
|
4705
|
-
status: string;
|
|
4706
|
-
/**
|
|
4707
|
-
* @description A short summary of the error.
|
|
4708
|
-
* @example Bad Request
|
|
4709
|
-
*/
|
|
4710
|
-
title: string;
|
|
4711
|
-
/**
|
|
4712
|
-
* @description A detailed description of the error.
|
|
4713
|
-
* @example "body/options/text" is required.
|
|
4714
|
-
*/
|
|
4715
|
-
detail: string;
|
|
4716
|
-
};
|
|
4717
3237
|
};
|
|
4718
3238
|
responses: never;
|
|
4719
3239
|
parameters: never;
|
|
@@ -5260,61 +3780,4 @@ export interface operations {
|
|
|
5260
3780
|
};
|
|
5261
3781
|
};
|
|
5262
3782
|
};
|
|
5263
|
-
postGenerateAsset: {
|
|
5264
|
-
parameters: {
|
|
5265
|
-
query?: never;
|
|
5266
|
-
header?: never;
|
|
5267
|
-
path?: never;
|
|
5268
|
-
cookie?: never;
|
|
5269
|
-
};
|
|
5270
|
-
/** @description Generate an asset using the specified provider, type and options. */
|
|
5271
|
-
requestBody: {
|
|
5272
|
-
content: {
|
|
5273
|
-
"application/json": components["schemas"]["GeneratedAsset"];
|
|
5274
|
-
};
|
|
5275
|
-
};
|
|
5276
|
-
responses: {
|
|
5277
|
-
/** @description The generated asset details */
|
|
5278
|
-
201: {
|
|
5279
|
-
headers: {
|
|
5280
|
-
[name: string]: unknown;
|
|
5281
|
-
};
|
|
5282
|
-
content: {
|
|
5283
|
-
"application/json": components["schemas"]["GeneratedAssetResponse"];
|
|
5284
|
-
};
|
|
5285
|
-
};
|
|
5286
|
-
/** @description A list of validation and other errors */
|
|
5287
|
-
400: {
|
|
5288
|
-
headers: {
|
|
5289
|
-
[name: string]: unknown;
|
|
5290
|
-
};
|
|
5291
|
-
content: {
|
|
5292
|
-
"application/json": components["schemas"]["GeneratedAssetErrorResponse"];
|
|
5293
|
-
};
|
|
5294
|
-
};
|
|
5295
|
-
};
|
|
5296
|
-
};
|
|
5297
|
-
getGeneratedAsset: {
|
|
5298
|
-
parameters: {
|
|
5299
|
-
query?: never;
|
|
5300
|
-
header?: never;
|
|
5301
|
-
path: {
|
|
5302
|
-
/** @description The id of the source file in [KSUID](https://github.com/segmentio/ksuid#what-is-a-ksuid) format. */
|
|
5303
|
-
id: string;
|
|
5304
|
-
};
|
|
5305
|
-
cookie?: never;
|
|
5306
|
-
};
|
|
5307
|
-
requestBody?: never;
|
|
5308
|
-
responses: {
|
|
5309
|
-
/** @description The generated asset details */
|
|
5310
|
-
200: {
|
|
5311
|
-
headers: {
|
|
5312
|
-
[name: string]: unknown;
|
|
5313
|
-
};
|
|
5314
|
-
content: {
|
|
5315
|
-
"application/json": components["schemas"]["GeneratedAssetResponse"];
|
|
5316
|
-
};
|
|
5317
|
-
};
|
|
5318
|
-
};
|
|
5319
|
-
};
|
|
5320
3783
|
}
|