How to Turn Text Into Videos using AI and Zapier

12 April 2023 | 9 min read
Laura van Sinderen

In this no-code tutorial, you'll learn how to convert text to video using ChatGPT, Zapier, and Creatomate, which are automatically posted on social media.

Creating visually appealing content is crucial to the success of social media marketing. By transforming your text-based content such as quotes, tips, facts, blogs, and news articles into engaging videos, you can capture your audience's attention and increase engagement. What's new is that AI technology can assist you in generating such content. And even better, this entire process can be easily automated!

In this tutorial, we'll show you how to set up a Zapier workflow that automates video creation and posting on social media. To achieve this, we'll use Creatomate, a video editing API, along with Google Sheets to provide content for the video. Optionally, we can automatically generate the video captions using ChatGPT as well. As an alternative, we can provide human-written video captions rather than using AI-generated text.

Below is an example of text-to-video generated by AI. However, make sure to visit the gallery with many more ready-made templates to promote websites, blog posts, quotes, and much more. And also try out the video editor that lets you create your own fully automated video templates:

Prerequisites

Here are the tools we'll use:

  • Creatomate: to create a template and generate videos. Sign up for free.
  • Zapier: to set up the automated workflow.
  • Google Sheets: or any other app to provide content topics.
  • ChatGPT (optional): to auto-generate text captions for our videos.
  • Twitter: or any other social media platform to share the videos with your followers.

For the purpose of this tutorial, we'll be using Google Sheets to provide a topic that we want to turn into quiz videos. However, other apps like Google Forms, Airtable, Slack, and many more can also be used to achieve the same result. Feel free to use the app that works best for you.

The use of ChatGPT is optional. If you prefer not to use it, you can skip that step entirely. As an alternative, you can provide all the necessary content to use in your videos directly in Google Sheets or any other application.

Note: Zapier only supports auto-posting videos to Facebook Pages, Twitter, and YouTube, but not to Instagram and LinkedIn. However, you can use other no-code platforms such as Make (formerly Integromat) or use SocialBee's Zapier integration to post and schedule videos for Instagram and LinkedIn.

How to turn text into videos using Zapier and AI

To begin with, we'll create a video template in Creatomate, which will form the basis of our social media videos. After that, we'll set up a Zapier workflow that will be triggered when new rows are added to Google Sheets that include a topic. ChatGPT will then generate the content for our videos based on the topic provided. Then, the text response will be properly formatted so that Creatomate can use it to generate videos. Finally, we'll share the videos on Twitter. Here's what our Zap will look like:

1. Create a video template in Creatomate

Log in to your account and navigate to the Templates page. Click + New to browse the template gallery. You can choose any template you like or design your own from scratch. But for this tutorial, let's use the Questions & Quizzes template from the Social Media category. Let's go with 1:1 Square for now, but you can pick any size according to the videos you want to post. Click Create Template to open it in the editor:

Now, let's take a look at the left side panel. Here we can find the elements that make up our template. It's important to know that elements can be marked as dynamic. In our template, the Title, Shape, Question, Answer, and Video elements are dynamic. This allows us to modify its content via Zapier, enabling us to automatically generate new and unique videos:

To keep things simple, I'll use the template as it is. But feel free to change it however you like. Now, let's proceed with setting up our Zap.

2. Add trigger: New Spreadsheet Row in Google Sheets

Next, let's set up a simple Google Sheets document. Create a sheet with 2 columns: Topic and Caption, and input some sample data:

Tip: Instead of Google Sheets, you can use any other app to provide a topic and caption.

Log in to your Zapier account and click + Create Zap. Search for the Google Sheets app and select the New Spreadsheet Row event. Continue by selecting your account or signing in first.

On the Trigger page, select your spreadsheet and worksheet. Then, click Continue:

Click Test trigger on the Test page to make sure Zapier can find a row. When the test is successful, click Continue and move on to the next step.

3. Add action: Conversation in ChatGPT

Search for the ChatGPT app and select the Conversation event. Continue by selecting your account or signing in first.

On the Action page, we can provide ChatGPT with a prompt based on the trigger topic to generate content for our videos. Here, we need to give ChatGPT clear instructions on what we want it to generate. To do this, simply copy and paste the following prompt into the User Message field:

Generate a single question and answer for a funny quiz about [Topic]. Place the question and answer on separate lines like "Q: Question" and "A: Answer". Include emojis.

Make sure to replace [Topic] with Google Sheets -> Topic. Check out the screenshot below to see what it should look like. Once this is done, there is no need to modify any of the other settings, and you can proceed by clicking Continue.

Click Test step on the Test page to view ChatGPT's response. Below is an example of what it should look like. If the test is successful, you can move on to the next step:

4. Add action: Run Javascript in Code by Zapier

In this step, we will transform the output from ChatGPT into a format Creatomate can use. This will require using a small piece of JavaScript code. Although this may sound technical, it simply involves copying and pasting a few lines of code.

Click +, search for the Code by Zapier app, and select the Run Javascript event. Then, click Continue.

On the Action page, type response in the Input Data field and select the ChatGPT -> Assistant Response Message value. Then, in the Code field, copy and paste the following:

1const [question, answer] = inputData.response.split(/\r?\n/);
2if (!question?.startsWith('Q: ') || !answer?.startsWith('A: ')) {
3  throw new Error('Unexpected response from ChatGPT');
4}
5
6output = {
7  question: question.slice(3),
8  answer: answer.slice(3),
9};

When done, click Continue:

Click Test step on the Test page to receive output similar to the screenshot below. The response provided by ChatGPT should be divided into two separate values: question and answer. If the test is successful, proceed to the next step:

5. Add action: Create Single Render in Creatomate

Click +, search for the Creatomate app, and select the Create Single Render event. Continue by selecting your account or signing in with your project's API key first.

On the Action page, select the Questions & Quizzes template in the Template field first:

Then, the templates' dynamic elements appear under Modifications. Let's map the question and answer to the template as follows:

  • Set Question to Code by Zapier -> Question
  • Set Answer to Code by Zapier -> Answer

Note that Video, Shape and Title are also dynamic elements. In this tutorial, we won't modify them, so the default values of the template will be used.

When done, click Continue:

Click Test step on the Test page to see if Creatomate can generate a video from the data we provide. The generated video can be viewed by visiting the URL given in the test result. Rendering can take some time, so if you encounter a Not Found message, simply wait a few seconds before revisiting the URL. If the test is successful, proceed to the next step:

6. Add action: Create Tweet in Twitter

Click +, search for the Twitter app, and select the Create Tweet event. Continue by selecting your account or signing in first.

On the Action page, select Google Sheets -> Caption in the Message field. Then, select Creatomate -> Url in the Image, Video or GIF field. When done, click Continue:

Click Test step on the Test page to make sure Twitter can post your tweet. Your post will be published immediately, so you might want to remove the video afterwards if it's just for testing:

When the test is successful and you're happy with your workflow, click Publish Zap to activate it.

Wrapping up

By following just a few simple steps, you can set up a workflow that automatically turns text into video that gets posted on social media. This allows automatically producing any type of video, such as quotes, stories, based on a video template. As we saw with the quiz template, we can customize this workflow to suit specific needs.

There's no stopping AI from being used in content creation. With a wide range of applications, it is an extremely potent tool. If you want to see another use case, also check out this tutorial where we use ChatGPT to turn facts into a storytelling video, which is then posted on Facebook.

Start automating today

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