addedInput schema / $defs / AudioAsset / properties / effect / $ref
Added value: +"#/$defs/effect"
removedInput schema / $defs / AudioAsset / properties / effect / description
Removed value: -"The effect to apply to the audio asset <ul>\n <li>`fadeIn` - fade volume in only</li>\n <li>`fadeOut` - fade volume out only</li>\n <li>`fadeInFadeOut` - fade volume in and out</li>\n</ul>"
removedInput schema / $defs / AudioAsset / properties / effect / enum
Removed value: -[
- "none",
- "fadeIn",
- "fadeOut",
- "fadeInFadeOut"
-]
removedInput schema / $defs / AudioAsset / properties / effect / type
Removed value: -"string"
addedInput schema / $defs / AudioAsset / properties / options / $ref
Added value: +"#/$defs/options"
removedInput schema / $defs / AudioAsset / properties / options / additionalProperties
Removed value: -true
removedInput schema / $defs / AudioAsset / properties / options / description
Removed value: -"Model-specific generation settings. Valid keys and values depend on the chosen `model` and are defined by the model registry. Omitted options use the model's defaults. Unknown or invalid options are rejected."
removedInput schema / $defs / AudioAsset / properties / options / type
Removed value: -"object"
addedInput schema / $defs / AudioAsset / properties / volume / $ref
Added value: +"#/$defs/volume"
removedInput schema / $defs / AudioAsset / properties / volume / description
Removed value: -"Set the volume of the audio clip. Use a number or an array of [Tween](./#tocs_tween) objects to create custom volume transitions."
removedInput schema / $defs / AudioAsset / properties / volume / oneOf
Removed value: -[
- {
- "description": "The volume level for the audio clip. Range varies from 0 to 1 where 0 is muted and 1 is full volume (defaults to 1).",
- "format": "float",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- {
- "description": "An array of [Tween](./#tocs_tween) objects used to create a custom volume effect. Modify the volume of an asset over time.",
- "items": {
- "$ref": "#/$defs/Tween"
- },
- "type": "array"
- }
-]
changedInput schema / $defs / Destinations / anyOf
Previous value: -[
- {
- "$ref": "#/$defs/ShotstackDestination"
- },
- {
- "$ref": "#/$defs/MuxDestination"
- },
- {
- "$ref": "#/$defs/S3Destination"
- },
- {
- "$ref": "#/$defs/GoogleCloudStorageDestination"
- },
- {
- "$ref": "#/$defs/GoogleDriveDestination"
- },
- {
- "$ref": "#/$defs/VimeoDestination"
- },
- {
- "deprecated": true,
- "description": "**Notice: The TikTok destination is deprecated.** It continues to work, with no behaviour change for existing integrations.\nSend videos to TikTok. TikTok credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/tiktok), not in the request.",
- "properties": {
- "options": {
- "deprecated": true,
- "description": "Additional TikTok configuration options.",
- "properties": {
- "disableComment": {
- "default": false,
- "description": "Disable comments on this video.",
- "type": "boolean"
- },
- "disableDuet": {
- "default": false,
- "description": "Disable the Duet feature for this video.",
- "type": "boolean"
- },
- "disableStitch": {
- "default": false,
- "description": "Disable the Stitch feature for this video.",
- "type": "boolean"
- },
- "privacyLevel": {
- "default": "private",
- "description": "The privacy level for the video. Options are: <ul>\n <li>`public` - video is visible to everyone</li>\n <li>`friends` - video is visible to friends only</li>\n <li>`private` - video is only visible to you</li>\n</ul>",
- "enum": [
- "public",
- "friends",
- "private"
- ],
- "type": "string"
- },
- "title": {
- "description": "A title for the video that will be displayed on TikTok.",
- "maxLength": 150,
- "type": "string"
- }
- },
- "type": "object"
- },
- "provider": {
- "default": "tiktok",
- "description": "The destination to send video to - set to `tiktok` for TikTok.",
- "type": "string"
- }
- },
- "required": [
- "provider"
- ],
- "type": "object"
- },
- {
- "description": "Send videos and assets to [Akamai NetStorage](https://techdocs.akamai.com/netstorage/docs). Send files to your NetStorage upload directory with a custom path and filename. Akamai credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/akamai-netstorage), not in the request.",
- "properties": {
- "options": {
- "description": "Additional Akamai NetStorage configuration options.",
- "properties": {
- "cpCode": {
- "description": "The Content Provider code (CP code) for the NetStorage upload directory.",
- "type": "string"
- },
- "filename": {
- "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.",
- "type": [
- "string",
- "null"
- ]
- },
- "host": {
- "description": "The Akamai NetStorage hostname, i.e. `example-nsu.akamaihd.net`.",
- "type": "string"
- },
- "path": {
- "description": "A remote directory path/prefix for the file being sent, i.e. `videos` or `customerId/videos`.",
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "host",
- "cpCode"
- ]
- },
- "provider": {
- "default": "akamai-netstorage",
- "description": "The destination to send assets to - set to `akamai-netstorage` for Akamai NetStorage.",
- "type": "string"
- }
- },
- "required": [
- "provider"
- ],
- "type": "object"
- },
- {
- "description": "Send videos and assets to [Azure Blob Storage](https://learn.microsoft.com/en-us/azure/storage/blobs/). Send files to any container with a custom prefix and filename. Azure credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/azure-blob-storage), not in the request.",
- "properties": {
- "options": {
- "description": "Additional Azure Blob Storage configuration options.",
- "properties": {
- "accountName": {
- "description": "The Azure Storage account name.",
- "type": "string"
- },
- "container": {
- "description": "The Blob container name. The container must exist in the Azure Storage account before files can be sent.",
- "type": "string"
- },
- "filename": {
- "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.",
- "type": [
- "string",
- "null"
- ]
- },
- "prefix": {
- "description": "A virtual directory prefix for the blob being sent, i.e. `videos` or `customerId/videos`.",
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "accountName",
- "container"
- ]
- },
- "provider": {
- "default": "azure-blob-storage",
- "description": "The destination to send assets to - set to `azure-blob-storage` for Azure Blob Storage.",
- "type": "string"
- }
- },
- "required": [
- "provider"
- ],
- "type": "object"
- }
-]New value: +[
+ {
+ "$ref": "#/$defs/ShotstackDestination"
+ },
+ {
+ "$ref": "#/$defs/MuxDestination"
+ },
+ {
+ "$ref": "#/$defs/S3Destination"
+ },
+ {
+ "$ref": "#/$defs/GoogleCloudStorageDestination"
+ },
+ {
+ "$ref": "#/$defs/GoogleDriveDestination"
+ },
+ {
+ "$ref": "#/$defs/VimeoDestination"
+ },
+ {
+ "deprecated": true,
+ "description": "**Notice: The TikTok destination is deprecated.** It continues to work, with no behaviour change for existing integrations.\nSend videos to TikTok. TikTok credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/tiktok), not in the request.",
+ "properties": {
+ "options": {
+ "deprecated": true,
+ "description": "Additional TikTok configuration options.",
+ "properties": {
+ "disableComment": {
+ "default": false,
+ "description": "Disable comments on this video.",
+ "type": "boolean"
+ },
+ "disableDuet": {
+ "default": false,
+ "description": "Disable the Duet feature for this video.",
+ "type": "boolean"
+ },
+ "disableStitch": {
+ "default": false,
+ "description": "Disable the Stitch feature for this video.",
+ "type": "boolean"
+ },
+ "privacyLevel": {
+ "default": "private",
+ "description": "The privacy level for the video. Options are: <ul>\n <li>`public` - video is visible to everyone</li>\n <li>`friends` - video is visible to friends only</li>\n <li>`private` - video is only visible to you</li>\n</ul>",
+ "enum": [
+ "public",
+ "friends",
+ "private"
+ ],
+ "type": "string"
+ },
+ "title": {
+ "description": "A title for the video that will be displayed on TikTok.",
+ "maxLength": 150,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "provider": {
+ "default": "tiktok",
+ "description": "The destination to send video to - set to `tiktok` for TikTok.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "provider"
+ ],
+ "type": "object"
+ },
+ {
+ "description": "Send videos and assets to [Akamai NetStorage](https://techdocs.akamai.com/netstorage/docs). Send files to your NetStorage upload directory with a custom path and filename. Akamai credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/akamai-netstorage), not in the request.",
+ "properties": {
+ "options": {
+ "description": "Additional Akamai NetStorage configuration options.",
+ "properties": {
+ "cpCode": {
+ "description": "The Content Provider code (CP code) for the NetStorage upload directory.",
+ "type": "string"
+ },
+ "filename": {
+ "$ref": "#/$defs/filename"
+ },
+ "host": {
+ "description": "The Akamai NetStorage hostname, i.e. `example-nsu.akamaihd.net`.",
+ "type": "string"
+ },
+ "path": {
+ "description": "A remote directory path/prefix for the file being sent, i.e. `videos` or `customerId/videos`.",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "host",
+ "cpCode"
+ ]
+ },
+ "provider": {
+ "default": "akamai-netstorage",
+ "description": "The destination to send assets to - set to `akamai-netstorage` for Akamai NetStorage.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "provider"
+ ],
+ "type": "object"
+ },
+ {
+ "description": "Send videos and assets to [Azure Blob Storage](https://learn.microsoft.com/en-us/azure/storage/blobs/). Send files to any container with a custom prefix and filename. Azure credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/azure-blob-storage), not in the request.",
+ "properties": {
+ "options": {
+ "description": "Additional Azure Blob Storage configuration options.",
+ "properties": {
+ "accountName": {
+ "description": "The Azure Storage account name.",
+ "type": "string"
+ },
+ "container": {
+ "description": "The Blob container name. The container must exist in the Azure Storage account before files can be sent.",
+ "type": "string"
+ },
+ "filename": {
+ "$ref": "#/$defs/filename"
+ },
+ "prefix": {
+ "description": "A virtual directory prefix for the blob being sent, i.e. `videos` or `customerId/videos`.",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "accountName",
+ "container"
+ ]
+ },
+ "provider": {
+ "default": "azure-blob-storage",
+ "description": "The destination to send assets to - set to `azure-blob-storage` for Azure Blob Storage.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "provider"
+ ],
+ "type": "object"
+ }
+]
addedInput schema / $defs / GoogleCloudStorageDestinationOptions / properties / filename / $ref
Added value: +"#/$defs/filename_2"
removedInput schema / $defs / GoogleCloudStorageDestinationOptions / properties / filename / description
Removed value: -"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."
removedInput schema / $defs / GoogleCloudStorageDestinationOptions / properties / filename / type
Removed value: -"string"
addedInput schema / $defs / GoogleDriveDestinationOptions / properties / filename / $ref
Added value: +"#/$defs/filename_2"
removedInput schema / $defs / GoogleDriveDestinationOptions / properties / filename / description
Removed value: -"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."
removedInput schema / $defs / GoogleDriveDestinationOptions / properties / filename / type
Removed value: -"string"
addedInput schema / $defs / ImageAsset / properties / options / $ref
Added value: +"#/$defs/options"
removedInput schema / $defs / ImageAsset / properties / options / additionalProperties
Removed value: -true
removedInput schema / $defs / ImageAsset / properties / options / description
Removed value: -"Model-specific generation settings. Valid keys and values depend on the chosen `model` and are defined by the model registry. Omitted options use the model's defaults. Unknown or invalid options are rejected."
removedInput schema / $defs / ImageAsset / properties / options / type
Removed value: -"object"
addedInput schema / $defs / S3DestinationOptions / properties / filename / $ref
Added value: +"#/$defs/filename_2"
removedInput schema / $defs / S3DestinationOptions / properties / filename / description
Removed value: -"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."
removedInput schema / $defs / S3DestinationOptions / properties / filename / type
Removed value: -"string"
addedInput schema / $defs / TextToSpeechAsset / properties / effect / $ref
Added value: +"#/$defs/effect"
removedInput schema / $defs / TextToSpeechAsset / properties / effect / description
Removed value: -"The effect to apply to the audio asset <ul>\n <li>`fadeIn` - fade volume in only</li>\n <li>`fadeOut` - fade volume out only</li>\n <li>`fadeInFadeOut` - fade volume in and out</li>\n</ul>"
removedInput schema / $defs / TextToSpeechAsset / properties / effect / enum
Removed value: -[
- "none",
- "fadeIn",
- "fadeOut",
- "fadeInFadeOut"
-]
removedInput schema / $defs / TextToSpeechAsset / properties / effect / type
Removed value: -"string"
addedInput schema / $defs / TextToSpeechAsset / properties / volume / $ref
Added value: +"#/$defs/volume"
removedInput schema / $defs / TextToSpeechAsset / properties / volume / description
Removed value: -"Set the volume of the audio clip. Use a number or an array of [Tween](./#tocs_tween) objects to create custom volume transitions."
removedInput schema / $defs / TextToSpeechAsset / properties / volume / oneOf
Removed value: -[
- {
- "description": "The volume level for the audio clip. Range varies from 0 to 1 where 0 is muted and 1 is full volume (defaults to 1).",
- "format": "float",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- {
- "description": "An array of [Tween](./#tocs_tween) objects used to create a custom volume effect. Modify the volume of an asset over time.",
- "items": {
- "$ref": "#/$defs/Tween"
- },
- "type": "array"
- }
-]
addedInput schema / $defs / VideoAsset / properties / options / $ref
Added value: +"#/$defs/options"
removedInput schema / $defs / VideoAsset / properties / options / additionalProperties
Removed value: -true
removedInput schema / $defs / VideoAsset / properties / options / description
Removed value: -"Model-specific generation settings. Valid keys and values depend on the chosen `model` and are defined by the model registry. Omitted options use the model's defaults. Unknown or invalid options are rejected."
removedInput schema / $defs / VideoAsset / properties / options / type
Removed value: -"object"
addedInput schema / $defs / effect
Added value: +{
+ "description": "The effect to apply to the audio asset <ul>\n <li>`fadeIn` - fade volume in only</li>\n <li>`fadeOut` - fade volume out only</li>\n <li>`fadeInFadeOut` - fade volume in and out</li>\n</ul>",
+ "enum": [
+ "none",
+ "fadeIn",
+ "fadeOut",
+ "fadeInFadeOut"
+ ],
+ "type": "string"
+}
addedInput schema / $defs / filename
Added value: +{
+ "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.",
+ "type": [
+ "string",
+ "null"
+ ]
+}
addedInput schema / $defs / filename_2
Added value: +{
+ "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.",
+ "type": "string"
+}
addedInput schema / $defs / options
Added value: +{
+ "additionalProperties": true,
+ "description": "Model-specific generation settings. Valid keys and values depend on the chosen `model` and are defined by the model registry. Omitted options use the model's defaults. Unknown or invalid options are rejected.",
+ "type": "object"
+}
addedInput schema / $defs / volume
Added value: +{
+ "description": "Set the volume of the audio clip. Use a number or an array of [Tween](./#tocs_tween) objects to create custom volume transitions.",
+ "oneOf": [
+ {
+ "description": "The volume level for the audio clip. Range varies from 0 to 1 where 0 is muted and 1 is full volume (defaults to 1).",
+ "format": "float",
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number"
+ },
+ {
+ "description": "An array of [Tween](./#tocs_tween) objects used to create a custom volume effect. Modify the volume of an asset over time.",
+ "items": {
+ "$ref": "#/$defs/Tween"
+ },
+ "type": "array"
+ }
+ ]
+}
changedInput schema / properties / confirm / description
Previous value: -"Must be true for this exact requested render, generation, mutation, upload URL or deletion."New value: +"Set true only when the user asked for exactly this action."
addedInput schema / properties / payload / $defs / Asset / $ref
Added value: +"#/$defs/Asset"
removedInput schema / properties / payload / $defs / Asset / description
Removed value: -"The type of asset to display for the duration of the Clip, i.e. a video clip or an image. Choose from one of the available asset types below."
removedInput schema / properties / payload / $defs / Asset / oneOf
Removed value: -[
- {
- "$ref": "#/$defs/VideoAsset"
- },
- {
- "$ref": "#/$defs/ImageAsset"
- },
- {
- "$ref": "#/$defs/TextAsset"
- },
- {
- "$ref": "#/$defs/RichTextAsset"
- },
- {
- "$ref": "#/$defs/AudioAsset"
- },
- {
- "$ref": "#/$defs/LumaAsset"
- },
- {
- "$ref": "#/$defs/CaptionAsset"
- },
- {
- "$ref": "#/$defs/RichCaptionAsset"
- },
- {
- "$ref": "#/$defs/HtmlAsset"
- },
- {
- "$ref": "#/$defs/Html5Asset"
- },
- {
- "$ref": "#/$defs/TitleAsset"
- },
- {
- "$ref": "#/$defs/ShapeAsset"
- },
- {
- "$ref": "#/$defs/SvgAsset"
- },
- {
- "$ref": "#/$defs/TextToImageAsset"
- },
- {
- "$ref": "#/$defs/ImageToVideoAsset"
- },
- {
- "$ref": "#/$defs/TextToSpeechAsset"
- }
-]
removedInput schema / properties / payload / $defs / Asset / type
Removed value: -"object"
removedInput schema / properties / payload / $defs / Asset / unevaluatedProperties
Removed value: -false
addedInput schema / properties / payload / $defs / AudioAsset / $ref
Added value: +"#/$defs/AudioAsset"
removedInput schema / properties / payload / $defs / AudioAsset / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / AudioAsset / description
Removed value: -"The AudioAsset adds audio to a Clip. The audio can be sourced from a URL\n(`src`), generated from a text prompt (`prompt`), or both. At least one of\n`src` or `prompt` must be provided.\n\n- **Source URL:** set `src` to a publicly accessible audio URL (e.g. mp3).\n- **Generated speech:** set `prompt` to the spoken text and choose a\n text-to-speech `model`; set the voice via `options`.\n- **Generated music or SFX:** set `prompt` describing the sound and choose\n a music generation `model`.\n- **Both:** `src` acts as a preview placeholder while `prompt` drives\n generation — the audio is regenerated from the prompt at render time.\n Unchanged prompts and options resolve from the generation cache.\n- Use `model` to choose the generator and `options` to configure it. The\n generated `src` is filled in automatically.\n"
removedInput schema / properties / payload / $defs / AudioAsset / properties
Removed value: -{
- "effect": {
- "description": "The effect to apply to the audio asset <ul>\n <li>`fadeIn` - fade volume in only</li>\n <li>`fadeOut` - fade volume out only</li>\n <li>`fadeInFadeOut` - fade volume in and out</li>\n</ul>",
- "enum": [
- "none",
- "fadeIn",
- "fadeOut",
- "fadeInFadeOut"
- ],
- "type": "string"
- },
- "model": {
- "description": "The generation model to use when `prompt` is set (e.g. `polly-neural`, `elevenlabs-tts`, `elevenlabs-music`). Defaults to `elevenlabs-tts` (with a default voice) if omitted. Each model's available options are defined by the model registry.",
- "type": "string"
- },
- "options": {
- "additionalProperties": true,
- "description": "Model-specific generation settings. Valid keys and values depend on the chosen `model` and are defined by the model registry. Omitted options use the model's defaults. Unknown or invalid options are rejected.",
- "type": "object"
- },
- "prompt": {
- "description": "A text prompt. For text-to-speech models the prompt is the spoken text; for music models it describes the sound to generate. The generated `src` is filled in automatically; an existing `src` is treated as a preview placeholder and replaced.",
- "maxLength": 4000,
- "type": "string"
- },
- "speed": {
- "description": "Adjust the playback speed of the audio clip between 0 (paused) and 10 (10x normal speed), where 1 is normal speed (defaults to 1). Adjusting the speed will also adjust the duration of the clip and may require you to adjust the Clip length. For example, if you set speed to 0.5, the clip will need to be 2x as long to play the entire audio (i.e. original length / 0.5). If you set speed to 2, the clip will need to be half as long to play the entire audio (i.e. original length / 2).",
- "format": "float",
- "maximum": 10,
- "minimum": 0,
- "type": "number"
- },
- "src": {
- "description": "The audio source URL. The URL must be publicly accessible or include credentials. When `prompt` is also set, `src` serves as a preview placeholder and the audio is regenerated from the prompt at render time.",
- "minLength": 1,
- "pattern": "\\S",
- "type": "string"
- },
- "trim": {
- "description": "The start trim point of the audio clip, in seconds (defaults to 0). Audio will start from the in trim point. The audio will play until the file ends or the Clip length is reached.",
- "type": "number"
- },
- "type": {
- "default": "audio",
- "description": "The type of asset - set to `audio` for audio assets.",
- "enum": [
- "audio"
- ],
- "type": "string"
- },
- "volume": {
- "description": "Set the volume of the audio clip. Use a number or an array of [Tween](./#tocs_tween) objects to create custom volume transitions.",
- "oneOf": [
- {
- "description": "The volume level for the audio clip. Range varies from 0 to 1 where 0 is muted and 1 is full volume (defaults to 1).",
- "format": "float",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- {
- "description": "An array of [Tween](./#tocs_tween) objects used to create a custom volume effect. Modify the volume of an asset over time.",
- "items": {
- "$ref": "#/$defs/Tween"
- },
- "type": "array"
- }
- ]
- }
-}
removedInput schema / properties / payload / $defs / AudioAsset / required
Removed value: -[
- "type"
-]
removedInput schema / properties / payload / $defs / AudioAsset / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / CaptionAsset / $ref
Added value: +"#/$defs/CaptionAsset"
removedInput schema / properties / payload / $defs / CaptionAsset / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / CaptionAsset / deprecated
Removed value: -true
removedInput schema / properties / payload / $defs / CaptionAsset / description
Removed value: -"**Notice: The CaptionAsset is deprecated, use the [RichCaptionAsset](#tocs_richcaptionasset) instead.**\n\nThe CaptionAsset is used to add captions (subtitles) to a video. It uses a supplied SRT or VTT file which will\nbe read and burnt to the video.\n\nCaptions can be applied independently from a video or audio file for greater\nflexibility with styling and layout. For example you can scale, position or crop a video without modifying the\ncaptions.\n\nTo sync captions with a video or audio file use a [Video](#tocs_videoasset) or [Audio](#tocs_audioasset) with\nmatching start and end time.\n"
removedInput schema / properties / payload / $defs / CaptionAsset / properties
Removed value: -{
- "background": {
- "$ref": "#/$defs/CaptionBackground",
- "description": "Background styling properties."
- },
- "font": {
- "$ref": "#/$defs/CaptionFont",
- "description": "Font styling properties."
- },
- "margin": {
- "$ref": "#/$defs/CaptionMargin",
- "description": "Margin properties."
- },
- "speed": {
- "description": "Adjust the playback speed of the captions between 0 (paused) and 10 (10x normal speed) where 1 is normal speed (defaults to 1). Adjusting the speed will also adjust the duration of the clip and may require you to adjust the Clip length. For example, if you set speed to 0.5, the clip will need to be 2x as long to play the entire captions (i.e. original length / 0.5). If you set speed to 2, the clip will need to be half as long to play the entire captions (i.e. original length / 2).",
- "format": "float",
- "maximum": 10,
- "minimum": 0,
- "type": "number"
- },
- "src": {
- "description": "The URL to an SRT or VTT subtitles file, or an alias reference to auto-generate captions from an audio or video clip. For file URLs, the URL must be publicly accessible or include credentials. For auto-captioning, use the format `alias://clip-name` where clip-name is the alias of an audio, video, or text-to-speech clip. The system will automatically transcribe the audio and detect the language.",
- "minLength": 1,
- "pattern": "\\S",
- "type": "string"
- },
- "trim": {
- "description": "The start trim point of the captions, in seconds (defaults to 0). Remove the trim length from the start of the captions and allow it to be synced with video or audio. The captions will play until the file ends or the Clip length is reached.",
- "type": "number"
- },
- "type": {
- "default": "caption",
- "description": "The type of asset - set to `caption` for captions.",
- "enum": [
- "caption"
- ],
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / CaptionAsset / required
Removed value: -[
- "type",
- "src"
-]
removedInput schema / properties / payload / $defs / CaptionAsset / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / CaptionBackground / $ref
Added value: +"#/$defs/CaptionBackground"
removedInput schema / properties / payload / $defs / CaptionBackground / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / CaptionBackground / description
Removed value: -"Displays a background box behind the caption text."
removedInput schema / properties / payload / $defs / CaptionBackground / properties
Removed value: -{
- "borderRadius": {
- "description": "The border radius of the background box in pixels.",
- "type": "integer"
- },
- "color": {
- "description": "The background color using hexadecimal color notation.",
- "type": "string"
- },
- "opacity": {
- "description": "The opacity of the background color.",
- "type": "number"
- },
- "padding": {
- "description": "The padding inside the background box in pixels.",
- "type": "integer"
- }
-}
removedInput schema / properties / payload / $defs / CaptionBackground / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / CaptionFont / $ref
Added value: +"#/$defs/CaptionFont"
removedInput schema / properties / payload / $defs / CaptionFont / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / CaptionFont / description
Removed value: -"Font properties for captions text."
removedInput schema / properties / payload / $defs / CaptionFont / properties
Removed value: -{
- "color": {
- "description": "The text color using hexadecimal color notation.",
- "type": "string"
- },
- "family": {
- "description": "The font family name. This must be Family name embedded in the font, i.e. \"Open Sans\".",
- "type": "string"
- },
- "lineHeight": {
- "description": "The line height of the font as a ratio of the font size.",
- "type": "number"
- },
- "opacity": {
- "description": "The opacity of the text where 1 is opaque and 0 is transparent.",
- "type": "number"
- },
- "size": {
- "description": "The size of the font in pixels (px).",
- "type": "integer"
- },
- "stroke": {
- "description": "The stroke color of the font using hexadecimal color notation.",
- "type": "string"
- },
- "strokeWidth": {
- "description": "The width of the stroke in pixels.",
- "type": "number"
- }
-}
removedInput schema / properties / payload / $defs / CaptionFont / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / CaptionMargin / $ref
Added value: +"#/$defs/CaptionMargin"
removedInput schema / properties / payload / $defs / CaptionMargin / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / CaptionMargin / description
Removed value: -"The margin properties for captions. Margins are used to position the caption text and background on the screen."
removedInput schema / properties / payload / $defs / CaptionMargin / properties
Removed value: -{
- "left": {
- "description": "The margin to the left of the text. Pushes captions to the right.",
- "type": "number"
- },
- "right": {
- "description": "The margin to the right of the text. Pushes captions to the left.",
- "type": "number"
- },
- "top": {
- "description": "The margin above the text. Pushes captions down the screen.",
- "type": "number"
- }
-}
removedInput schema / properties / payload / $defs / CaptionMargin / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / ChromaKey / $ref
Added value: +"#/$defs/ChromaKey"
removedInput schema / properties / payload / $defs / ChromaKey / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / ChromaKey / description
Removed value: -"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."
removedInput schema / properties / payload / $defs / ChromaKey / properties
Removed value: -{
- "color": {
- "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.",
- "pattern": "^#[0-9a-fA-F]{6}$",
- "type": "string"
- },
- "halo": {
- "description": "Pixels within the halo distance from the threshold boundary are given an increasing alpha value based on their distance from the threshold.",
- "maximum": 250,
- "minimum": 0,
- "type": "integer"
- },
- "threshold": {
- "description": "Pixels within this distance from the key color are eliminated by setting their alpha values to zero.",
- "maximum": 250,
- "minimum": 0,
- "type": "integer"
- }
-}
removedInput schema / properties / payload / $defs / ChromaKey / required
Removed value: -[
- "color"
-]
removedInput schema / properties / payload / $defs / ChromaKey / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / Clip / $ref
Added value: +"#/$defs/Clip"
removedInput schema / properties / payload / $defs / Clip / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / Clip / description
Removed value: -"A clip is a container for a specific type of asset, i.e. a title, image, video, audio or html. You use a Clip to define when an asset will display on the timeline, how long it will play for and transitions, filters and effects to apply to it."
removedInput schema / properties / payload / $defs / Clip / properties
Removed value: -{
- "alias": {
- "description": "A unique identifier for this clip that can be used to reference it from other clips using the `alias://` protocol in asset sources. This is useful for features like auto-captioning where a caption asset needs to reference the audio from another clip.",
- "pattern": "^[A-Za-z0-9_-]+$",
- "type": "string"
- },
- "asset": {
- "$ref": "#/$defs/Asset"
- },
- "effect": {
- "description": "A motion effect to apply to the Clip. <ul>\n <li>`zoomIn` - slow zoom in</li>\n <li>`zoomOut` - slow zoom out</li>\n <li>`slideLeft` - slow slide (pan) left</li>\n <li>`slideRight` - slow slide (pan) right</li>\n <li>`slideUp` - slow slide (pan) up</li>\n <li>`slideDown` - slow slide (pan) down</li>\n</ul> The motion effect speed can also be controlled by appending `Fast` or `Slow` to the effect, e.g. `zoomInFast` or `slideRightSlow`.",
- "enum": [
- "zoomIn",
- "zoomInSlow",
- "zoomInFast",
- "zoomOut",
- "zoomOutSlow",
- "zoomOutFast",
- "slideLeft",
- "slideLeftSlow",
- "slideLeftFast",
- "slideRight",
- "slideRightSlow",
- "slideRightFast",
- "slideUp",
- "slideUpSlow",
- "slideUpFast",
- "slideDown",
- "slideDownSlow",
- "slideDownFast"
- ],
- "type": "string"
- },
- "filter": {
- "description": "A filter effect to apply to the Clip. <ul>\n <li>`none` - no filter applied</li>\n <li>`blur` - blur the scene</li>\n <li>`boost` - boost contrast and saturation</li>\n <li>`contrast` - increase contrast</li>\n <li>`darken` - darken the scene</li>\n <li>`greyscale` - remove colour</li>\n <li>`lighten` - lighten the scene</li>\n <li>`muted` - reduce saturation and contrast</li>\n <li>`negative` - negative colors</li>\n</ul>",
- "enum": [
- "none",
- "blur",
- "boost",
- "contrast",
- "darken",
- "greyscale",
- "lighten",
- "muted",
- "negative"
- ],
- "type": "string"
- },
- "fit": {
- "description": "Set how the asset should be scaled to fit the viewport using one of the following options: \n <ul>\n <li>`crop` <b>(default)</b> - scale the asset to fill the viewport while maintaining the aspect ratio. The asset will be cropped if it exceeds the bounds of the viewport.</li>\n <li>`cover` - stretch the asset to fill the viewport without maintaining the aspect ratio.</li>\n <li>`contain` - fit the entire asset within the viewport while maintaining the original aspect ratio.</li>\n <li>`none` - preserves the original asset dimensions and does not apply any scaling.</li>\n </ul>",
- "enum": [
- "cover",
- "contain",
- "crop",
- "none"
- ],
- "type": "string"
- },
- "height": {
- "description": "Set the height of the clip bounding box in pixels. This constrains the height of the clip, overriding the default behavior where clips fill the viewport height.",
- "format": "float",
- "maximum": 2160,
- "minimum": 1,
- "type": "number"
- },
- "id": {
- "description": "Optional client-generated identifier. Used by client SDKs (e.g. the Shotstack Studio SDK) to reference a clip across edits without relying on its position in the timeline. The render API does not use this field and it does not appear in render output.",
- "type": "string"
- },
- "length": {
- "description": "The duration the Clip should play for.",
- "oneOf": [
- {
- "description": "The duration the Clip should play for, in seconds. For example, to play the Clip for 5 seconds, set the length value to 5.",
- "minimum": 0,
- "type": "number"
- },
- {
- "description": "The duration the Clip should play for using a [smart clip property](/docs/guide/architecting-an-application/smart-clips/). Set to `auto` to play the Clip for the duration of the asset. Set to `end` to display or play the clip to the end of the timeline. Use `alias://clip-name` to inherit the length from the referenced clip.",
- "pattern": "^(auto|end|alias://[A-Za-z0-9_-]+)$",
- "type": "string"
- }
- ]
- },
- "offset": {
- "$ref": "#/$defs/Offset",
- "description": "Offset the location of the asset relative to its position on the viewport. The offset distance is relative to the width of the viewport - for example an x offset of 0.5 will move the asset half the viewport width to the right."
- },
- "opacity": {
- "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.",
- "oneOf": [
- {
- "description": "Sets the opacity of the Clip where 1 is opaque and 0 is transparent.",
- "type": "number"
- },
- {
- "description": "An array of [Tween](./#tocs_tween) objects used to create a custom animation. Animate the opacity of an asset over time.",
- "items": {
- "$ref": "#/$defs/Tween"
- },
- "type": "array"
- }
- ]
- },
- "position": {
- "description": "Place the asset in one of nine predefined positions of the viewport. This is most effective for when the asset is scaled and you want to position the element to a specific position. <ul>\n <li>`top` - top (center)</li>\n <li>`topRight` - top right</li>\n <li>`right` - right (center)</li>\n <li>`bottomRight` - bottom right</li>\n <li>`bottom` - bottom (center)</li>\n <li>`bottomLeft` - bottom left</li>\n <li>`left` - left (center)</li>\n <li>`topLeft` - top left</li>\n <li>`center` - center</li>\n</ul>",
- "enum": [
- "top",
- "topRight",
- "right",
- "bottomRight",
- "bottom",
- "bottomLeft",
- "left",
- "topLeft",
- "center"
- ],
- "type": "string"
- },
- "scale": {
- "description": "Scale the asset to a fraction of the viewport size - i.e. setting the scale to 0.5 will scale asset to half the size of the viewport. This is useful for picture-in-picture video and scaling images such as logos and watermarks. Use a number or an array of [Tween](./#tocs_tween) objects to create a custom animation.",
- "oneOf": [
- {
- "description": "Scale the asset to a fraction of the viewport size. For example, 0.5 will scale the asset to half the size of the viewport.",
- "format": "float",
- "type": "number"
- },
- {
- "description": "An array of [Tween](./#tocs_tween) objects used to create a custom animation. Animate the scale of an asset over time.",
- "items": {
- "$ref": "#/$defs/Tween"
- },
- "type": "array"
- }
- ]
- },
- "start": {
- "description": "The start position of the Clip on the timeline.",
- "oneOf": [
- {
- "description": "The start position of the Clip on the timeline, in seconds. For example, to start the Clip at 2 seconds, set the start value to 2.",
- "minimum": 0,
- "type": "number"
- },
- {
- "description": "The start position using a [smart clip property](/docs/guide/architecting-an-application/smart-clips/). Set to `auto` to automatically play the clip after the previous clip finishes. Use `alias://clip-name` to inherit the start time from the referenced clip.",
- "pattern": "^(auto|alias://[A-Za-z0-9_-]+)$",
- "type": "string"
- }
- ]
- },
- "transform": {
- "$ref": "#/$defs/Transformation",
- "description": "A transformation lets you modify the visual properties of a clip. Available transformations are <b>rotate</b>, <b>skew</b> and <b>flip</b>. Transformations can be combined to create interesting new shapes and effects."
- },
- "transition": {
- "$ref": "#/$defs/Transition"
- },
- "width": {
- "description": "Set the width of the clip bounding box in pixels. This constrains the width of the clip, overriding the default behavior where clips fill the viewport width.",
- "format": "float",
- "maximum": 3840,
- "minimum": 1,
- "type": "number"
- }
-}
removedInput schema / properties / payload / $defs / Clip / required
Removed value: -[
- "asset",
- "start",
- "length"
-]
removedInput schema / properties / payload / $defs / Clip / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / Crop / $ref
Added value: +"#/$defs/Crop"
removedInput schema / properties / payload / $defs / Crop / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / Crop / description
Removed value: -"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."
removedInput schema / properties / payload / $defs / Crop / properties
Removed value: -{
- "bottom": {
- "description": "Crop from the bottom of the asset",
- "format": "float",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "left": {
- "description": "Crop from the left of the asset",
- "format": "float",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "right": {
- "description": "Crop from the left of the asset",
- "format": "float",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "top": {
- "description": "Crop from the top of the asset",
- "format": "float",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- }
-}
removedInput schema / properties / payload / $defs / Crop / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / Destinations / $ref
Added value: +"#/$defs/Destinations"
removedInput schema / properties / payload / $defs / Destinations / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / Destinations / anyOf
Removed value: -[
- {
- "$ref": "#/$defs/ShotstackDestination"
- },
- {
- "$ref": "#/$defs/MuxDestination"
- },
- {
- "$ref": "#/$defs/S3Destination"
- },
- {
- "$ref": "#/$defs/GoogleCloudStorageDestination"
- },
- {
- "$ref": "#/$defs/GoogleDriveDestination"
- },
- {
- "$ref": "#/$defs/VimeoDestination"
- },
- {
- "deprecated": true,
- "description": "**Notice: The TikTok destination is deprecated.** It continues to work, with no behaviour change for existing integrations.\nSend videos to TikTok. TikTok credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/tiktok), not in the request.",
- "properties": {
- "options": {
- "deprecated": true,
- "description": "Additional TikTok configuration options.",
- "properties": {
- "disableComment": {
- "default": false,
- "description": "Disable comments on this video.",
- "type": "boolean"
- },
- "disableDuet": {
- "default": false,
- "description": "Disable the Duet feature for this video.",
- "type": "boolean"
- },
- "disableStitch": {
- "default": false,
- "description": "Disable the Stitch feature for this video.",
- "type": "boolean"
- },
- "privacyLevel": {
- "default": "private",
- "description": "The privacy level for the video. Options are: <ul>\n <li>`public` - video is visible to everyone</li>\n <li>`friends` - video is visible to friends only</li>\n <li>`private` - video is only visible to you</li>\n</ul>",
- "enum": [
- "public",
- "friends",
- "private"
- ],
- "type": "string"
- },
- "title": {
- "description": "A title for the video that will be displayed on TikTok.",
- "maxLength": 150,
- "type": "string"
- }
- },
- "type": "object"
- },
- "provider": {
- "default": "tiktok",
- "description": "The destination to send video to - set to `tiktok` for TikTok.",
- "type": "string"
- }
- },
- "required": [
- "provider"
- ],
- "type": "object"
- },
- {
- "description": "Send videos and assets to [Akamai NetStorage](https://techdocs.akamai.com/netstorage/docs). Send files to your NetStorage upload directory with a custom path and filename. Akamai credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/akamai-netstorage), not in the request.",
- "properties": {
- "options": {
- "description": "Additional Akamai NetStorage configuration options.",
- "properties": {
- "cpCode": {
- "description": "The Content Provider code (CP code) for the NetStorage upload directory.",
- "type": "string"
- },
- "filename": {
- "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.",
- "type": [
- "string",
- "null"
- ]
- },
- "host": {
- "description": "The Akamai NetStorage hostname, i.e. `example-nsu.akamaihd.net`.",
- "type": "string"
- },
- "path": {
- "description": "A remote directory path/prefix for the file being sent, i.e. `videos` or `customerId/videos`.",
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "host",
- "cpCode"
- ]
- },
- "provider": {
- "default": "akamai-netstorage",
- "description": "The destination to send assets to - set to `akamai-netstorage` for Akamai NetStorage.",
- "type": "string"
- }
- },
- "required": [
- "provider"
- ],
- "type": "object"
- },
- {
- "description": "Send videos and assets to [Azure Blob Storage](https://learn.microsoft.com/en-us/azure/storage/blobs/). Send files to any container with a custom prefix and filename. Azure credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/azure-blob-storage), not in the request.",
- "properties": {
- "options": {
- "description": "Additional Azure Blob Storage configuration options.",
- "properties": {
- "accountName": {
- "description": "The Azure Storage account name.",
- "type": "string"
- },
- "container": {
- "description": "The Blob container name. The container must exist in the Azure Storage account before files can be sent.",
- "type": "string"
- },
- "filename": {
- "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.",
- "type": [
- "string",
- "null"
- ]
- },
- "prefix": {
- "description": "A virtual directory prefix for the blob being sent, i.e. `videos` or `customerId/videos`.",
- "type": [
- "string",
- "null"
- ]
- }
- },
- "required": [
- "accountName",
- "container"
- ]
- },
- "provider": {
- "default": "azure-blob-storage",
- "description": "The destination to send assets to - set to `azure-blob-storage` for Azure Blob Storage.",
- "type": "string"
- }
- },
- "required": [
- "provider"
- ],
- "type": "object"
- }
-]
removedInput schema / properties / payload / $defs / Destinations / description
Removed value: -"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.\n\nBy 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**."
removedInput schema / properties / payload / $defs / Destinations / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / Edit / $ref
Added value: +"#/$defs/Edit"
removedInput schema / properties / payload / $defs / Edit / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / Edit / description
Removed value: -"An edit defines the arrangement of a video on a timeline, an audio edit or an image design and the output format. Video assets are automatically preprocessed to fix common compatibility issues before rendering. You can control preprocessing behavior using the `transcode` flag on video assets."
removedInput schema / properties / payload / $defs / Edit / properties
Removed value: -{
- "callback": {
- "description": "An optional webhook callback URL used to receive status notifications when a render completes or fails. Notifications are also sent when a rendered video is sent to an output [destination](https://shotstack.io/docs/guide/serving-assets/destinations/).\nSee [webhooks](https://shotstack.io/docs/guide/architecting-an-application/webhooks/) for more details.",
- "type": "string"
- },
- "disk": {
- "deprecated": true,
- "description": "**Notice: This option is now deprecated and will be removed. Disk types are handled automatically. Setting a disk type has no effect.**\n\nThe disk type to use for storing footage and assets for each render.\n<ul>\n <li>`local` - optimized for high speed rendering with up to 512MB storage</li>\n <li>`mount` - optimized for larger file sizes and longer videos with 5GB for source footage and 512MB for output render</li>\n</ul>\n",
- "enum": [
- "local",
- "mount"
- ],
- "type": "string"
- },
- "instance": {
- "default": "s1",
- "description": "The render instance type to use for processing the edit. <ul>\n <li>`s1` - standard instance (default)</li>\n <li>`s2` - standard instance with more resources</li>\n <li>`a1` - accelerated instance for faster rendering</li>\n</ul>",
- "enum": [
- "s1",
- "s2",
- "a1"
- ],
- "type": "string"
- },
- "merge": {
- "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`. ",
- "items": {
- "$ref": "#/$defs/MergeField"
- },
- "type": "array"
- },
- "output": {
- "$ref": "#/$defs/Output"
- },
- "timeline": {
- "$ref": "#/$defs/Timeline"
- }
-}
removedInput schema / properties / payload / $defs / Edit / required
Removed value: -[
- "timeline",
- "output"
-]
removedInput schema / properties / payload / $defs / Edit / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / FlipTransformation / $ref
Added value: +"#/$defs/FlipTransformation"
removedInput schema / properties / payload / $defs / FlipTransformation / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / FlipTransformation / description
Removed value: -"Flip a clip vertically or horizontally. Acts as a mirror effect of the clip along the selected plane."
removedInput schema / properties / payload / $defs / FlipTransformation / properties
Removed value: -{
- "horizontal": {
- "description": "Flip a clip horizontally.",
- "type": "boolean"
- },
- "vertical": {
- "description": "Flip a clip vertically.",
- "type": "boolean"
- }
-}
removedInput schema / properties / payload / $defs / FlipTransformation / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / Font / $ref
Added value: +"#/$defs/Font"
removedInput schema / properties / payload / $defs / Font / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / Font / description
Removed value: -"Download a custom font to use with the HTML asset type, using the font name in the CSS or font tag. See our [custom fonts](https://shotstack.io/learn/html-custom-fonts/) getting started guide for more details."
removedInput schema / properties / payload / $defs / Font / properties
Removed value: -{
- "src": {
- "description": "The URL of the font file. The URL must be publicly accessible or include credentials.",
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / Font / required
Removed value: -[
- "src"
-]
removedInput schema / properties / payload / $defs / Font / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / GoogleCloudStorageDestination / $ref
Added value: +"#/$defs/GoogleCloudStorageDestination"
removedInput schema / properties / payload / $defs / GoogleCloudStorageDestination / description
Removed value: -"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."
removedInput schema / properties / payload / $defs / GoogleCloudStorageDestination / properties
Removed value: -{
- "options": {
- "$ref": "#/$defs/GoogleCloudStorageDestinationOptions",
- "description": "Additional Google Cloud Storage configuration options."
- },
- "provider": {
- "default": "google-cloud-storage",
- "description": "The destination to send assets to - set to `google-cloud-storage` for Google Cloud Storage.",
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / GoogleCloudStorageDestination / required
Removed value: -[
- "provider"
-]
removedInput schema / properties / payload / $defs / GoogleCloudStorageDestination / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / GoogleCloudStorageDestinationOptions / $ref
Added value: +"#/$defs/GoogleCloudStorageDestinationOptions"
removedInput schema / properties / payload / $defs / GoogleCloudStorageDestinationOptions / description
Removed value: -"Pass additional options to control how files are stored in Google Cloud Storage."
removedInput schema / properties / payload / $defs / GoogleCloudStorageDestinationOptions / properties
Removed value: -{
- "bucket": {
- "description": "The bucket name to send files to. The bucket must exist in the Google Cloud Storage account before files can be sent.",
- "type": "string"
- },
- "filename": {
- "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.",
- "type": "string"
- },
- "prefix": {
- "description": "A prefix for the file being sent. This is typically a folder name, i.e. `videos` or `customerId/videos`.",
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / GoogleCloudStorageDestinationOptions / required
Removed value: -[
- "bucket"
-]
addedInput schema / properties / payload / $defs / GoogleDriveDestination / $ref
Added value: +"#/$defs/GoogleDriveDestination"
removedInput schema / properties / payload / $defs / GoogleDriveDestination / description
Removed value: -"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."
removedInput schema / properties / payload / $defs / GoogleDriveDestination / properties
Removed value: -{
- "options": {
- "$ref": "#/$defs/GoogleDriveDestinationOptions",
- "description": "Additional Google Drive configuration and features. If omitted, files are saved to the root of My Drive using the default Shotstack filename."
- },
- "provider": {
- "default": "google-drive",
- "description": "The destination to send assets to - set to `google-drive` for Google Drive.",
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / GoogleDriveDestination / required
Removed value: -[
- "provider"
-]
removedInput schema / properties / payload / $defs / GoogleDriveDestination / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / GoogleDriveDestinationOptions / $ref
Added value: +"#/$defs/GoogleDriveDestinationOptions"
removedInput schema / properties / payload / $defs / GoogleDriveDestinationOptions / description
Removed value: -"Pass the folder ID and options to configure how assets are stored in Google Drive."
removedInput schema / properties / payload / $defs / GoogleDriveDestinationOptions / properties
Removed value: -{
- "filename": {
- "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.",
- "type": "string"
- },
- "folderId": {
- "description": "The Google Drive folder ID where the asset will be stored. If omitted, the asset is saved to the root of My Drive. The folder ID 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>.",
- "type": "string"
- }
-}
addedInput schema / properties / payload / $defs / Html5Asset / $ref
Added value: +"#/$defs/Html5Asset"
removedInput schema / properties / payload / $defs / Html5Asset / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / Html5Asset / description
Removed value: -"The Html5Asset renders full HTML5/CSS3/JS.\n"
removedInput schema / properties / payload / $defs / Html5Asset / properties
Removed value: -{
- "css": {
- "description": "The CSS string applied to the HTML. Max 500,000 characters.",
- "maxLength": 500000,
- "type": "string"
- },
- "html": {
- "description": "The HTML markup for the asset. Max 1,000,000 characters.",
- "maxLength": 1000000,
- "type": "string"
- },
- "js": {
- "description": "Optional JavaScript. Use for chart libraries, animations, or DOM manipulation. `gsap`, `d3`, `anime` and `lottie` are always available. CSS animations, transitions, and `Element.animate()` are also captured automatically. Max 500,000 characters.\n",
- "maxLength": 500000,
- "type": "string"
- },
- "type": {
- "default": "html5",
- "description": "The type of asset - set to `html5` for HTML5/CSS3/JS.",
- "enum": [
- "html5"
- ],
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / Html5Asset / required
Removed value: -[
- "type",
- "html"
-]
removedInput schema / properties / payload / $defs / Html5Asset / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / HtmlAsset / $ref
Added value: +"#/$defs/HtmlAsset"
removedInput schema / properties / payload / $defs / HtmlAsset / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / HtmlAsset / deprecated
Removed value: -true
removedInput schema / properties / payload / $defs / HtmlAsset / description
Removed value: -"**Notice: The HtmlAsset is deprecated, use the [RichTextAsset](#tocs_richtextasset) instead.**\n\nThe HtmlAsset clip type lets you create text based layout and formatting using\nHTML and CSS. You can also set the height and width of a bounding box for the HTML\ncontent to sit within. Text and elements will wrap within the bounding box.\n"
removedInput schema / properties / payload / $defs / HtmlAsset / properties
Removed value: -{
- "background": {
- "description": "Apply a background color behind the HTML bounding box using. Set the text color using hexadecimal color notation. Transparency is supported by setting the first two characters of the hex string (opposite to HTML), i.e. #80ffffff will be white with 50% transparency.",
- "type": "string"
- },
- "css": {
- "description": "The CSS text string to apply styling to the HTML. See list of [support CSS properties](https://shotstack.io/docs/guide/architecting-an-application/html-support/#supported-css-properties).",
- "type": "string"
- },
- "height": {
- "description": "Set the width of the HTML asset bounding box in pixels. Text and elements will be masked if they exceed the height of the bounding box.",
- "type": "integer"
- },
- "html": {
- "description": "The HTML text string. See list of [supported HTML tags](https://shotstack.io/docs/guide/architecting-an-application/html-support/#supported-html-tags).",
- "type": "string"
- },
- "position": {
- "description": "Place the HTML in one of nine predefined positions within the HTML area. <ul>\n <li>`top` - top (center)</li>\n <li>`topRight` - top right</li>\n <li>`right` - right (center)</li>\n <li>`bottomRight` - bottom right</li>\n <li>`bottom` - bottom (center)</li>\n <li>`bottomLeft` - bottom left</li>\n <li>`left` - left (center)</li>\n <li>`topLeft` - top left</li>\n <li>`center` - center</li>\n</ul>",
- "enum": [
- "top",
- "topRight",
- "right",
- "bottomRight",
- "bottom",
- "bottomLeft",
- "left",
- "topLeft",
- "center"
- ],
- "type": "string"
- },
- "type": {
- "default": "html",
- "description": "The type of asset - set to `html` for HTML.",
- "enum": [
- "html"
- ],
- "type": "string"
- },
- "width": {
- "description": "Set the width of the HTML asset bounding box in pixels. Text will wrap to fill the bounding box.",
- "type": "integer"
- }
-}
removedInput schema / properties / payload / $defs / HtmlAsset / required
Removed value: -[
- "type",
- "html"
-]
removedInput schema / properties / payload / $defs / HtmlAsset / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / ImageAsset / $ref
Added value: +"#/$defs/ImageAsset"
removedInput schema / properties / payload / $defs / ImageAsset / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / ImageAsset / description
Removed value: -"The ImageAsset adds an image to a Clip. The image can be sourced from a URL\n(`src`), generated from a text prompt (`prompt`), or both. At least one of\n`src` or `prompt` must be provided.\n\n- **Source URL:** set `src` to the publicly accessible URL of a jpg or png file.\n- **Generated:** set `prompt` to describe the image. Choose a generator with\n `model` and configure it with model-specific `options`; the engine fills\n `src` in automatically.\n- **Both:** `src` acts as a preview placeholder while `prompt` drives\n generation — the image is regenerated from the prompt at render time.\n Unchanged prompts and options resolve from the generation cache.\n"
removedInput schema / properties / payload / $defs / ImageAsset / properties
Removed value: -{
- "crop": {
- "$ref": "#/$defs/Crop"
- },
- "model": {
- "description": "The generation model to use when `prompt` is set (e.g. `flux-schnell`, `nano-banana-2`). Defaults to `nano-banana-2` if omitted. Each model's available options are defined by the model registry.",
- "type": "string"
- },
- "options": {
- "additionalProperties": true,
- "description": "Model-specific generation settings. Valid keys and values depend on the chosen `model` and are defined by the model registry. Omitted options use the model's defaults. Unknown or invalid options are rejected.",
- "type": "object"
- },
- "prompt": {
- "description": "A text prompt to generate the image from. The engine generates an image at render time and fills `src` automatically; an existing `src` is treated as a preview placeholder and replaced. Use `model` to choose the generator and `options` to configure it.",
- "maxLength": 4000,
- "type": "string"
- },
- "src": {
- "description": "The image source URL. The URL must be publicly accessible or include credentials. When `prompt` is also set, `src` serves as a preview placeholder and the image is regenerated from the prompt at render time.",
- "minLength": 1,
- "pattern": "\\S",
- "type": "string"
- },
- "type": {
- "default": "image",
- "description": "The type of asset - set to `image` for images.",
- "enum": [
- "image"
- ],
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / ImageAsset / required
Removed value: -[
- "type"
-]
removedInput schema / properties / payload / $defs / ImageAsset / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / ImageToVideoAsset / $ref
Added value: +"#/$defs/ImageToVideoAsset"
removedInput schema / properties / payload / $defs / ImageToVideoAsset / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / ImageToVideoAsset / deprecated
Removed value: -true
removedInput schema / properties / payload / $defs / ImageToVideoAsset / description
Removed value: -"**Notice: ImageToVideoAsset is deprecated. Use [VideoAsset](#tocs_videoasset)\nwith `prompt`, a `model` that accepts a starting image, and that image in\n`options.startSrc` — for example `seedance-2.0-image-to-video`.** This type continues to\nfunction and is internally rewritten to VideoAsset; no behaviour change for\nexisting integrations.\n\nThe ImageToVideoAsset lets you create a video from an image and a text prompt.\n"
removedInput schema / properties / payload / $defs / ImageToVideoAsset / properties
Removed value: -{
- "aspectRatio": {
- "description": "The aspect ratio (shape) of the video output.",
- "enum": [
- "1:1",
- "4:3",
- "16:9",
- "9:16",
- "3:4",
- "21:9",
- "9:21"
- ],
- "type": "string"
- },
- "crop": {
- "$ref": "#/$defs/Crop"
- },
- "prompt": {
- "description": "The instructions for modifying the image into a video sequence.",
- "type": "string"
- },
- "speed": {
- "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). Adjusting the speed will also adjust the duration of the clip and may require you to adjust the Clip length. For example, if you set speed to 0.5, the clip will need to be 2x as long to play the entire video (i.e. original length / 0.5). If you set speed to 2, the clip will need to be half as long to play the entire video (i.e. original length / 2).",
- "format": "float",
- "maximum": 10,
- "minimum": 0,
- "type": "number"
- },
- "src": {
- "description": "The image source URL. The URL must be publicly accessible or include credentials.",
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "default": "image-to-video",
- "description": "The type of asset to generate - set to `image-to-video` for image-to-video.",
- "enum": [
- "image-to-video"
- ],
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / ImageToVideoAsset / required
Removed value: -[
- "type",
- "src"
-]
removedInput schema / properties / payload / $defs / ImageToVideoAsset / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / LumaAsset / $ref
Added value: +"#/$defs/LumaAsset"
removedInput schema / properties / payload / $defs / LumaAsset / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / LumaAsset / description
Removed value: -"The LumaAsset is used to create luma matte masks, transitions and effects between other assets. A luma matte is a grey scale image or animated video where the black areas are transparent and the white areas solid. The luma matte animation should be provided as an mp4 video file. The src must be a publicly accessible URL to the file."
removedInput schema / properties / payload / $defs / LumaAsset / properties
Removed value: -{
- "src": {
- "description": "The luma matte source URL. The URL must be publicly accessible or include credentials.",
- "minLength": 1,
- "pattern": "\\S",
- "type": "string"
- },
- "trim": {
- "description": "The start trim point of the luma matte clip, in seconds (defaults to 0). Videos will start from the in trim point. A luma matte video will play until the file ends or the Clip length is reached.",
- "type": "number"
- },
- "type": {
- "default": "luma",
- "description": "The type of asset - set to `luma` for luma mattes.",
- "enum": [
- "luma"
- ],
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / LumaAsset / required
Removed value: -[
- "type",
- "src"
-]
removedInput schema / properties / payload / $defs / LumaAsset / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / MergeField / $ref
Added value: +"#/$defs/MergeField"
removedInput schema / properties / payload / $defs / MergeField / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / MergeField / description
Removed value: -"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."
removedInput schema / properties / payload / $defs / MergeField / properties
Removed value: -{
- "find": {
- "description": "The string to find <u>without</u> delimiters.",
- "type": "string"
- },
- "replace": {
- "description": "The replacement value. The replacement can be any valid JSON type - string, boolean, number, etc..."
- }
-}
removedInput schema / properties / payload / $defs / MergeField / required
Removed value: -[
- "find",
- "replace"
-]
removedInput schema / properties / payload / $defs / MergeField / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / MuxDestination / $ref
Added value: +"#/$defs/MuxDestination"
removedInput schema / properties / payload / $defs / MuxDestination / deprecated
Removed value: -true
removedInput schema / properties / payload / $defs / MuxDestination / description
Removed value: -"**Notice: The Mux destination is deprecated.** It continues to work, with no behaviour change for existing integrations.\nSend videos to the [Mux](https://www.mux.com/docs) video hosting and streaming service. Mux credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/mux), not in the request."
removedInput schema / properties / payload / $defs / MuxDestination / properties
Removed value: -{
- "options": {
- "$ref": "#/$defs/MuxDestinationOptions",
- "description": "Additional Mux configuration and features."
- },
- "provider": {
- "default": "mux",
- "description": "The destination to send video to - set to `mux` for Mux.",
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / MuxDestination / required
Removed value: -[
- "provider"
-]
removedInput schema / properties / payload / $defs / MuxDestination / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / MuxDestinationOptions / $ref
Added value: +"#/$defs/MuxDestinationOptions"
removedInput schema / properties / payload / $defs / MuxDestinationOptions / deprecated
Removed value: -true
removedInput schema / properties / payload / $defs / MuxDestinationOptions / description
Removed value: -"**Notice: MuxDestinationOptions, like the Mux destination, is deprecated.** It continues to work, with no behaviour change for existing integrations.\nPass additional options to control how Mux processes video. Currently supports playback_policy and passthrough options."
removedInput schema / properties / payload / $defs / MuxDestinationOptions / properties
Removed value: -{
- "passthrough": {
- "description": "Sets the Mux `passthrough` option. Max 255 characters.",
- "maxLength": 255,
- "type": "string"
- },
- "playbackPolicy": {
- "description": "Sets the Mux `playback_policy` option. Value is an array of strings - use `public`, `signed`, or both.",
- "items": {
- "enum": [
- "public",
- "signed"
- ],
- "type": "string"
- },
- "type": "array"
- }
-}
addedInput schema / properties / payload / $defs / Offset / $ref
Added value: +"#/$defs/Offset"
removedInput schema / properties / payload / $defs / Offset / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / Offset / description
Removed value: -"Offsets the position of an asset horizontally or vertically by a relative distance."
removedInput schema / properties / payload / $defs / Offset / properties
Removed value: -{
- "x": {
- "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.",
- "oneOf": [
- {
- "description": "Range varies from -10 to 10. Positive numbers move the asset right, negative left. The distance moved is relative to the width of the viewport - i.e. an X offset of 0.5 will move the asset half the screen width to the right.",
- "format": "float",
- "maximum": 10,
- "minimum": -10,
- "type": "number"
- },
- {
- "description": "An array of [Tween](./#tocs_tween) objects used to create a custom animation. Animate the X offset of an asset over time.",
- "items": {
- "$ref": "#/$defs/Tween"
- },
- "type": "array"
- }
- ]
- },
- "y": {
- "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.",
- "oneOf": [
- {
- "description": "Range varies from -10 to 10. Positive numbers move the asset up, negative down. The distance moved is relative to the height of the viewport - i.e. an Y offset of 0.5 will move the asset half the screen height up.",
- "format": "float",
- "maximum": 10,
- "minimum": -10,
- "type": "number"
- },
- {
- "description": "An array of [Tween](./#tocs_tween) objects used to create a custom animation. Animate the Y offset of an asset over time.",
- "items": {
- "$ref": "#/$defs/Tween"
- },
- "type": "array"
- }
- ]
- }
-}
removedInput schema / properties / payload / $defs / Offset / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / Output / $ref
Added value: +"#/$defs/Output"
removedInput schema / properties / payload / $defs / Output / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / Output / description
Removed value: -"The output format, render range and type of media to generate. For all formats except `mp3`, either `resolution` or `size` (with both `width` and `height`) must be specified."
removedInput schema / properties / payload / $defs / Output / properties
Removed value: -{
- "aspectRatio": {
- "description": "The aspect ratio (shape) of the video or image. Useful for social media output formats. Options are: <ul>\n <li>`16:9` (default) - regular landscape/horizontal aspect ratio</li>\n <li>`9:16` - vertical/portrait aspect ratio</li>\n <li>`1:1` - square aspect ratio</li>\n <li>`4:5` - short vertical/portrait aspect ratio</li>\n <li>`4:3` - legacy TV aspect ratio</li>\n</ul>",
- "enum": [
- "16:9",
- "9:16",
- "1:1",
- "4:5",
- "4:3"
- ],
- "type": "string"
- },
- "destinations": {
- "description": "Specify the storage locations and hosting services to send rendered videos to.",
- "items": {
- "$ref": "#/$defs/Destinations"
- },
- "type": "array"
- },
- "format": {
- "description": "The output format and type of media file to generate. <ul>\n <li>`mp4` - mp4 video file</li>\n <li>`gif` - animated gif</li>\n <li>`jpg` - jpg image file</li>\n <li>`png` - png image file</li>\n <li>`bmp` - bmp image file</li>\n <li>`mp3` - mp3 audio file (audio only)</li>\n</ul>",
- "enum": [
- "mp4",
- "gif",
- "mp3",
- "jpg",
- "png",
- "bmp"
- ],
- "type": "string"
- },
- "fps": {
- "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>\n <li>`12` - 12fps</li>\n <li>`15` - 15fps</li>\n <li>`24` - 24fps</li>\n <li>`23.976` - 23.976fps</li>\n <li>`25` (default) - 25fps</li>\n <li>`29.97` - 29.97fps</li>\n <li>`30` - 30fps</li>\n <li>`48` - 48fps</li>\n <li>`50` - 50fps</li>\n <li>`59.94` - 59.94fps</li>\n <li>`60` - 60fps</li>\n</ul>",
- "enum": [
- 12,
- 15,
- 23.976,
- 24,
- 25,
- 29.97,
- 30,
- 48,
- 50,
- 59.94,
- 60
- ],
- "type": "number"
- },
- "mute": {
- "description": "Mute the audio track of the output video. Set to `true` to mute, `false` to un-mute.",
- "type": "boolean"
- },
- "poster": {
- "$ref": "#/$defs/Poster",
- "description": "Generate a poster image from a specific point on the timeline."
- },
- "quality": {
- "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>\n <li>`verylow` - reduced quality, smallest file size</li>\n <li>`low` - slightly reduced quality, smaller file size</li>\n <li>`medium` (default) - optimized quality, render speeds and file size</li>\n <li>`high` - slightly increased quality, larger file size</li>\n <li>`veryhigh` - highest quality, largest file size</li>\n</ul>",
- "enum": [
- "verylow",
- "low",
- "medium",
- "high",
- "veryhigh"
- ],
- "type": "string"
- },
- "range": {
- "$ref": "#/$defs/Range"
- },
- "repeat": {
- "description": "Loop settings for gif files. Set to `true` to loop, `false` to play only once.",
- "type": "boolean"
- },
- "resolution": {
- "description": "The preset output resolution of the video or image. For custom sizes use the `size` property. Either `resolution` or `size` (with both `width` and `height`) must be specified for all formats except `mp3`. <ul>\n <li>`preview` - 512px x 288px @ 15fps</li>\n <li>`mobile` - 640px x 360px @ 25fps</li>\n <li>`sd` - 1024px x 576px @ 25fps</li>\n <li>`hd` - 1280px x 720px @ 25fps</li>\n <li>`1080` - 1920px x 1080px @ 25fps</li>\n <li>`4k` - 3840px x 2160px @ 25fps</li>\n</ul>",
- "enum": [
- "preview",
- "mobile",
- "sd",
- "hd",
- "1080",
- "4k"
- ],
- "type": "string"
- },
- "scaleTo": {
- "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>\n <li>`preview` - 512px x 288px @ 15fps</li>\n <li>`mobile` - 640px x 360px @ 25fps</li>\n <li>`sd` - 1024px x 576px @25fps</li>\n <li>`hd` - 1280px x 720px @25fps</li>\n <li>`1080` - 1920px x 1080px @25fps</li>\n</ul>",
- "enum": [
- "preview",
- "mobile",
- "sd",
- "hd",
- "1080",
- "4k"
- ],
- "type": "string"
- },
- "size": {
- "$ref": "#/$defs/Size"
- },
- "thumbnail": {
- "$ref": "#/$defs/Thumbnail",
- "description": "Generate a thumbnail image from a specific point on the timeline."
- }
-}
removedInput schema / properties / payload / $defs / Output / required
Removed value: -[
- "format"
-]
removedInput schema / properties / payload / $defs / Output / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / Poster / $ref
Added value: +"#/$defs/Poster"
removedInput schema / properties / payload / $defs / Poster / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / Poster / description
Removed value: -"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."
removedInput schema / properties / payload / $defs / Poster / properties
Removed value: -{
- "capture": {
- "description": "The point on the timeline in seconds to capture a single frame to use as the poster image.",
- "type": "number"
- }
-}
removedInput schema / properties / payload / $defs / Poster / required
Removed value: -[
- "capture"
-]
removedInput schema / properties / payload / $defs / Poster / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / Range / $ref
Added value: +"#/$defs/Range"
removedInput schema / properties / payload / $defs / Range / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / Range / description
Removed value: -"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."
removedInput schema / properties / payload / $defs / Range / properties
Removed value: -{
- "length": {
- "description": "The length of the portion of the video or audio to render - i.e. render 6 seconds of the video.",
- "format": "float",
- "minimum": 0,
- "type": "number"
- },
- "start": {
- "description": "The point on the timeline, in seconds, to start the render from - i.e. start at second 3.",
- "format": "float",
- "minimum": 0,
- "type": "number"
- }
-}
removedInput schema / properties / payload / $defs / Range / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / RichCaptionActive / $ref
Added value: +"#/$defs/RichCaptionActive"
removedInput schema / properties / payload / $defs / RichCaptionActive / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / RichCaptionActive / description
Removed value: -"Styling properties for the active/highlighted word."
removedInput schema / properties / payload / $defs / RichCaptionActive / properties
Removed value: -{
- "font": {
- "$ref": "#/$defs/RichCaptionActiveFont",
- "description": "Font properties for the active word."
- },
- "shadow": {
- "description": "Shadow properties for the active word. Set to \"none\" to explicitly remove the base shadow on the active word.",
- "oneOf": [
- {
- "$ref": "#/$defs/RichTextShadow"
- },
- {
- "enum": [
- "none"
- ],
- "type": "string"
- }
- ]
- },
- "stroke": {
- "description": "Stroke properties for the active word. Set to \"none\" to explicitly remove the base stroke on the active word.",
- "oneOf": [
- {
- "$ref": "#/$defs/RichTextStroke"
- },
- {
- "enum": [
- "none"
- ],
- "type": "string"
- }
- ]
- }
-}
removedInput schema / properties / payload / $defs / RichCaptionActive / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / RichCaptionActiveFont / $ref
Added value: +"#/$defs/RichCaptionActiveFont"
removedInput schema / properties / payload / $defs / RichCaptionActiveFont / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / RichCaptionActiveFont / description
Removed value: -"Font properties for the active/highlighted word."
removedInput schema / properties / payload / $defs / RichCaptionActiveFont / properties
Removed value: -{
- "background": {
- "description": "The background color behind the active word using hexadecimal color notation.",
- "pattern": "^#[A-Fa-f0-9]{6}$",
- "type": "string"
- },
- "color": {
- "description": "The active word color using hexadecimal color notation.",
- "pattern": "^#[A-Fa-f0-9]{6}$",
- "type": "string"
- },
- "family": {
- "description": "The font family for the active word. Inherits from the base font.family when not set.",
- "type": "string"
- },
- "opacity": {
- "default": 1,
- "description": "The opacity of the active word where 1 is opaque and 0 is transparent.",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "size": {
- "description": "The font size of the active word in pixels.",
- "maximum": 500,
- "minimum": 1,
- "type": "number"
- },
- "textDecoration": {
- "default": "none",
- "description": "Text decoration to apply to the active word.",
- "enum": [
- "none",
- "underline",
- "line-through"
- ],
- "type": "string"
- },
- "weight": {
- "default": "400",
- "description": "The weight of the font for the active word. Can be a number (100-900) or a string. Inherits from the base font.weight when not set.\n"
- }
-}
removedInput schema / properties / payload / $defs / RichCaptionActiveFont / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / RichCaptionAnimation / $ref
Added value: +"#/$defs/RichCaptionAnimation"
removedInput schema / properties / payload / $defs / RichCaptionAnimation / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / RichCaptionAnimation / description
Removed value: -"Word-level animation properties for caption effects."
removedInput schema / properties / payload / $defs / RichCaptionAnimation / properties
Removed value: -{
- "direction": {
- "default": "up",
- "description": "Direction for directional animations (slide). Only applicable when style is `slide`.",
- "enum": [
- "left",
- "right",
- "up",
- "down"
- ],
- "type": "string"
- },
- "style": {
- "default": "highlight",
- "description": "The animation style to apply to words: <ul>\n <li>`karaoke` - Word-by-word color fill as spoken (shows all words, highlights active)</li>\n <li>`highlight` - Word changes to active color when spoken (shows all words)</li>\n <li>`pop` - Each word scales up when active</li>\n <li>`fade` - Gradual opacity transition per word</li>\n <li>`slide` - Words slide in from a direction</li>\n <li>`bounce` - Spring animation on word appearance</li>\n <li>`typewriter` - Words appear one by one and stay visible</li>\n <li>`none` - No animation, all words visible immediately</li>\n</ul>",
- "enum": [
- "karaoke",
- "highlight",
- "pop",
- "fade",
- "slide",
- "bounce",
- "typewriter",
- "none"
- ],
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / RichCaptionAnimation / required
Removed value: -[
- "style"
-]
removedInput schema / properties / payload / $defs / RichCaptionAnimation / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / RichCaptionAsset / $ref
Added value: +"#/$defs/RichCaptionAsset"
removedInput schema / properties / payload / $defs / RichCaptionAsset / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / RichCaptionAsset / description
Removed value: -"The RichCaptionAsset provides word-level caption animations with rich-text styling. It supports\nkaraoke-style highlighting, word-by-word animations, and advanced typography. Captions can be\nsourced from SRT/VTT/TTML subtitle files, from audio/video media URLs (auto-transcribed), or\nfrom alias references to other clips in the same timeline.\n"
removedInput schema / properties / payload / $defs / RichCaptionAsset / properties
Removed value: -{
- "active": {
- "$ref": "#/$defs/RichCaptionActive",
- "description": "Styling properties for the active/highlighted word. These override the base styling when a word is being spoken."
- },
- "align": {
- "$ref": "#/$defs/RichTextAlignment",
- "description": "Text alignment properties (horizontal and vertical)."
- },
- "animation": {
- "$ref": "#/$defs/RichCaptionAnimation",
- "description": "Word-level animation properties controlling how words are highlighted or revealed."
- },
- "background": {
- "$ref": "#/$defs/RichTextBackground",
- "description": "Background styling properties for the caption bounding box."
- },
- "border": {
- "$ref": "#/$defs/RichTextBorder",
- "description": "Border styling properties for the caption bounding box."
- },
- "font": {
- "additionalProperties": false,
- "description": "Font styling properties for inactive words.",
- "properties": {
- "background": {
- "description": "The background color behind the text using hexadecimal color notation.",
- "pattern": "^#[A-Fa-f0-9]{6}$",
- "type": "string"
- },
- "color": {
- "default": "#ffffff",
- "description": "The text color using hexadecimal color notation.",
- "pattern": "^#[A-Fa-f0-9]{6}$",
- "type": "string"
- },
- "family": {
- "default": "Roboto",
- "description": "The font family name. This must be the Family name embedded in the font, i.e. \"Roboto\".",
- "type": "string"
- },
- "opacity": {
- "default": 1,
- "description": "The opacity of the text where 1 is opaque and 0 is transparent.",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "size": {
- "default": 24,
- "description": "The size of the font in pixels (px). Must be between 1 and 500.",
- "maximum": 500,
- "minimum": 1,
- "type": "integer"
- },
- "style": {
- "default": "normal",
- "description": "The font style.",
- "enum": [
- "normal",
- "italic"
- ],
- "type": "string"
- },
- "weight": {
- "default": "400",
- "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)."
- }
- },
- "type": "object"
- },
- "padding": {
- "description": "Padding inside the caption bounding box. Can be a single number (applied to all sides) or an object with individual sides.",
- "oneOf": [
- {
- "description": "Padding in pixels applied to all sides.",
- "minimum": 0,
- "type": "number"
- },
- {
- "$ref": "#/$defs/RichTextPadding"
- }
- ]
- },
- "shadow": {
- "$ref": "#/$defs/RichTextShadow",
- "description": "Text shadow properties."
- },
- "src": {
- "description": "Source for the caption words. Accepts three formats: (1) the URL to a subtitle file (`.srt`, `.vtt`, `.ttml`, or `.dfxp`) which is parsed directly; (2) the URL to an audio or video media file (`.mp4`, `.mov`, `.webm`, `.mp3`, `.wav`, `.m4a`, `.flac`, `.aac`, `.ogg`, and related formats) which is auto-transcribed; (3) an alias reference in the form `alias://clip-name` where `clip-name` is the alias of another audio, video, or text-to-speech clip in the same timeline — the referenced clip's source is auto-transcribed. For file URLs, the URL must be publicly accessible or include credentials. Content is classified at runtime and unsupported content types (HTML, PDF, images, archives) are rejected with a structured error.",
- "minLength": 1,
- "type": "string"
- },
- "stroke": {
- "$ref": "#/$defs/RichTextStroke",
- "description": "Text stroke (outline) properties for inactive words."
- },
- "style": {
- "additionalProperties": false,
- "description": "Text style properties including spacing, line height, and transformations.",
- "properties": {
- "gradient": {
- "$ref": "#/$defs/RichTextGradient",
- "description": "Gradient fill for text instead of solid color."
- },
- "letterSpacing": {
- "default": 0,
- "description": "Additional spacing between letters in pixels. Can be negative for tighter spacing.",
- "type": "number"
- },
- "lineHeight": {
- "default": 1.2,
- "description": "The line height as a multiplier of the font size. Must be between 0 and 10.",
- "maximum": 10,
- "minimum": 0,
- "type": "number"
- },
- "size": {
- "description": "The font size in pixels. Can be used as an alternative to font.size.",
- "maximum": 500,
- "minimum": 1,
- "type": "number"
- },
- "textDecoration": {
- "default": "none",
- "description": "Text decoration to apply.",
- "enum": [
- "none",
- "underline",
- "line-through"
- ],
- "type": "string"
- },
- "textTransform": {
- "default": "none",
- "description": "Text transformation to apply.",
- "enum": [
- "none",
- "uppercase",
- "lowercase",
- "capitalize"
- ],
- "type": "string"
- }
- },
- "type": "object"
- },
- "type": {
- "default": "rich-caption",
- "description": "The type of asset - set to `rich-caption` for rich captions.",
- "enum": [
- "rich-caption"
- ],
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / RichCaptionAsset / required
Removed value: -[
- "type",
- "src"
-]
removedInput schema / properties / payload / $defs / RichCaptionAsset / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / RichTextAlignment / $ref
Added value: +"#/$defs/RichTextAlignment"
removedInput schema / properties / payload / $defs / RichTextAlignment / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / RichTextAlignment / description
Removed value: -"Text alignment properties (horizontal and vertical)."
removedInput schema / properties / payload / $defs / RichTextAlignment / properties
Removed value: -{
- "horizontal": {
- "default": "center",
- "description": "The horizontal alignment of the text.",
- "enum": [
- "left",
- "center",
- "right"
- ],
- "type": "string"
- },
- "vertical": {
- "default": "middle",
- "description": "The vertical alignment of the text within the bounding box.",
- "enum": [
- "top",
- "middle",
- "bottom"
- ],
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / RichTextAlignment / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / RichTextAnimation / $ref
Added value: +"#/$defs/RichTextAnimation"
removedInput schema / properties / payload / $defs / RichTextAnimation / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / RichTextAnimation / description
Removed value: -"Animation properties for text entrance effects."
removedInput schema / properties / payload / $defs / RichTextAnimation / properties
Removed value: -{
- "direction": {
- "description": "Direction for directional animations. Required for slideIn, ascend, shift, and movingLetters presets. <ul>\n <li>`ascend` - supports: up, down</li>\n <li>`shift` - supports: left, right, up, down</li>\n <li>`slideIn` - supports: left, right, up, down</li>\n <li>`movingLetters` - supports: left, right, up, down</li>\n</ul>",
- "enum": [
- "left",
- "right",
- "up",
- "down"
- ],
- "type": "string"
- },
- "duration": {
- "description": "Override animation duration in seconds. Must be between 0.1 and 30 seconds.",
- "maximum": 30,
- "minimum": 0.1,
- "type": "number"
- },
- "preset": {
- "description": "The animation preset to apply. Available presets: <ul>\n <li>`fadeIn` - fadeIn in animation</li>\n <li>`slideIn` - slide in from a direction</li>\n <li>`typewriter` - typewriter effect</li>\n <li>`ascend` - ascend from a direction</li>\n <li>`shift` - shift in from a direction</li>\n <li>`movingLetters` - letters move in from a direction</li>\n</ul>",
- "enum": [
- "fadeIn",
- "slideIn",
- "typewriter",
- "ascend",
- "shift",
- "movingLetters"
- ],
- "type": "string"
- },
- "style": {
- "description": "Animation style - animate by character or by word. Only applicable for typewriter and shift animations.",
- "enum": [
- "character",
- "word"
- ],
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / RichTextAnimation / required
Removed value: -[
- "preset"
-]
removedInput schema / properties / payload / $defs / RichTextAnimation / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / RichTextAsset / $ref
Added value: +"#/$defs/RichTextAsset"
removedInput schema / properties / payload / $defs / RichTextAsset / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / RichTextAsset / description
Removed value: -"The RichTextAsset provides advanced text rendering with support for custom fonts, gradients, shadows, strokes,\nanimations, and styling options. It offers more flexibility and visual effects than the basic TextAsset.\n"
removedInput schema / properties / payload / $defs / RichTextAsset / properties
Removed value: -{
- "align": {
- "$ref": "#/$defs/RichTextAlignment",
- "description": "Text alignment properties (horizontal and vertical)."
- },
- "animation": {
- "$ref": "#/$defs/RichTextAnimation",
- "description": "Animation properties for text entrance effects."
- },
- "background": {
- "$ref": "#/$defs/RichTextBackground",
- "description": "Background styling properties for the text bounding box."
- },
- "border": {
- "$ref": "#/$defs/RichTextBorder",
- "description": "Border styling properties for the text bounding box."
- },
- "font": {
- "$ref": "#/$defs/RichTextFont",
- "description": "Font styling properties."
- },
- "padding": {
- "description": "Padding inside the text bounding box. Can be a single number (applied to all sides) or an object with individual sides.",
- "oneOf": [
- {
- "description": "Padding in pixels applied to all sides.",
- "minimum": 0,
- "type": "number"
- },
- {
- "$ref": "#/$defs/RichTextPadding"
- }
- ]
- },
- "shadow": {
- "$ref": "#/$defs/RichTextShadow",
- "description": "Text shadow properties."
- },
- "stroke": {
- "$ref": "#/$defs/RichTextStroke",
- "description": "Text stroke (outline) properties."
- },
- "style": {
- "$ref": "#/$defs/RichTextStyle",
- "description": "Text style properties including spacing, line height, and transformations."
- },
- "text": {
- "description": "The text string to display. Maximum 5000 characters.",
- "maxLength": 5000,
- "type": "string"
- },
- "type": {
- "default": "rich-text",
- "description": "The type of asset - set to `rich-text` for rich text.",
- "enum": [
- "rich-text"
- ],
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / RichTextAsset / required
Removed value: -[
- "type",
- "text"
-]
removedInput schema / properties / payload / $defs / RichTextAsset / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / RichTextBackground / $ref
Added value: +"#/$defs/RichTextBackground"
removedInput schema / properties / payload / $defs / RichTextBackground / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / RichTextBackground / description
Removed value: -"Background styling properties for the text bounding box."
removedInput schema / properties / payload / $defs / RichTextBackground / properties
Removed value: -{
- "borderRadius": {
- "default": 0,
- "description": "The border radius of the background box in pixels. Must be 0 or greater.",
- "minimum": 0,
- "type": "number"
- },
- "color": {
- "description": "The background color using hexadecimal color notation.",
- "pattern": "^#[A-Fa-f0-9]{6}$",
- "type": "string"
- },
- "opacity": {
- "default": 1,
- "description": "The opacity of the background where 1 is opaque and 0 is transparent.",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "padding": {
- "description": "Inner padding in pixels between the wrap pill edge and the rendered text. Only takes\neffect when `wrap: true`. When omitted, the renderer applies a sensible default\nproportional to the font size (approximately 12% of the active page font size on\nrich-caption assets). Set to 0 for a pill that hugs the text exactly. Available on\nrich-text and rich-caption assets only.\n",
- "maximum": 200,
- "minimum": 0,
- "type": "integer"
- },
- "wrap": {
- "default": false,
- "description": "When true, the background pill shrinks to fit the rendered text bounding box plus the\nasset's padding (and stroke width, if present), producing a pill or badge effect. When\nfalse (default), the background fills the full asset content area. Available on\nrich-text and rich-caption assets only; not supported on legacy `type: text`.\n",
- "type": "boolean"
- }
-}
removedInput schema / properties / payload / $defs / RichTextBackground / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / RichTextBorder / $ref
Added value: +"#/$defs/RichTextBorder"
removedInput schema / properties / payload / $defs / RichTextBorder / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / RichTextBorder / description
Removed value: -"Border styling properties for the text bounding box."
removedInput schema / properties / payload / $defs / RichTextBorder / properties
Removed value: -{
- "color": {
- "default": "#000000",
- "description": "The border color using hexadecimal color notation.",
- "pattern": "^#[A-Fa-f0-9]{6}$",
- "type": "string"
- },
- "opacity": {
- "default": 1,
- "description": "The opacity of the border where 1 is opaque and 0 is transparent.",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "radius": {
- "default": 0,
- "description": "The border radius in pixels for rounded corners. Must be 0 or greater.",
- "minimum": 0,
- "type": "number"
- },
- "width": {
- "default": 0,
- "description": "The width of the border in pixels. Must be 0 or greater.",
- "minimum": 0,
- "type": "number"
- }
-}
removedInput schema / properties / payload / $defs / RichTextBorder / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / RichTextFont / $ref
Added value: +"#/$defs/RichTextFont"
removedInput schema / properties / payload / $defs / RichTextFont / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / RichTextFont / description
Removed value: -"Font properties for rich text."
removedInput schema / properties / payload / $defs / RichTextFont / properties
Removed value: -{
- "background": {
- "description": "The background color behind the text using hexadecimal color notation.",
- "pattern": "^#[A-Fa-f0-9]{6}$",
- "type": "string"
- },
- "color": {
- "default": "#000000",
- "description": "The text color using hexadecimal color notation.",
- "pattern": "^#[A-Fa-f0-9]{6}$",
- "type": "string"
- },
- "family": {
- "default": "Open Sans",
- "description": "The font family name. This must be the Family name embedded in the font, i.e. \"Open Sans\".",
- "type": "string"
- },
- "opacity": {
- "default": 1,
- "description": "The opacity of the text where 1 is opaque and 0 is transparent.",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "size": {
- "default": 24,
- "description": "The size of the font in pixels (px). Must be between 1 and 500.",
- "maximum": 500,
- "minimum": 1,
- "type": "integer"
- },
- "stroke": {
- "$ref": "#/$defs/RichTextStroke",
- "description": "Text stroke (outline) properties."
- },
- "style": {
- "default": "normal",
- "description": "The font style.",
- "enum": [
- "normal",
- "italic"
- ],
- "type": "string"
- },
- "weight": {
- "default": "400",
- "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)."
- }
-}
removedInput schema / properties / payload / $defs / RichTextFont / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / RichTextGradient / $ref
Added value: +"#/$defs/RichTextGradient"
removedInput schema / properties / payload / $defs / RichTextGradient / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / RichTextGradient / description
Removed value: -"Gradient properties for text fill."
removedInput schema / properties / payload / $defs / RichTextGradient / properties
Removed value: -{
- "angle": {
- "default": 0,
- "description": "The angle of the gradient in degrees (for linear gradients). Must be between 0 and 360.",
- "maximum": 360,
- "minimum": 0,
- "type": "number"
- },
- "stops": {
- "description": "Gradient color stops. Must have at least 2 stops.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "color": {
- "description": "Color at this stop using hexadecimal color notation.",
- "pattern": "^#[A-Fa-f0-9]{6}$",
- "type": "string"
- },
- "offset": {
- "description": "Position of the color stop between 0 (start) and 1 (end).",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- }
- },
- "required": [
- "offset",
- "color"
- ],
- "type": "object"
- },
- "minItems": 2,
- "type": "array"
- },
- "type": {
- "default": "linear",
- "description": "The type of gradient.",
- "enum": [
- "linear",
- "radial"
- ],
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / RichTextGradient / required
Removed value: -[
- "stops"
-]
removedInput schema / properties / payload / $defs / RichTextGradient / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / RichTextPadding / $ref
Added value: +"#/$defs/RichTextPadding"
removedInput schema / properties / payload / $defs / RichTextPadding / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / RichTextPadding / description
Removed value: -"Padding properties for individual sides of the text bounding box."
removedInput schema / properties / payload / $defs / RichTextPadding / properties
Removed value: -{
- "bottom": {
- "default": 0,
- "description": "Bottom padding in pixels.",
- "minimum": 0,
- "type": "number"
- },
- "left": {
- "default": 0,
- "description": "Left padding in pixels.",
- "minimum": 0,
- "type": "number"
- },
- "right": {
- "default": 0,
- "description": "Right padding in pixels.",
- "minimum": 0,
- "type": "number"
- },
- "top": {
- "default": 0,
- "description": "Top padding in pixels.",
- "minimum": 0,
- "type": "number"
- }
-}
removedInput schema / properties / payload / $defs / RichTextPadding / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / RichTextShadow / $ref
Added value: +"#/$defs/RichTextShadow"
removedInput schema / properties / payload / $defs / RichTextShadow / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / RichTextShadow / description
Removed value: -"Text shadow properties."
removedInput schema / properties / payload / $defs / RichTextShadow / properties
Removed value: -{
- "blur": {
- "default": 0,
- "description": "The blur radius of the shadow in pixels. Must be 0 or greater.",
- "minimum": 0,
- "type": "number"
- },
- "color": {
- "default": "#000000",
- "description": "The shadow color using hexadecimal color notation.",
- "pattern": "^#[A-Fa-f0-9]{6}$",
- "type": "string"
- },
- "offsetX": {
- "default": 0,
- "description": "Horizontal offset of the shadow in pixels. Positive values move right, negative left.",
- "type": "number"
- },
- "offsetY": {
- "default": 0,
- "description": "Vertical offset of the shadow in pixels. Positive values move down, negative up.",
- "type": "number"
- },
- "opacity": {
- "default": 0.5,
- "description": "The opacity of the shadow where 1 is opaque and 0 is transparent.",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- }
-}
removedInput schema / properties / payload / $defs / RichTextShadow / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / RichTextStroke / $ref
Added value: +"#/$defs/RichTextStroke"
removedInput schema / properties / payload / $defs / RichTextStroke / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / RichTextStroke / description
Removed value: -"Text stroke (outline) properties."
removedInput schema / properties / payload / $defs / RichTextStroke / properties
Removed value: -{
- "color": {
- "default": "#000000",
- "description": "The stroke color using hexadecimal color notation.",
- "pattern": "^#[A-Fa-f0-9]{6}$",
- "type": "string"
- },
- "opacity": {
- "default": 1,
- "description": "The opacity of the stroke where 1 is opaque and 0 is transparent.",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "width": {
- "default": 0,
- "description": "The width of the stroke in pixels. Must be 0 or greater.",
- "minimum": 0,
- "type": "number"
- }
-}
removedInput schema / properties / payload / $defs / RichTextStroke / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / RichTextStyle / $ref
Added value: +"#/$defs/RichTextStyle"
removedInput schema / properties / payload / $defs / RichTextStyle / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / RichTextStyle / description
Removed value: -"Text style properties including spacing, line height, and transformations."
removedInput schema / properties / payload / $defs / RichTextStyle / properties
Removed value: -{
- "gradient": {
- "$ref": "#/$defs/RichTextGradient",
- "description": "Gradient fill for text instead of solid color."
- },
- "letterSpacing": {
- "default": 0,
- "description": "Additional spacing between letters in pixels. Can be negative for tighter spacing.",
- "type": "number"
- },
- "lineHeight": {
- "default": 1.2,
- "description": "The line height as a multiplier of the font size. Must be between 0 and 10.",
- "maximum": 10,
- "minimum": 0,
- "type": "number"
- },
- "textDecoration": {
- "default": "none",
- "description": "Text decoration to apply.",
- "enum": [
- "none",
- "underline",
- "line-through"
- ],
- "type": "string"
- },
- "textTransform": {
- "default": "none",
- "description": "Text transformation to apply.",
- "enum": [
- "none",
- "uppercase",
- "lowercase",
- "capitalize"
- ],
- "type": "string"
- },
- "wordSpacing": {
- "default": 0,
- "description": "Additional spacing between words in pixels. A value of 0 uses the font's natural space width.",
- "minimum": 0,
- "type": "number"
- }
-}
removedInput schema / properties / payload / $defs / RichTextStyle / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / RotateTransformation / $ref
Added value: +"#/$defs/RotateTransformation"
removedInput schema / properties / payload / $defs / RotateTransformation / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / RotateTransformation / description
Removed value: -"Rotate a clip by the specified angle in degrees. Rotation origin is set based on the clips `position`."
removedInput schema / properties / payload / $defs / RotateTransformation / properties
Removed value: -{
- "angle": {
- "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.",
- "oneOf": [
- {
- "description": "The angle to rotate the clip. Can be 0 to 360, or 0 to -360. Using a positive number rotates the clip clockwise, negative numbers counter-clockwise.",
- "format": "float",
- "maximum": 360,
- "minimum": -360,
- "type": "number"
- },
- {
- "description": "An array of [Tween](./#tocs_tween) objects used to create a custom animation. Animate the rotation of an asset over time.",
- "items": {
- "$ref": "#/$defs/Tween"
- },
- "type": "array"
- }
- ]
- }
-}
removedInput schema / properties / payload / $defs / RotateTransformation / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / S3Destination / $ref
Added value: +"#/$defs/S3Destination"
removedInput schema / properties / payload / $defs / S3Destination / description
Removed value: -"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."
removedInput schema / properties / payload / $defs / S3Destination / properties
Removed value: -{
- "options": {
- "$ref": "#/$defs/S3DestinationOptions",
- "description": "Additional S3 configuration options."
- },
- "provider": {
- "default": "s3",
- "description": "The destination to send assets to - set to `s3` for S3.",
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / S3Destination / required
Removed value: -[
- "provider"
-]
removedInput schema / properties / payload / $defs / S3Destination / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / S3DestinationOptions / $ref
Added value: +"#/$defs/S3DestinationOptions"
removedInput schema / properties / payload / $defs / S3DestinationOptions / description
Removed value: -"Pass additional options to control how files are stored in S3."
removedInput schema / properties / payload / $defs / S3DestinationOptions / properties
Removed value: -{
- "acl": {
- "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).",
- "type": "string"
- },
- "bucket": {
- "description": "The bucket name to send files to. The bucket must exist in the AWS account before files can be sent.",
- "type": "string"
- },
- "filename": {
- "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.",
- "type": "string"
- },
- "prefix": {
- "description": "A prefix for the file being sent. This is typically a folder name, i.e. `videos` or `customerId/videos`.",
- "type": "string"
- },
- "region": {
- "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`.",
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / S3DestinationOptions / required
Removed value: -[
- "region",
- "bucket"
-]
addedInput schema / properties / payload / $defs / ShapeAsset / $ref
Added value: +"#/$defs/ShapeAsset"
removedInput schema / properties / payload / $defs / ShapeAsset / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / ShapeAsset / description
Removed value: -"The ShapeAsset is used to add shapes to a video. The shape can be styled with a fill and a stroke.\nYou can manipulate properties such as rotation to create dynamic effects like a diamond shape or stripes.\n"
removedInput schema / properties / payload / $defs / ShapeAsset / properties
Removed value: -{
- "circle": {
- "additionalProperties": false,
- "description": "Configuration settings for the circle shape. Required when `shape` is set to `circle`.",
- "properties": {
- "radius": {
- "description": "Set the radius of the circle shape in pixels.",
- "type": "integer"
- }
- },
- "required": [
- "radius"
- ],
- "type": "object"
- },
- "fill": {
- "additionalProperties": false,
- "description": "Specifies the fill style of the shape.",
- "properties": {
- "color": {
- "description": "The color of the fill using hexadecimal color notation.",
- "type": "string"
- },
- "opacity": {
- "description": "The opacity of the fill where 1 is opaque and 0 is transparent.",
- "type": "number"
- }
- },
- "type": "object"
- },
- "height": {
- "description": "Sets the height of the bounding box in pixels. This value should be larger than the shape's height. If omitted, the entire viewport width and height will be used.",
- "type": "integer"
- },
- "line": {
- "additionalProperties": false,
- "description": "Configuration settings for the line shape. Required when `shape` is set to `line`.",
- "properties": {
- "length": {
- "description": "Set the length of the line shape in pixels.",
- "type": "integer"
- },
- "thickness": {
- "description": "Set the thickness of the line in pixels.",
- "type": "integer"
- }
- },
- "required": [
- "length",
- "thickness"
- ],
- "type": "object"
- },
- "rectangle": {
- "additionalProperties": false,
- "description": "Configuration settings for the rectangle shape. Required when `shape` is set to `rectangle`.",
- "properties": {
- "cornerRadius": {
- "description": "Set the corner radius of the rectangle shape.",
- "type": "integer"
- },
- "height": {
- "description": "Set the height of the rectangle shape in pixels.",
- "type": "integer"
- },
- "width": {
- "description": "Set the width of the rectangle shape in pixels.",
- "type": "integer"
- }
- },
- "required": [
- "width",
- "height"
- ],
- "type": "object"
- },
- "shape": {
- "description": "The shape to display.",
- "enum": [
- "rectangle",
- "circle",
- "line"
- ],
- "type": "string"
- },
- "stroke": {
- "additionalProperties": false,
- "description": "Specifies the stroke style of the shape.",
- "properties": {
- "color": {
- "description": "The stroke color of the font using hexadecimal color notation.",
- "type": "string"
- },
- "width": {
- "description": "The width of the stroke in pixels.",
- "type": "number"
- }
- },
- "type": "object"
- },
- "type": {
- "default": "shape",
- "description": "The type of asset - set to `shape` for shape.",
- "enum": [
- "shape"
- ],
- "type": "string"
- },
- "width": {
- "description": "Sets the width of the bounding box in pixels. This value should be larger than the shape's width. If omitted, the entire viewport width and height will be used.",
- "type": "integer"
- }
-}
removedInput schema / properties / payload / $defs / ShapeAsset / required
Removed value: -[
- "type",
- "shape"
-]
removedInput schema / properties / payload / $defs / ShapeAsset / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / ShotstackDestination / $ref
Added value: +"#/$defs/ShotstackDestination"
removedInput schema / properties / payload / $defs / ShotstackDestination / description
Removed value: -"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."
removedInput schema / properties / payload / $defs / ShotstackDestination / properties
Removed value: -{
- "exclude": {
- "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.",
- "type": "boolean"
- },
- "provider": {
- "default": "shotstack",
- "description": "The destination to send assets to - set to `shotstack` for Shotstack hosting and CDN.",
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / ShotstackDestination / required
Removed value: -[
- "provider"
-]
removedInput schema / properties / payload / $defs / ShotstackDestination / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / Size / $ref
Added value: +"#/$defs/Size"
removedInput schema / properties / payload / $defs / Size / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / Size / description
Removed value: -"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."
removedInput schema / properties / payload / $defs / Size / properties
Removed value: -{
- "height": {
- "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.",
- "maximum": 4096,
- "minimum": 1,
- "type": "integer"
- },
- "width": {
- "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.",
- "maximum": 4096,
- "minimum": 1,
- "type": "integer"
- }
-}
removedInput schema / properties / payload / $defs / Size / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / SkewTransformation / $ref
Added value: +"#/$defs/SkewTransformation"
removedInput schema / properties / payload / $defs / SkewTransformation / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / SkewTransformation / description
Removed value: -"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."
removedInput schema / properties / payload / $defs / SkewTransformation / properties
Removed value: -{
- "x": {
- "description": "Skew the clip along it's x axis.",
- "oneOf": [
- {
- "description": "Range varies from -100 to 100. Positive numbers skew the asset right, negative left. The distance moved is relative to the width of the viewport - i.e. an X skew of 0.5 will skew the asset half the screen width to the right.",
- "format": "float",
- "maximum": 100,
- "minimum": -100,
- "type": "number"
- },
- {
- "description": "An array of [Tween](./#tocs_tween) objects used to create a custom animation. Animate the X skew of an asset over time.",
- "items": {
- "$ref": "#/$defs/Tween"
- },
- "type": "array"
- }
- ]
- },
- "y": {
- "description": "Skew the clip along it's y axis.",
- "oneOf": [
- {
- "description": "Range varies from -100 to 100. Positive numbers skew the asset up, negative down. The distance moved is relative to the height of the viewport - i.e. an Y skew of 0.5 will skew the asset half the screen height up.",
- "format": "float",
- "maximum": 100,
- "minimum": -100,
- "type": "number"
- },
- {
- "description": "An array of [Tween](./#tocs_tween) objects used to create a custom animation. Animate the Y skew of an asset over time.",
- "items": {
- "$ref": "#/$defs/Tween"
- },
- "type": "array"
- }
- ]
- }
-}
removedInput schema / properties / payload / $defs / SkewTransformation / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / Soundtrack / $ref
Added value: +"#/$defs/Soundtrack"
removedInput schema / properties / payload / $defs / Soundtrack / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / Soundtrack / deprecated
Removed value: -true
removedInput schema / properties / payload / $defs / Soundtrack / description
Removed value: -"**Notice: The Soundtrack is deprecated, use an [AudioAsset](#tocs_audioasset) clip on its own track instead.** This type continues to function; no behaviour change for existing integrations.\nA music or audio file in mp3 format that plays for the duration of the rendered video or the length of the audio file, which ever is shortest."
removedInput schema / properties / payload / $defs / Soundtrack / properties
Removed value: -{
- "effect": {
- "description": "The effect to apply to the audio file <ul>\n <li>`fadeIn` - fade volume in only</li>\n <li>`fadeOut` - fade volume out only</li>\n <li>`fadeInFadeOut` - fade volume in and out</li>\n</ul>",
- "enum": [
- "fadeIn",
- "fadeOut",
- "fadeInFadeOut"
- ],
- "type": "string"
- },
- "src": {
- "description": "The URL of the mp3 audio file. The URL must be publicly accessible or include credentials.",
- "minLength": 1,
- "pattern": "\\S",
- "type": "string"
- },
- "volume": {
- "description": "Set the volume for the soundtrack between 0 and 1 where 0 is muted and 1 is full volume (defaults to 1).",
- "type": "number"
- }
-}
removedInput schema / properties / payload / $defs / Soundtrack / required
Removed value: -[
- "src"
-]
removedInput schema / properties / payload / $defs / Soundtrack / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / SvgAsset / $ref
Added value: +"#/$defs/SvgAsset"
removedInput schema / properties / payload / $defs / SvgAsset / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / SvgAsset / description
Removed value: -"The SvgAsset is used to add scalable vector graphics (SVG) to a video using raw SVG markup.\n\n**Supported elements:** `<path>`, `<rect>`, `<circle>`, `<ellipse>`,\n`<line>`, `<polygon>`, `<polyline>`\n\n**Automatically extracted from SVG markup:**\n- Path data (converted to a single combined path)\n- Fill color (from `fill` attribute or `style`)\n- Stroke color and width (from attributes or `style`)\n- Dimensions (from `width`/`height` or `viewBox`)\n- Opacity (from `opacity` attribute)\n\nSee [W3C SVG 2 Specification](https://www.w3.org/TR/SVG2/) for path data syntax.\n"
removedInput schema / properties / payload / $defs / SvgAsset / properties
Removed value: -{
- "src": {
- "description": "Raw SVG markup string. The SVG must contain valid SVG elements. The shape,\nfill, stroke, dimensions and opacity are automatically extracted from the\nSVG content.\n",
- "maxLength": 500000,
- "minLength": 1,
- "type": "string"
- },
- "type": {
- "default": "svg",
- "description": "The asset type - set to `svg` for SVG assets.",
- "enum": [
- "svg"
- ],
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / SvgAsset / required
Removed value: -[
- "type",
- "src"
-]
removedInput schema / properties / payload / $defs / SvgAsset / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / TextAlignment / $ref
Added value: +"#/$defs/TextAlignment"
removedInput schema / properties / payload / $defs / TextAlignment / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / TextAlignment / description
Removed value: -"Horizontal and vertical alignment properties for text."
removedInput schema / properties / payload / $defs / TextAlignment / properties
Removed value: -{
- "horizontal": {
- "description": "The horizontal alignment of the text. Value must be one of: <ul>\n <li>`left`</li>\n <li>`center`</li>\n <li>`right`</li>\n</ul>",
- "enum": [
- "left",
- "center",
- "right"
- ],
- "type": "string"
- },
- "vertical": {
- "description": "The vertical alignment of the text. Value must be one of: <ul>\n <li>`top`</li>\n <li>`center`</li>\n <li>`bottom`</li>\n</ul>",
- "enum": [
- "top",
- "center",
- "bottom"
- ],
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / TextAlignment / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / TextAsset / $ref
Added value: +"#/$defs/TextAsset"
removedInput schema / properties / payload / $defs / TextAsset / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / TextAsset / deprecated
Removed value: -true
removedInput schema / properties / payload / $defs / TextAsset / description
Removed value: -"**Notice: The TextAsset is deprecated, use the [RichTextAsset](#tocs_richtextasset) instead.** This type\ncontinues to function; no behaviour change for existing integrations.\n\nThe TextAsset is used to add text and titles to a video. The text can be styled with built in and custom\n[Fonts](#tocs_font). You can also add a background bounding box used to control wrapping and overflow. Emoticons are also supported.\n"
removedInput schema / properties / payload / $defs / TextAsset / properties
Removed value: -{
- "alignment": {
- "$ref": "#/$defs/TextAlignment",
- "description": "Alignment properties."
- },
- "animation": {
- "additionalProperties": false,
- "description": "Animation properties for text entrance effects.",
- "properties": {
- "duration": {
- "description": "The duration of the animation in seconds.",
- "maximum": 30,
- "minimum": 0.1,
- "type": "number"
- },
- "preset": {
- "description": "The animation preset to apply. <ul>\n <li>`typewriter` - typewriter effect where characters appear one at a time</li>\n</ul>",
- "enum": [
- "typewriter"
- ],
- "type": "string"
- }
- },
- "required": [
- "preset"
- ],
- "type": "object"
- },
- "background": {
- "$ref": "#/$defs/TextBackground",
- "description": "Background styling properties."
- },
- "ellipsis": {
- "description": "The string to display when text overflows its bounding box. Set to an ellipsis character or custom string to indicate truncated text.",
- "type": "string"
- },
- "font": {
- "$ref": "#/$defs/TextFont",
- "description": "Font styling properties."
- },
- "height": {
- "description": "Set the width of the HTML asset bounding box in pixels. Text and elements will be masked if they exceed the height of the bounding box.",
- "type": "integer"
- },
- "stroke": {
- "additionalProperties": false,
- "description": "Text stroke (outline) properties.",
- "properties": {
- "color": {
- "description": "The stroke color using hexadecimal color notation.",
- "pattern": "^#[A-Fa-f0-9]{6}$",
- "type": "string"
- },
- "width": {
- "description": "The width of the stroke in pixels.",
- "maximum": 10,
- "minimum": 0,
- "type": "number"
- }
- },
- "type": "object"
- },
- "text": {
- "description": "The text string to display.",
- "type": "string"
- },
- "type": {
- "default": "text",
- "description": "The type of asset - set to `text` for text.",
- "enum": [
- "text"
- ],
- "type": "string"
- },
- "width": {
- "description": "Set the width of the HTML asset bounding box in pixels. Text will wrap to fill the bounding box.",
- "type": "integer"
- }
-}
removedInput schema / properties / payload / $defs / TextAsset / required
Removed value: -[
- "type",
- "text"
-]
removedInput schema / properties / payload / $defs / TextAsset / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / TextBackground / $ref
Added value: +"#/$defs/TextBackground"
removedInput schema / properties / payload / $defs / TextBackground / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / TextBackground / description
Removed value: -"Displays a background box behind the text."
removedInput schema / properties / payload / $defs / TextBackground / properties
Removed value: -{
- "borderRadius": {
- "description": "The border radius of the background box in pixels for rounded corners.",
- "minimum": 0,
- "type": "number"
- },
- "color": {
- "description": "The background color using hexadecimal color notation.",
- "pattern": "^#[A-Fa-f0-9]{6}$",
- "type": "string"
- },
- "opacity": {
- "description": "The opacity of the background where 1 is opaque and 0 is transparent.",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- "padding": {
- "description": "Padding inside the background box in pixels.",
- "maximum": 100,
- "minimum": 0,
- "type": "number"
- },
- "wrap": {
- "description": "Not supported on legacy `text` assets. Accepted here only so validators can emit a clear migration error pointing users to `rich-text` or `rich-caption`, which support background wrapping natively.",
- "type": "boolean"
- }
-}
removedInput schema / properties / payload / $defs / TextBackground / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / TextFont / $ref
Added value: +"#/$defs/TextFont"
removedInput schema / properties / payload / $defs / TextFont / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / TextFont / description
Removed value: -"Font properties for text."
removedInput schema / properties / payload / $defs / TextFont / properties
Removed value: -{
- "color": {
- "description": "The text color using hexadecimal color notation.",
- "type": "string"
- },
- "family": {
- "description": "The font family name. This must be Family name embedded in the font, i.e. \"Open Sans\".",
- "type": "string"
- },
- "lineHeight": {
- "description": "The line height of the font as a ratio of the font size.",
- "type": "number"
- },
- "opacity": {
- "description": "The opacity of the text where 1 is opaque and 0 is transparent.",
- "type": "number"
- },
- "size": {
- "description": "The size of the font in pixels (px).",
- "type": "integer"
- },
- "weight": {
- "description": "The weight of the font. 100 is lightest, 900 is heaviest (boldest).",
- "type": "integer"
- }
-}
removedInput schema / properties / payload / $defs / TextFont / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / TextToImageAsset / $ref
Added value: +"#/$defs/TextToImageAsset"
removedInput schema / properties / payload / $defs / TextToImageAsset / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / TextToImageAsset / deprecated
Removed value: -true
removedInput schema / properties / payload / $defs / TextToImageAsset / description
Removed value: -"**Notice: TextToImageAsset is deprecated. Use [ImageAsset](#tocs_imageasset)\nwith `prompt` instead.** This type continues to function and is internally\nrewritten to ImageAsset; no behaviour change for existing integrations.\n\nThe TextToImageAsset lets you create a dynamic image from a text prompt.\n"
removedInput schema / properties / payload / $defs / TextToImageAsset / properties
Removed value: -{
- "crop": {
- "$ref": "#/$defs/Crop"
- },
- "height": {
- "description": "The height of the image in pixels.",
- "type": "integer"
- },
- "prompt": {
- "description": "The text prompt to generate an image from.",
- "type": "string"
- },
- "type": {
- "default": "text-to-image",
- "description": "The type of asset to generate - set to `text-to-image` for text-to-image.",
- "enum": [
- "text-to-image"
- ],
- "type": "string"
- },
- "width": {
- "description": "The width of the image in pixels.",
- "type": "integer"
- }
-}
removedInput schema / properties / payload / $defs / TextToImageAsset / required
Removed value: -[
- "type",
- "prompt"
-]
removedInput schema / properties / payload / $defs / TextToImageAsset / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / TextToSpeechAsset / $ref
Added value: +"#/$defs/TextToSpeechAsset"
removedInput schema / properties / payload / $defs / TextToSpeechAsset / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / TextToSpeechAsset / deprecated
Removed value: -true
removedInput schema / properties / payload / $defs / TextToSpeechAsset / description
Removed value: -"**Notice: TextToSpeechAsset is deprecated. Use [AudioAsset](#tocs_audioasset)\nwith `prompt` (the spoken text) and `voice` instead.** This type continues to\nfunction and is internally rewritten to AudioAsset; no behaviour change for\nexisting integrations.\n\nThe TextToSpeechAsset lets you generate a voice over from text using a text-to-speech service.\nThe generated audio can be trimmed, faded and have its volume and speed adjusted using the\nsame properties available on the AudioAsset.\n"
removedInput schema / properties / payload / $defs / TextToSpeechAsset / properties
Removed value: -{
- "effect": {
- "description": "The effect to apply to the audio asset <ul>\n <li>`fadeIn` - fade volume in only</li>\n <li>`fadeOut` - fade volume out only</li>\n <li>`fadeInFadeOut` - fade volume in and out</li>\n</ul>",
- "enum": [
- "none",
- "fadeIn",
- "fadeOut",
- "fadeInFadeOut"
- ],
- "type": "string"
- },
- "language": {
- "description": "The language code for the text-to-speech conversion.",
- "type": "string"
- },
- "newscaster": {
- "default": false,
- "description": "Set the voice to newscaster mode.",
- "type": "boolean"
- },
- "speed": {
- "description": "Adjust the playback speed of the audio clip between 0 (paused) and 10 (10x normal speed), where 1 is normal speed (defaults to 1). Adjusting the speed will also adjust the duration of the clip and may require you to adjust the Clip length.",
- "format": "float",
- "maximum": 10,
- "minimum": 0,
- "type": "number"
- },
- "text": {
- "description": "The text to convert to speech.",
- "type": "string"
- },
- "trim": {
- "description": "The start trim point of the audio clip, in seconds (defaults to 0). Audio will start from the trim point. The audio will play until the file ends or the Clip length is reached.",
- "type": "number"
- },
- "type": {
- "default": "text-to-speech",
- "description": "The type of asset - set to `text-to-speech` for text-to-speech.",
- "enum": [
- "text-to-speech"
- ],
- "type": "string"
- },
- "voice": {
- "description": "The voice to use for the text-to-speech conversion.",
- "type": "string"
- },
- "volume": {
- "description": "Set the volume of the audio clip. Use a number or an array of [Tween](./#tocs_tween) objects to create custom volume transitions.",
- "oneOf": [
- {
- "description": "The volume level for the audio clip. Range varies from 0 to 1 where 0 is muted and 1 is full volume (defaults to 1).",
- "format": "float",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- {
- "description": "An array of [Tween](./#tocs_tween) objects used to create a custom volume effect. Modify the volume of an asset over time.",
- "items": {
- "$ref": "#/$defs/Tween"
- },
- "type": "array"
- }
- ]
- }
-}
removedInput schema / properties / payload / $defs / TextToSpeechAsset / required
Removed value: -[
- "type",
- "text",
- "voice"
-]
removedInput schema / properties / payload / $defs / TextToSpeechAsset / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / Thumbnail / $ref
Added value: +"#/$defs/Thumbnail"
removedInput schema / properties / payload / $defs / Thumbnail / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / Thumbnail / description
Removed value: -"Generate a thumbnail image for the video or image at a specific point from the timeline."
removedInput schema / properties / payload / $defs / Thumbnail / properties
Removed value: -{
- "capture": {
- "description": "The point on the timeline in seconds to capture a single frame to use as the thumbnail image.",
- "type": "number"
- },
- "scale": {
- "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.",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- }
-}
removedInput schema / properties / payload / $defs / Thumbnail / required
Removed value: -[
- "capture",
- "scale"
-]
removedInput schema / properties / payload / $defs / Thumbnail / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / Timeline / $ref
Added value: +"#/$defs/Timeline"
removedInput schema / properties / payload / $defs / Timeline / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / Timeline / description
Removed value: -"A timeline represents the contents of a video edit over time, an audio edit over time, in seconds, or an image layout. A timeline consists of layers called tracks. Tracks are composed of titles, images, audio, html or video segments referred to as clips which are placed along the track at specific starting point and lasting for a specific amount of time."
removedInput schema / properties / payload / $defs / Timeline / properties
Removed value: -{
- "background": {
- "description": "A hexadecimal value for the timeline background colour. Defaults to #000000 (black).",
- "type": "string"
- },
- "cache": {
- "description": "Disable the caching of ingested source footage and assets. See [caching](https://shotstack.io/docs/guide/architecting-an-application/caching/) for more details.",
- "type": "boolean"
- },
- "fonts": {
- "description": "An array of custom fonts to be downloaded for use by the HTML assets.",
- "items": {
- "$ref": "#/$defs/Font"
- },
- "type": "array"
- },
- "soundtrack": {
- "$ref": "#/$defs/Soundtrack",
- "deprecated": true,
- "description": "A music or audio soundtrack file in mp3 format. Deprecated - use an [AudioAsset](#tocs_audioasset) clip on its own track instead."
- },
- "tracks": {
- "description": "A timeline consists of an array of tracks, each track containing clips. Tracks are layered on top of each other in the same order they are added to the array with the top most track layered over the top of those below it. Ensure that a track containing titles is the top most track so that it is displayed above videos and images.",
- "items": {
- "$ref": "#/$defs/Track"
- },
- "minItems": 1,
- "type": "array"
- }
-}
removedInput schema / properties / payload / $defs / Timeline / required
Removed value: -[
- "tracks"
-]
removedInput schema / properties / payload / $defs / Timeline / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / TitleAsset / $ref
Added value: +"#/$defs/TitleAsset"
removedInput schema / properties / payload / $defs / TitleAsset / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / TitleAsset / deprecated
Removed value: -true
removedInput schema / properties / payload / $defs / TitleAsset / description
Removed value: -"**Notice: The TitleAsset is deprecated, use the [RichTextAsset](#tocs_richtextasset) instead.**\n\nThe TitleAsset clip type lets you create video titles from a text string and apply styling and positioning.\n"
removedInput schema / properties / payload / $defs / TitleAsset / properties
Removed value: -{
- "background": {
- "description": "Apply a background color behind the text. Set the text color using hexadecimal color notation. Transparency is supported by setting the first two characters of the hex string (opposite to HTML), i.e. #80ffffff will be white with 50% transparency. Omit to use transparent background.",
- "type": "string"
- },
- "color": {
- "description": "Set the text color using hexadecimal color notation. Transparency is supported by setting the first two characters of the hex string (opposite to HTML), i.e. #80ffffff will be white with 50% transparency.",
- "type": "string"
- },
- "offset": {
- "$ref": "#/$defs/Offset",
- "description": "Offset the location of the title relative to its position on the screen."
- },
- "position": {
- "description": "Place the title in one of nine predefined positions of the viewport. <ul>\n <li>`top` - top (center)</li>\n <li>`topRight` - top right</li>\n <li>`right` - right (center)</li>\n <li>`bottomRight` - bottom right</li>\n <li>`bottom` - bottom (center)</li>\n <li>`bottomLeft` - bottom left</li>\n <li>`left` - left (center)</li>\n <li>`topLeft` - top left</li>\n <li>`center` - center</li>\n</ul>",
- "enum": [
- "top",
- "topRight",
- "right",
- "bottomRight",
- "bottom",
- "bottomLeft",
- "left",
- "topLeft",
- "center"
- ],
- "type": "string"
- },
- "size": {
- "description": "Set the relative size of the text using predefined sizes from xx-small to xx-large. <ul>\n <li>`xx-small`</li>\n <li>`x-small`</li>\n <li>`small`</li>\n <li>`medium`</li>\n <li>`large`</li>\n <li>`x-large`</li>\n <li>`xx-large`</li>\n</ul>",
- "enum": [
- "xx-small",
- "x-small",
- "small",
- "medium",
- "large",
- "x-large",
- "xx-large"
- ],
- "type": "string"
- },
- "style": {
- "description": "Uses a preset to apply font properties and styling to the title. <ul>\n <li>`minimal`</li>\n <li>`blockbuster`</li>\n <li>`vogue`</li>\n <li>`sketchy`</li>\n <li>`skinny`</li>\n <li>`chunk`</li>\n <li>`chunkLight`</li>\n <li>`marker`</li>\n <li>`future`</li>\n <li>`subtitle`</li>\n</ul>",
- "enum": [
- "minimal",
- "blockbuster",
- "vogue",
- "sketchy",
- "skinny",
- "chunk",
- "chunkLight",
- "marker",
- "future",
- "subtitle"
- ],
- "type": "string"
- },
- "text": {
- "description": "The title text string - i.e. \"My Title\".",
- "type": "string"
- },
- "type": {
- "default": "title",
- "description": "The type of asset - set to `title` for titles.",
- "enum": [
- "title"
- ],
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / TitleAsset / required
Removed value: -[
- "type",
- "text"
-]
removedInput schema / properties / payload / $defs / TitleAsset / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / Track / $ref
Added value: +"#/$defs/Track"
removedInput schema / properties / payload / $defs / Track / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / Track / description
Removed value: -"A track contains an array of clips. Tracks are layered on top of each other in the order in the array. The top most track will render on top of those below it."
removedInput schema / properties / payload / $defs / Track / properties
Removed value: -{
- "clips": {
- "description": "An array of Clips comprising of TitleClip, ImageClip or VideoClip.",
- "items": {
- "$ref": "#/$defs/Clip"
- },
- "minItems": 1,
- "type": "array"
- }
-}
removedInput schema / properties / payload / $defs / Track / required
Removed value: -[
- "clips"
-]
removedInput schema / properties / payload / $defs / Track / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / Transformation / $ref
Added value: +"#/$defs/Transformation"
removedInput schema / properties / payload / $defs / Transformation / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / Transformation / description
Removed value: -"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."
removedInput schema / properties / payload / $defs / Transformation / properties
Removed value: -{
- "flip": {
- "$ref": "#/$defs/FlipTransformation"
- },
- "rotate": {
- "$ref": "#/$defs/RotateTransformation"
- },
- "skew": {
- "$ref": "#/$defs/SkewTransformation"
- }
-}
removedInput schema / properties / payload / $defs / Transformation / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / Transition / $ref
Added value: +"#/$defs/Transition"
removedInput schema / properties / payload / $defs / Transition / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / Transition / description
Removed value: -"In and out transitions for a clip - i.e. fade in and fade out"
removedInput schema / properties / payload / $defs / Transition / properties
Removed value: -{
- "in": {
- "description": "The transition in. Available transitions are:\n <ul>\n <li>`fade` - fade in</li>\n <li>`reveal` - reveal from left to right</li>\n <li>`wipeLeft` - fade across screen to the left</li>\n <li>`wipeRight` - fade across screen to the right</li>\n <li>`slideLeft` - move slightly left and fade in</li>\n <li>`slideRight` - move slightly right and fade in</li>\n <li>`slideUp` - move slightly up and fade in</li>\n <li>`slideDown` - move slightly down and fade in</li>\n <li>`carouselLeft` - slide in from right to left</li>\n <li>`carouselRight` - slide in from left to right</li>\n <li>`carouselUp` - slide in from bottom to top</li>\n <li>`carouselDown` - slide in from top to bottom</li>\n <li>`shuffleTopRight` - rotate in from top right</li>\n <li>`shuffleRightTop` - rotate in from right top</li>\n <li>`shuffleRightBottom` - rotate in from right bottom</li>\n <li>`shuffleBottomRight` - rotate in from bottom right</li>\n <li>`shuffleBottomLeft` - rotate in from bottom left</li>\n <li>`shuffleLeftBottom` - rotate in from left bottom</li>\n <li>`shuffleLeftTop` - rotate in from left top</li>\n <li>`shuffleTopLeft` - rotate in from top left</li>\n <li>`zoom` - fast zoom in</li>\n </ul>\nThe transition speed can also be controlled by appending `Fast` or `Slow` to the transition, e.g. `fadeFast` or `CarouselLeftSlow`.",
- "enum": [
- "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"
- ],
- "type": "string"
- },
- "out": {
- "description": "The transition out. Available transitions are:\n <ul>\n <li>`fade` - fade out</li>\n <li>`reveal` - reveal from right to left</li>\n <li>`wipeLeft` - fade across screen to the left</li>\n <li>`wipeRight` - fade across screen to the right</li>\n <li>`slideLeft` - move slightly left and fade out</li>\n <li>`slideRight` - move slightly right and fade out</li>\n <li>`slideUp` - move slightly up and fade out</li>\n <li>`slideDown` - move slightly down and fade out</li>\n <li>`carouselLeft` - slide out from right to left</li>\n <li>`carouselRight` - slide out from left to right</li>\n <li>`carouselUp` - slide out from bottom to top</li>\n <li>`carouselDown` - slide out from top to bottom</li>\n <li>`shuffleTopRight` - rotate out from top right</li>\n <li>`shuffleRightTop` - rotate out from right top</li>\n <li>`shuffleRightBottom` - rotate out from right bottom</li>\n <li>`shuffleBottomRight` - rotate out from bottom right</li>\n <li>`shuffleBottomLeft` - rotate out from bottom left</li>\n <li>`shuffleLeftBottom` - rotate out from left bottom</li>\n <li>`shuffleLeftTop` - rotate out from left top</li>\n <li>`shuffleTopLeft` - rotate out from top left</li>\n <li>`zoom` - fast zoom out</li>\n </ul>\nThe transition speed can also be controlled by appending `Fast` or `Slow` to the transition, e.g. `fadeFast` or `CarouselLeftSlow`.",
- "enum": [
- "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"
- ],
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / Transition / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / Tween / $ref
Added value: +"#/$defs/Tween"
removedInput schema / properties / payload / $defs / Tween / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / Tween / description
Removed value: -"Use a Tween to [animate properties over time](/docs/guide/architecting-an-application/animations/). The following properties are currently supported and can be animated:\n <ul>\n <li>Opacity - animate the transparency of a clip.</li>\n <li>Offset - animate the x and y position of a clip.</li>\n <li>Rotation - animate the rotation of a clip.</li>\n <li>Skew - animate the horizontal and vertical shearing effect.</li>\n <li>Volume - animate the audio volume of a clip.</li>\n </ul>"
removedInput schema / properties / payload / $defs / Tween / properties
Removed value: -{
- "easing": {
- "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`.",
- "enum": [
- "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"
- ],
- "type": "string"
- },
- "from": {
- "description": "The initial property value at the start of the animation."
- },
- "interpolation": {
- "description": "The interpolation method to use for the animation. Available options are: <ul>\n <li>`linear` - a linear interpolation between the start and end values.</li>\n <li>`bezier` - a bezier curve interpolation between the start and end values.</li>\n <li>`constant` - an interpolation where the property instantly jumps from the start to the end value, without any gradual transition.</li>\n</ul>",
- "enum": [
- "linear",
- "bezier",
- "constant"
- ],
- "type": "string"
- },
- "length": {
- "description": "The duration of the animation in seconds.",
- "type": "number"
- },
- "start": {
- "description": "The time in seconds when the animation starts, relative to the clip, not the timeline.",
- "type": "number"
- },
- "to": {
- "description": "The final property value at the end of the animation."
- }
-}
removedInput schema / properties / payload / $defs / Tween / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / VideoAsset / $ref
Added value: +"#/$defs/VideoAsset"
removedInput schema / properties / payload / $defs / VideoAsset / additionalProperties
Removed value: -false
removedInput schema / properties / payload / $defs / VideoAsset / description
Removed value: -"The VideoAsset adds a video to a Clip. The video can be sourced from a URL\n(`src`), generated from a text prompt (`prompt`), or both. At least one of\n`src` or `prompt` must be provided.\n\n- **Source URL:** set `src` to the URL of an mp4 (or compatible) video file.\n- **Generated:** set `prompt` to describe the motion. Choose a generator\n with `model` and configure it with model-specific `options`. Models that\n animate an image take it as `options.startSrc` (the original\n image-to-video models use `options.inputSrc`); the default model\n generates from the prompt alone. The generated `src` is filled in\n automatically.\n- **Both:** `src` acts as a preview placeholder while `prompt` drives\n generation — the video is regenerated from the prompt at render time.\n Unchanged prompts and options resolve from the generation cache.\n"
removedInput schema / properties / payload / $defs / VideoAsset / properties
Removed value: -{
- "chromaKey": {
- "$ref": "#/$defs/ChromaKey"
- },
- "crop": {
- "$ref": "#/$defs/Crop"
- },
- "model": {
- "description": "The generation model to use when `prompt` is set (e.g. `seedance-2.0-text-to-video`). Defaults to `seedance-2.0-text-to-video` if omitted. `GET /models` lists what is available and the options each accepts.",
- "type": "string"
- },
- "options": {
- "additionalProperties": true,
- "description": "Model-specific generation settings. Valid keys and values depend on the chosen `model` and are defined by the model registry. Omitted options use the model's defaults. Unknown or invalid options are rejected.",
- "type": "object"
- },
- "prompt": {
- "description": "A text prompt to generate the video from. The engine generates a video at render time and fills `src` automatically; an existing `src` is treated as a preview placeholder and replaced. Use `model` to choose the generator and `options` to configure it. A starting image goes in `options.startSrc` — or `options.inputSrc` on the original image-to-video models — on the models that accept one.",
- "maxLength": 4000,
- "type": "string"
- },
- "speed": {
- "description": "Adjust the playback speed of the video clip. Use a number for a constant speed or an array of [Tween](./#tocs_tween) objects to change speed over time, for example easing from normal speed up to 3x.",
- "oneOf": [
- {
- "description": "The playback speed between 0 (paused) and 10 (10x normal speed) where 1 is normal speed (defaults to 1). Adjusting the speed will also adjust the duration of the clip and may require you to adjust the Clip length. For example, if you set speed to 0.5, the clip will need to be 2x as long to play the entire video (i.e. original length / 0.5). If you set speed to 2, the clip will need to be half as long to play the entire video (i.e. original length / 2).",
- "format": "float",
- "maximum": 10,
- "minimum": 0,
- "type": "number"
- },
- {
- "description": "An array of [Tween](./#tocs_tween) objects that change the playback speed over time. A speed of 0 holds the current frame. The clip length is not adjusted, so set it to cover the footage you want to play.",
- "items": {
- "$ref": "#/$defs/Tween"
- },
- "type": "array"
- }
- ]
- },
- "src": {
- "description": "The video source URL. The URL must be publicly accessible or include credentials. When `prompt` is also set, `src` serves as a preview placeholder and the video is regenerated from the prompt at render time.",
- "minLength": 1,
- "pattern": "\\S",
- "type": "string"
- },
- "transcode": {
- "description": "Set to `true` to force re-encoding of the video during preprocessing. This can help resolve compatibility issues, fix rotation problems, synchronize audio, or convert formats. The video will be processed to ensure optimal compatibility with the rendering engine.",
- "type": "boolean"
- },
- "trim": {
- "description": "The start trim point of the video clip, in seconds (defaults to 0). Videos will start from the in trim point. The video will play until the file ends or the Clip length is reached.",
- "type": "number"
- },
- "type": {
- "default": "video",
- "description": "The type of asset - set to `video` for videos.",
- "enum": [
- "video"
- ],
- "type": "string"
- },
- "volume": {
- "description": "Set the volume of the video clip. Use a number or an array of [Tween](./#tocs_tween) objects to create custom volume transitions.",
- "oneOf": [
- {
- "description": "The volume level for the video clip. Range varies from 0 to 1 where 0 is muted and 1 is full volume (defaults to 1).",
- "format": "float",
- "maximum": 1,
- "minimum": 0,
- "type": "number"
- },
- {
- "description": "An array of [Tween](./#tocs_tween) objects used to create a custom volume effect. Modify the volume of an asset over time.",
- "items": {
- "$ref": "#/$defs/Tween"
- },
- "type": "array"
- }
- ]
- },
- "volumeEffect": {
- "description": "Preset volume effects to apply to the video asset <ul>\n <li>`fadeIn` - fade volume in only</li>\n <li>`fadeOut` - fade volume out only</li>\n <li>`fadeInFadeOut` - fade volume in and out</li>\n</ul>",
- "enum": [
- "none",
- "fadeIn",
- "fadeOut",
- "fadeInFadeOut"
- ],
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / VideoAsset / required
Removed value: -[
- "type"
-]
removedInput schema / properties / payload / $defs / VideoAsset / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / VimeoDestination / $ref
Added value: +"#/$defs/VimeoDestination"
removedInput schema / properties / payload / $defs / VimeoDestination / description
Removed value: -"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."
removedInput schema / properties / payload / $defs / VimeoDestination / properties
Removed value: -{
- "options": {
- "$ref": "#/$defs/VimeoDestinationOptions",
- "description": "Additional Vimeo configuration and features."
- },
- "provider": {
- "default": "vimeo",
- "description": "The destination to send video to - set to `vimeo` for Vimeo.",
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / VimeoDestination / required
Removed value: -[
- "provider"
-]
removedInput schema / properties / payload / $defs / VimeoDestination / type
Removed value: -"object"
addedInput schema / properties / payload / $defs / VimeoDestinationOptions / $ref
Added value: +"#/$defs/VimeoDestinationOptions"
removedInput schema / properties / payload / $defs / VimeoDestinationOptions / description
Removed value: -"Pass additional options to control how Vimeo publishes video, including name, description and privacy settings."
removedInput schema / properties / payload / $defs / VimeoDestinationOptions / properties
Removed value: -{
- "description": {
- "description": "A description of the video that will be displayed on the Vimeo website.",
- "type": "string"
- },
- "folderUri": {
- "description": "The Vimeo folder URI to upload the video to. The folder must already exist in your Vimeo account.",
- "type": "string"
- },
- "name": {
- "description": "A name or title for the video that will be displayed on the Vimeo website.",
- "type": "string"
- },
- "privacy": {
- "$ref": "#/$defs/VimeoDestinationPrivacyOptions",
- "description": "Options to control the visibility of videos and privacy features."
- }
-}
addedInput schema / properties / payload / $defs / VimeoDestinationPrivacyOptions / $ref
Added value: +"#/$defs/VimeoDestinationPrivacyOptions"
removedInput schema / properties / payload / $defs / VimeoDestinationPrivacyOptions / description
Removed value: -"Options to control the visibility of videos and privacy features."
removedInput schema / properties / payload / $defs / VimeoDestinationPrivacyOptions / properties
Removed value: -{
- "add": {
- "description": "Set whether other users can add the video to their collections.",
- "type": "boolean"
- },
- "comments": {
- "description": "Set who can comment on the video. Available options are: <ul>\n <li>`anybody` - Anyone can comment on the video.</li>\n <li>`nobody` - Only the video owner can comment on the video.</li>\n <li>`contacts` - Only contacts can comment on the video.</li>\n</ul>",
- "enum": [
- "anybody",
- "nobody",
- "contacts"
- ],
- "type": "string"
- },
- "download": {
- "description": "Set whether the video can be downloaded.",
- "type": "boolean"
- },
- "embed": {
- "description": "Set who can embed the video. Available options are: <ul>\n <li>`public` - Anyone can embed the video.</li>\n <li>`private` - Only the video owner can embed the video.</li>\n <li>`whitelist` - Only whitelisted domains can embed the video.</li>\n</ul>",
- "enum": [
- "public",
- "private",
- "whitelist"
- ],
- "type": "string"
- },
- "view": {
- "description": "Set who can view the videos. Available options are: <ul>\n <li>`anybody` - Anyone can view the video.</li>\n <li>`nobody` - Only the video owner can view the video.</li>\n <li>`contacts` - Only contacts can view the video.</li>\n <li>`password` - A password is required to view the video.</li>\n <li>`unlisted` - The video is not listed on Vimeo.</li>\n</ul>",
- "enum": [
- "anybody",
- "nobody",
- "contacts",
- "password",
- "unlisted"
- ],
- "type": "string"
- }
-}
removedInput schema / properties / payload / $defs / VimeoDestinationPrivacyOptions / type
Removed value: -"object"