Configure different types of tracks and clips in the Web SDK editing and preview component Timeline to perform mixed editing of videos, audio, images, captions, and effects.
Backend Timeline support
For more information, see Timeline configuration.
Frontend Timeline support
The following tables describe frontend Timeline support for the standard editing Web SDK and the preview component Web SDK, version 5.2.2 and later.
Track
|
Name |
Type |
Support |
Description |
|
VideoTracks |
Yes |
A list of video tracks. The stacking order of the tracks corresponds to the order of the array elements. For example, the first element in the array is the bottom layer, the second element is layered on top of it, and so on. |
|
|
AudioTracks |
Yes |
A list of audio tracks. |
|
|
ImageTracks (The image track feature has been merged into VideoTracks for compatibility. The image track will no longer be updated or maintained.) |
Yes |
A list of image tracks.
|
|
|
SubtitleTracks |
No. Merge into VideoTracks with Type="Subtitle". |
A list of subtitle tracks. |
|
|
EffectTracks |
No. We recommend merging it into VideoTracks. Type="Effects" |
A list of effect tracks. |
VideoTrackClip
|
Name |
Type |
Support |
Required |
Description |
|
MediaId |
String |
Yes |
No |
The media asset ID of the video track clip from the IMS content library or VOD. Note
Specify either MediaId or MediaURL. |
|
MediaURL |
String |
Yes (differentiated by the third parameter `mediaOrigin` in `getMediaInfo` or `getDynamicSrc`, where `mediaOrigin=mediaURL` indicates this type) |
No |
The OSS address of the video track clip. Format: https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-object.mp4 Note
Example: Video/image mixing |
|
Type |
String |
Yes |
No |
The type of the media asset clip. The default value is Video. Valid values:
|
|
X |
Float |
Yes |
No |
The horizontal distance from the top-left corner of the image or video to the top-left corner of the output video. Note
Both percentage and pixel values are supported. A value from 0 to 0.9999 represents a percentage of the output video's width. An integer greater than or equal to 2 represents an absolute pixel value. |
|
Y |
Float |
Yes |
No |
The vertical distance from the top-left corner of the image or video to the top-left corner of the output video. Note
Both percentage and pixel values are supported. A value from 0 to 0.9999 represents a percentage of the output video's height. An integer greater than or equal to 2 represents an absolute pixel value. |
|
Width |
Float |
Yes |
No |
A value from 0 to 0.9999 represents a percentage of the output video's width. An integer greater than or equal to 2 represents an absolute pixel value. |
|
Height |
Float |
Yes |
No |
A value from 0 to 0.9999 represents a percentage of the output video's height. An integer greater than or equal to 2 represents an absolute pixel value. |
|
AdaptMode |
String |
Yes |
No |
The automatic rotation mode for the video size. The default value is Fill. This mode takes effect only when both Width and Height are set for the video track. In this case, Width and Height define the target area, and the video scales automatically within this area.
|
|
In |
Float |
Yes |
No |
The in point of the media asset clip relative to the media asset. Use this for audio and video assets. Unit: seconds. The value is accurate to four decimal places. If In is not specified, the default value is 0. |
|
Out |
Float |
Yes |
No |
The out point of the media asset clip relative to the media asset. Use this for audio and video assets. Unit: seconds. The value is accurate to four decimal places. If Out is not specified, the default value is the duration of the media asset. |
|
MaxOut |
Float |
Yes |
No |
The maximum out point of the media asset clip relative to the media asset. If this value is set, the clip's out point is set to the smaller of the media asset duration and this value. Use this for audio and video assets. Unit: seconds. The value is accurate to four decimal places. If you specify a value for Out, the MaxOut value is ignored. |
|
Duration |
Float |
Yes |
No |
The duration of the media asset clip. This is typically used for image assets. Unit: seconds. The value is accurate to four decimal places. |
|
DyncFrames |
Int |
Yes |
No |
The number of frames in an animated image. Use this when the media asset is an animated image. Example: Add watermarks, stickers, or GIF stickers. |
|
TimelineIn |
Float |
Yes |
Yes |
The in point of the media asset clip relative to the timeline. Unit: seconds. The value is accurate to four decimal places. If TimelineIn is not specified, it is automatically calculated based on the sequential order of the media asset clips. |
|
TimelineOut |
Float |
Yes |
Yes |
The out point of the media asset clip relative to the timeline. Unit: seconds. The value is accurate to four decimal places. If TimelineOut is not specified, it is automatically calculated based on the sequential order of the media asset clips. |
|
Speed |
Float |
Yes |
No |
The playback speed of the video asset. The value ranges from 0.1 to 100. For example, a value of 2 plays the video at 2x speed, halves the clip's duration, and incorporates it into the final video. Example: Video/image mixing |
|
Opacity |
Float |
Yes |
No |
The opacity of the video. The value ranges from 0 to 1. A value of 0 means fully transparent. A value of 1 means fully opaque. |
|
MaskVideoUrl |
String |
Yes |
No |
The URL of the mask video. This is typically a video with an alpha channel used to add a transparency effect to the original video. Note
Only public OSS endpoints are supported. |
|
ClipId |
String |
Yes |
No |
Track alignment parameter. If a media asset on another audio or video track has the same ReferenceClipId, its timeline in and out points align with this clip. For more information, see Automatic duration alignment between media assets. |
|
ReferenceClipId |
String |
Yes |
No |
Track alignment parameter. If a media asset on another audio or video track has the same ClipId, the timeline in and out points of this clip align with that media asset. For more information, see Automatic duration alignment between media assets. |
|
Effects |
Effect[] |
Yes |
No |
A list of effects for the media asset clip. |
AudioTrackClip
|
Name |
Type |
Support |
Required |
Description |
|
MediaId |
String |
Yes |
No |
The media asset ID of the audio track clip from the IMS content library or VOD. Note
Specify either MediaId or MediaURL. |
|
MediaURL |
String |
Yes (differentiated by the third parameter `mediaOrigin` in `getMediaInfo` or `getDynamicSrc`, where `mediaOrigin=mediaURL` indicates this type) |
No |
The OSS address of the audio track clip. Format: https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-object.mp4 Note
Example: Video/image mixing. |
|
In |
Float |
Yes |
No |
The in point of the media asset clip relative to the media asset. Unit: seconds. The value is accurate to four decimal places. If In is not specified, the default value is 0. |
|
Out |
Float |
Yes |
No |
The out point of the media asset clip relative to the media asset. Unit: seconds. The value is accurate to four decimal places. If Out is not specified, the default value is the duration of the media asset. |
|
TimelineIn |
Float |
Yes |
Yes |
The in point of the media asset clip relative to the timeline. Unit: seconds. The value is accurate to four decimal places. If TimelineIn is not specified, it is automatically calculated based on the sequential order of the media asset clips. |
|
TimelineOut |
Float |
Yes |
Yes |
The out point of the media asset clip relative to the timeline. Unit: seconds. The value is accurate to four decimal places. If TimelineOut is not specified, it is automatically calculated based on the sequential order of the media asset clips. |
|
Speed |
Float |
Yes |
No |
The playback speed of the audio asset. The value ranges from 0.1 to 100. For example, a value of 2 plays the audio at 2x speed, halves the clip's duration, and incorporates it into the final video. Example: Video/image mixing |
|
Effects |
Effect[] |
Yes |
No |
A list of effects for the media asset clip. |
|
LoopMode |
Boolean |
Yes |
No |
The loop playback effect for the media asset clip on the timeline.
Example: Video/image mixing |
|
ClipId |
String |
Yes |
No |
Track alignment parameter. If a media asset on another audio or video track has the same ReferenceClipId, its timeline in and out points align with this clip. For more information, see Automatic duration alignment between media assets. |
|
ReferenceClipId |
String |
Yes |
No |
Track alignment parameter. If a media asset on another audio or video track has the same ClipId, the timeline in and out points of this clip align with that media asset. For more information, see Automatic duration alignment between media assets. |
ImageTrackClip
|
Name |
Type |
Supported |
Required |
Description |
|
MediaId |
String |
Yes |
No |
The MediaId of the image track asset from the media asset library, or the VOD image media asset ID. Note
Specify either MediaId or MediaURL. |
|
MediaURL |
String |
Yes (differentiated by the third parameter `mediaOrigin` in `getMediaInfo` or `getDynamicSrc`, where `mediaOrigin=mediaURL` indicates this type) |
No |
The OSS address of the image track clip. Format: https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-object.mp4. Note
Example: Video/image mixing. |
|
X |
Float |
Yes |
No |
The horizontal distance from the top-left corner of the image to the top-left corner of the output video. Note
Both percentage and pixel values are supported. A value from 0 to 0.9999 represents a percentage of the output video's width. An integer greater than or equal to 2 represents an absolute pixel value. |
|
Y |
Float |
Yes |
No |
The vertical distance from the top-left corner of the image to the top-left corner of the output video. Note
Both percentage and pixel values are supported. A value from 0 to 0.9999 represents a percentage of the output video's height. An integer greater than or equal to 2 represents an absolute pixel value. |
|
Width |
Float |
Yes |
No |
The width of the image in the output video. Note
Both percentage and pixel values are supported. A value from 0 to 0.9999 represents a percentage of the output video's width. An integer greater than or equal to 2 represents an absolute pixel value. |
|
Height |
Float |
Yes |
No |
The height of the image in the output video. Note
Both percentage and pixel values are supported. A value from 0 to 0.9999 represents a percentage of the output video's height. An integer greater than or equal to 2 represents an absolute pixel value. |
|
TimelineIn |
Float |
Yes |
Yes |
The start time when the image appears on the timeline. Unit: seconds. The value is accurate to four decimal places. If TimelineIn is not specified, the default value is 0. |
|
TimelineOut |
Float |
Yes |
Yes |
The end time when the image appears on the timeline. Unit: seconds. The value is accurate to four decimal places. If TimelineOut is not specified, the default value is the maximum duration of the video track. |
|
DyncFrames |
Int |
Yes |
No |
The number of frames in an animated image. This is required when the media asset is an animated image. Example: Add watermarks, stickers, or GIF stickers. |
|
Effects |
Effect[] |
Yes |
No |
A list of effects for the media asset. |
SubtitleTrackClip
|
Name |
Type |
Supported |
Required |
Description |
|
Type |
String |
Only Text is supported. |
Yes |
The type of the caption media asset. Valid values:
|
|
SubType |
String |
Yes |
No |
The subtype of the caption media asset. Valid values:
You can ignore this field when the caption type is banner text. |
|
FileURL |
String |
No |
No |
The OSS address of the subtitle file. This is required when the caption type is an external subtitle. Format: https://your-bucket.oss-cn-shanghai.aliyuncs.com/your-object.srt Note
FileURL only supports public OSS endpoints. It does not support OSS accelerated endpoints, CDN URLs, or other HTTP URLs. Example: Video/image mixing |
|
X |
Float |
Yes |
No |
When the caption type is banner text, this is the horizontal distance from the top-left corner of the text to the top-left corner of the output video. Note
Both percentage and pixel values are supported. A value from 0 to 0.9999 represents a percentage of the output video's width. An integer greater than or equal to 2 represents an absolute pixel value. |
|
Y |
Float |
Yes |
No |
When the caption type is banner text, this is the vertical distance from the top-left corner of the text to the top-left corner of the output video. Note
Both percentage and pixel values are supported. A value from 0 to 0.9999 represents a percentage of the output video's height. An integer greater than or equal to 2 represents an absolute pixel value. |
|
TimelineIn |
Float |
Yes |
Yes |
When the caption type is banner text, this is the start time when the text appears on the timeline. Unit: seconds. The value is accurate to four decimal places. If TimelineIn is not specified, it is automatically calculated based on the sequential order of the media assets. |
|
TimelineOut |
Float |
Yes |
Yes |
When the caption type is banner text, this is the end time when the text appears on the timeline. Unit: seconds. The value is accurate to four decimal places. If TimelineOut is not specified, it is automatically calculated based on the sequential order of the media assets. |
|
Content |
String |
Yes |
Yes |
This is required when the caption type is banner text. It specifies the text content. |
|
Font |
String |
Yes |
No |
Supported fonts:
|
|
FontSize |
Int |
Yes |
Yes |
When the caption type is banner text, this is the font size of the text. |
|
SizeRequestType |
String |
Yes |
No |
When the caption type is banner text, this specifies how the font size is calculated for the actual rendered text size. The default method is Nominal.
|
|
FontColor |
String |
Yes |
No |
When the caption type is banner text, this is the color of the text. The format is a # symbol followed by a hexadecimal value. For example: #ffffff. |
|
FontColorOpacity |
String |
Yes |
No |
When the caption type is banner text, this is the opacity of the text. The value ranges from 0 to 1. The default is 1. A value of 1 means fully opaque. A value of 0 means fully transparent. |
|
FontFace |
Yes |
No |
When the caption type is banner text, this specifies the font skin of the text. |
|
|
Spacing |
Int |
Yes |
No |
When the caption type is banner text, this is the character spacing. Unit: pixels. The default value is 0. |
|
LineSpacing |
Int |
Yes |
No |
When the caption type is banner text, this is the line spacing. Unit: pixels. The default value is 0. |
|
Angle |
Float |
Yes |
No |
When the caption type is banner text, this is the counter-clockwise rotation angle of the text. Unit: degrees. The default value is 0. |
|
BorderStyle |
Int |
Yes |
No |
Sets the border and shade format for banner text. Valid values are 1 or 3. 1 = border + shade. 3 = opaque background box. The default value is 1. |
|
Outline |
Int |
Yes |
No |
When the caption type is banner text, this is the width of the text outline. Unit: pixels. The default value is 0. |
|
OutlineColour |
String |
Yes |
No |
When the caption type is banner text, this is the color of the text outline. The format is a # symbol followed by a hexadecimal value. For example: #ffffff. |
|
Shadow |
Int |
Yes |
No |
When the caption type is banner text, this is the depth of the text's drop shade. Unit: pixels. The default value is 0. |
|
BackColour |
String |
Yes |
No |
When the caption type is banner text, this is the color of the text shade. The format is a # symbol followed by a hexadecimal value. For example: #ffffff. |
|
Alignment |
String |
Yes |
No |
When the caption type is banner text, this sets the alignment. The default value is TopLeft. Supported values:
To position captions accurately with different alignments, set one of the following alignments:
|
|
AdaptMode |
String |
Partially supported (AutoScale is not currently supported) |
No |
Automatically wraps or scales banner text when it exceeds the video width or the specified TextWidth:
|
|
TextWidth |
Float |
Yes |
No |
The width of the caption text box. This takes effect when AdaptMode is set. The text box width is set to this value for automatic wrapping or scaling. If not specified, the text wraps or scales based on the video width. A value between 0 and 1 (exclusive of 0, inclusive of 1) represents a percentage of the output video's width. A value greater than 1 represents an absolute pixel value. |
|
FontUrl |
String |
Yes |
No |
When the caption type is banner text, you can use the path to a font file in your OSS bucket to generate captions. TTF, OTF, and WOFF font file formats are supported. For example: https://your-bucket.oss-cn-shanghai.aliyuncs.com/example-font.ttf |
|
EffectColorStyle |
String |
Yes |
No |
When the caption type is banner text, this is the style type for stylized text. For more information about stylized text types and their effects, see Stylized text effect examples. |
|
SubtitleEffects |
Yes |
No |
When the caption type is banner text, this specifies multilayer effects for the text. You can set multilayer outlines, multilayer shades, and Gaussian blur effects. Gaussian blur can only be used when the type is shade. Note
|
|
|
AaiMotionInEffect |
String |
Yes |
No |
When the caption type is banner text, this is the type of entrance effect. For more information about caption entrance effect types and their effects, see Caption effect examples. |
|
AaiMotionIn |
Float |
Yes |
No |
When the caption type is banner text, this is the duration of the entrance effect. Unit: seconds. The value is accurate to four decimal places. If AaiMotionIn is not specified, the default is 0.5s. If the text duration is less than 0.5s, the duration is the total duration minus the exit effect duration. |
|
AaiMotionOutEffect |
String |
Yes |
No |
When the caption type is banner text, this setting specifies the entrance effect. For examples of available effects, see Caption Effect Examples. |
|
AaiMotionOut |
Float |
Yes |
No |
For banner text captions, this parameter specifies the duration of the exit effect in seconds, accurate to four decimal places. The default value is 0.5 s if |
|
AaiMotionLoopEffect |
String |
Yes |
No |
When the caption type is banner text, this is the type of loop effect. It cannot be active at the same time as an entrance or exit effect. For more information about loop effect types and their effects, see Caption effect examples. |
|
Ratio |
Float |
Yes |
No |
When the caption type is banner text, this is the playback speed of the loop effect. The value is accurate to four decimal places. If not specified, the default is 1. A value greater than 1 speeds up the loop. A value less than 1 slows down the loop. |
EffectTrackItem
|
Name |
Type |
Supported |
Required |
Description |
|
Type |
String |
Yes |
Yes |
The type of the effect track clip. Supported values: VFX, Filter. |
|
SubType |
String |
Yes |
Yes |
The subtype of the effect track clip. For more information, see: |
|
TimelineIn |
Float |
Yes |
Yes |
The start time when the effect clip appears on the timeline. Unit: seconds. The value is accurate to four decimal places. If TimelineIn is not specified, the default value is 0. |
|
TimelineOut |
Float |
Yes |
Yes |
The end time when the effect clip appears on the timeline. Unit: seconds. The value is accurate to four decimal places. If TimelineOut is not specified, the default value is the end time of the video. |
|
Duration |
Float |
Yes |
No |
The duration of the effect clip on the timeline. Unit: seconds. The value is accurate to four decimal places. If Duration is not specified, the default value is the video duration. Note
Only one of Duration and TimelineOut takes effect. |
|
X |
Float |
Yes |
No |
This field is supported only when SubType is set to mosaic_rect or blur. The horizontal distance from the top-left corner of the effect area to the top-left corner of the output video. Note
Both percentage and pixel values are supported. A value from 0 to 0.9999 represents a percentage of the output video's width. An integer greater than or equal to 2 represents an absolute pixel value. |
|
Y |
Float |
Yes |
No |
This field is supported only when SubType is set to mosaic_rect or blur. The vertical distance from the effect area to the top-left corner of the output video. Note
Both percentage and pixel values are supported. A value from 0 to 0.9999 represents a percentage of the output video's height. An integer greater than or equal to 2 represents an absolute pixel value. |
|
Width |
Float |
Yes |
No |
This field is supported only when SubType is set to mosaic_rect or blur. The width of the effect area in the output video. Note
Both percentage and pixel values are supported. A value from 0 to 0.9999 represents a percentage of the output video's width. An integer greater than or equal to 2 represents an absolute pixel value. |
|
Height |
Float |
Yes |
No |
This field is supported only when SubType is set to mosaic_rect or blur. The height of the effect area in the output video. Note
Both percentage and pixel values are supported. A value from 0 to 0.9999 represents a percentage of the output video's height. An integer greater than or equal to 2 represents an absolute pixel value. |
VideoClips effect support
|
Name |
Type |
Supported |
Required |
Description |
|
Type |
String |
Supported types: Text, Crop, Scale, Transition, Filter, VFX, Volume, AFade |
Yes |
The effect type. Valid values:
|
|
SubType |
String |
Yes |
No |
The effect subtype.
|