Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

How to Auto-Create Dynamic Videos from Images using n8n

Description and use

This tutorial automates slideshow video creation from a variable number of images using n8n, Airtable, and Creatomate. An Airtable trigger fires on the Ready to Process checkbox. A Code node builds a dynamic Scenes.elements array from each record's attachments. Creatomate renders the video from a reusable template, and the MP4 is saved back to Airtable.

Problem

Creating videos from a variable number of images is complicated because each video may need a different number and arrangement of scenes, layouts, and text elements.

Outcome

The workflow generates professional slideshow videos from a variable number of images by combining reusable Creatomate scene templates with dynamic Airtable data, producing consistent styling across different image counts.

Workflow

  • Import a video template (e.g., Tribute Compilation) in Creatomate that contains reusable scene designs such as Title-Scene, Intro-Text, Intro-Dedication, Single-Photo-With-Caption, Multiple-Photos-Parallax, Farewell-Message, and Final-Tribute.
  • Create an Airtable base named Dynamic Slideshow Videos with fields for Name, Full Name, Date, Caption Text, Farewell Message, Images attachment, Ready to Process checkbox, Last Modified time, and Video attachment.
  • Configure an Airtable trigger in n8n that fires on changes to the Ready to Process checkbox, using Last Modified as the Trigger Field and View ID from the Airtable URL.
  • Add a Code node in JavaScript that examines each Airtable record's attachments, selects suitable scene designs based on image count and orientation, and builds a Scenes.elements array.
  • Connect Creatomate to n8n using an API key from the Creatomate project settings, selecting Create Render with Resource Render, Operation Create Render, From Template, Template Tribute Compilation, and Mapping Column Mode Map Each Column Manually.
  • Map Scenes.elements to the template's Scenes composition via Additional Modifications using Selector Scenes.elements and Value {{ $json["Scenes.elements"] }}.
  • Enable Wait for Completion so the node waits until Creatomate finishes rendering before returning the public MP4 URL.
  • Update the original Airtable record by saving the completed MP4 to its Video attachment field.

Evidence

In this tutorial, you'll learn how to automatically turn a variable number of images into a slideshow video using Airtable, n8n, and Creatomate.

Source

Each record represents one video and contains its images, accompanying text, a checkbox for starting the workflow, and an attachment field for the finished MP4.

Source

A Code node then examines the supplied content and builds a Scenes.elements array containing the appropriate scene designs, images, and text.

Source

Instead of replacing individual dynamic elements, we'll replace the contents of the template's Scenes composition with the generated array.

Source

Do not use JSON.stringify() here. The Creatomate node can pass the array directly.

Source

Leave Wait for Completion enabled. This makes the node wait until Creatomate has finished rendering before returning its output.

Source

  • Record date: 2026-10-21T20:26:13.565Z