Video slideshow generation (Beta)

Video slideshow generation is currently in Beta. There may be minor changes to parameter names or other implementation details before the general access release. We invite you to try it out. We would appreciate any feedback via our support team.

Combine your new and existing assets to create auto-generated video slideshows. Build up your slideshows using videos and images and select how you want to transition between each.

Some examples of how you might use video slideshows include:

  • Creating a personalized video of a user’s recent items.
  • Creating a personalized video of items a user left in their shopping cart.
  • Creating a daily sale video of different products automatically.
  • Creating a real-estate video out of apartment images.

Generating a slideshow


Each slideshow is comprised of a number of components:

  • Template: Defined by Cloudinary specifically for video slideshows. Download the template and upload it to your Cloudinary account as a video file. In the future, template creation will be available to support additional use cases.
  • Global settings: Settings to apply to the whole video, such as resolution, duration and frames per second.
  • Global transformations: Transformations to apply post-production to the generated slideshow, see the Transformation URL API Reference for all available transformations.
  • Slide settings: Settings to apply to all slides, such as:
  • Individual slides: The media to include in the individual slides and any settings specific to that slide.


  • You must have the template file (.clt) in your account for slideshow generation to work. Download the template and upload it to your account as a video file. The public ID, including the folder structure, is used as part of the slideshow URL.
  • If the configured duration is less than the combined total duration of the individual videos and transitions, the video will be cut short.


Videos are created using the following URL syntax:<cloudname>/video/upload/fn_render:<global-settings>;vars_(<slide-settings>(<individual-slide>))/<global-transformations>/<template>.<ext>

The URL syntax is designed to allow the slideshow settings to be constructed as a URL instead of a data structure. The characters used are defined as:

  • ( - Start of list or object (key/value list)
  • ) - End of list or object
  • ; - Separator between values in list or object
  • _ - Key/value separator in a object

Additional syntax is used to signify the beginning of the relevant components:

  • fn_render - Signals the beginning of the transformation as a whole.
  • vars - Signals the beginning of the slide settings data structure.

Slideshow generation occurs asynchronously after the initial request. As a result, an HTTP 423 error will be returned whilst the final slideshow is generated. Refresh your browser after several seconds or minutes to see the result.


Example with images only:

Example with videos and images:

Example with custom slide durations:


Global settings

Parameter Description
w Required. The width of the slideshow in pixels.
h Required. The height of the slideshow in pixels.
du The duration of the slideshow in seconds. Default: 10.
fps The frames per second of the slideshow. Default: 20.

Slide settings

Parameter Description
vars_ Signals the start of the slide settings.
transition_s: The transition to use for all slides. Default: CrossZoom.
sdur The duration for all slides in milliseconds. Default: 3000.
tdur The duration for all transitions in milliseconds. Default: 1000.
slides_ The slides to appear in the video. See Individual slide settings.

Individual slide settings

Parameter Description
media_: The type of media. Specify images as media_i:<public_id>. Specify videos as media_v:<public_id>.
type_s The slide type. Set to video when using a video for a slide. For example: media_v:my-public-id;type_s:video. Default: image.
transition_s The transition to use from the individual slide to the next. Default: CrossZoom.
sdur The slide duration in milliseconds. Default: 3000.
tdur The transition duration in milliseconds. Default: 1000.

✔️ Feedback sent!

Rate this page: