How to Automatically Add Subtitles to Videos using Make

9 January 2024 | 9 min read
Laura van Sinderen

This video automation tutorial shows you how to auto-transcribe video and audio files to add animated word-by-word captions to social media videos using (Integromat).

It's easy to see why subtitles are so important for social media videos. First of all, animated captions engage better, keeping viewers interested longer. Assuming they watch the video to begin with, because most people flick through social media with sound muted. Without captions, videos are less likely to be watched.

If you've ever transcribed a video manually, you know how time-consuming this can be, let alone if you have to animate the captions as well. Fortunately, text-to-speech AI technology has come a long way, and with no-code platforms like, it's easier than ever to set up fully automated video workflows that do all the work for you.

The animated subtitles as generated by the speech-to-text AI.
Video courtesy of Ryan Holiday of The Daily Stoic podcast.

In this step-by-step tutorial, I'll show you how to set up an automated workflow to transcribe a video file, add animated captions, and post the subtitled video to social media. To do this, we'll use, a no-code automation platform, along with Creatomate, an API for video creation. With's support for over a thousand apps, you can easily build a workflow to perfectly suit your needs.

If you look at YouTube Shorts, TikTok videos, or Instagram Reels, you'll come across a wide range of subtitle styles. Creatomate not only supports the most common styles seen on social media, but also gives you the flexibility to customize animations and styling exactly the way you want.

A handful of animated subtitle styles as supported by Creatomate.

There is much more to video automation than adding subtitles to your videos. Using Creatomate's template editor, you can automate almost any type of video, whether it is for social media, marketing, or video personalization. Let's stay on subtitles for now. But, if you're curious about what else is possible, be sure to check the rest of our video automation tutorials.


As you'll likely build a scenario to meet your specific needs, we'll keep the setup simple. We'll use a basic trigger to submit a video clip to be transcribed and subtitled. Throughout this tutorial, feel free to create a completely different workflow, with apps such as Google Drive, Airtable, or Facebook. It would follow the same general process.

Here are the tools we'll use:

  • Creatomate: to create a video template and auto-generate the subtitles. Sign up for free.
  • Make: to automate the entire process.
  • (Optional) Instagram for Business: or any other app for further use of the videos.

How to generate subtitles using (Integromat)?

The first step to automatically generating subtitles is to set up a template in Creatomate. This is where we can change the style, color, and animation. Next, we'll move on to Make and create a new automation scenario. In this case, we'll use a basic trigger to add a video clip to our workflow. Following that, Creatomate automatically transcribes the input video and generates the subtitles. Since this process takes some time, we'll add a sleep timer to wait for the video to complete. After the subtitled video has been completed, we can distribute it however we like, for example, on Instagram.

Let's get started by creating a template.

1. Create a transcription template

Log in to your Creatomate account, navigate to the Templates page, and click the + New button. For this tutorial, we'll use the Highlighted Subtitles template found in the Auto-Subtitles category. Choose a size, such as 9:16 Vertical and click Create Template to open it in the editor:

This template is already set up to automatically transcribe a video file. In the left-hand panel, you can tell that our template consists of a placeholder video (Video-1), a text element (Subtitles-1), and an outro image (Logo). As you can see, the subtitles haven't yet been generated. Instead, we see placeholder captions that will be replaced by auto-generated subtitles when the scenario is run.

You can customize the subtitles however you like. To do this, double-click the Subtitles-1 element in the left side panel. On the right-hand properties panel, scroll down until you find the Transcription settings:

Here, you can see that the Source property is set to Video-1. As a result, Creatomate will generate captions based on that video element. Feel free to play around with the Style properties to customize the subtitles' styling and animation. For instance, if you want to display one word at a time, which is a popular style on TikTok and Instagram, set the "Max. Length" property to 1.

As a starting point, let's just use the template as it is. It's always possible to return to the template later. In the next steps, we'll set up a Make scenario using this template. From there, we can automatically replace the placeholder video with our own.

2. Trigger the automated workflow

If you're already familiar with Make, you can use your own trigger to pass data into the automated workflow.

Sign in to your Make account and click + Create a new scenario. Click the big + button, search for the Tools app, and choose Basic trigger.

Next, let's add some dummy items. We'll provide a video file along with a caption for social media. You can use the following data:

  • Input-Video ->
  • Caption -> How does this affect your life?

Then, click OK:

Now, right-click this module and select Run this module only:

3. Create an auto-transcribed video

Click + to add another module. Search for and select HTTP as the app and Make a request as the action.

Copy-paste in the URL field and set Method to POST:

Next, click on Add a header and create an item with:

  • Name: Authorization
  • Value: Bearer [YOUR API KEY HERE]

Now, you'll have to enter your API key. To find it, return to Creatomate and click on the Use Template button in the top-right corner of the template editor. Next, select the API Integration option. Your API key will be shown here:

Note: Make sure that there is a space between Bearer and the API key.

Next, set Body type to Raw and Content type to JSON (application/json):

Go back to the API Integration page in Creatomate. Then, copy the template code enclosed between the curly brackets { and }, as shown in the screenshot below:

Paste it into the Request content field. Here, we'll replace the Video-1 element from our template with the input video from our trigger. You can do this by linking to Tools - Basic trigger -> input video. Then, set Parse response to Yes, and click OK:

To test if this module has been successfully configured, click the Run once button located in the bottom left corner:

By visiting the API Log page in your Creatomate dashboard, you'll see that a video is being processed:

4. Pause the scenario

Click +, search for and choose Tools as the app, and Sleep as the action. Set Delay to 90 seconds and proceed by clicking OK:

Tip: You can also see how long it took to generate the subtitled video on the API Log page. It's important to set a delay longer than the render time. Ensure that you leave enough time for the video to be generated by setting a sleep duration that is much longer than the video rendering time.

5. Post the video to social media

By now, the subtitles have been successfully generated, and we have access to a transcribed MP4 video for further use. To wrap up this example, we'll post the video on Instagram. However, feel free to customize the workflow based on your preferences. For instance, you might want to share the video on Facebook, TikTok, or YouTube instead.

Click + to add another module. Search for and choose Instagram for Business as the app and Create a Reel Post as the action.

Choose your account or create a connection, then pick your page. In the Video URL field, select HTTP - Make a request -> Data -> url:

Note: Certain app integrations in Make, like Facebook Pages, take a file as input, whereas others, such as Instagram for Business, expect a URL. If you want to use an app that requires a file, you'll have to add a module to fetch the file first. Check out this tutorial as a reference (step 5).

In the Caption field, choose Tools - Basic Trigger -> caption. Customize the other options to your liking. Once you're finished, click OK:

Finally, click Run once. If your scenario is set up correctly, the video with subtitles will be posted on Instagram:

What's next for automated subtitle videos?

By using Creatomate, you can skip the manual work of typing video transcripts and syncing captions for each video. Setting up such an automated workflow with requires only a few simple steps. Once it's up and running, you can effortlessly generate subtitled videos for all your social media channels—on autopilot.

Now that you've learned how auto-transcription works, I recommend checking out our other step-by-step tutorials to maximize your social media marketing efforts.

Start automating today

Start with a full-featured trial with 50 credits, no credit card required.
Get started for free