Synthesia API - Quick Start Guide

Get started with Synthesia API today and create the first video in just a few steps.

1. 🆕 Prerequisite: Get a paid Synthesia account

Create Synthesia account

Synthesia lets you create one-off videos and test different types of videos before automating the process through the API. Also, Synthesia lets you define API templates with personalization variables that you can call later through the API.

You need to have a paid account to Synthesia to start using our API. You can create free videos in the test mode of our API.

2. 🗝️ Create an API key

Once you’ve become a Synthesia member start by creating your API key:

  1. Go in the upper right corner of the Synthesia application and click on your account.
  2. Select Integrations
  3. Click on Add to add a new Synthesia API key.

3. 🎬 Create the first video

Create a video API endpoint documentation

We will create the first video in “test” mode. Test videos are free and not counted towards your quota. If you create video in “test” mode, Synthesia overrides your background with Synthesia branded background.

curl  \
  -H "Authorization: ${API_KEY}" \
  -H "Content-Type: application/json" \
  -X POST \
  -d '{ "test": true, "input": [{ "scriptText": "Hello, World! This is my first synthetic video, made with the Synthesia API!", "avatar": "anna_costume1_cameraA", "background": "green_screen"}] }'

Synthesia API sends you a response {...} where you can find an ID of the newly created video.

Create videos via templates: alternatively, you can create videos via templates as well. Read more about how to use templates with Get started with template.

4. 📽️ Wait for your video & D=download it

Retrieve a video API endpoint documentation

As soon as you create a video, Synthesia begins processing it. This can take from 3-10 minutes. When the video is ready for playback, the video status changes to COMPLETE.

Poll the API to see the video status with the following call:

curl${VIDEO_ID} \
  -H "Authorization: ${API_KEY}" \
  -X GET

Once your video is ready, the response includes a time-limited “download link”.

You can use the link to download the video as .mp4.

curl ${DOWNLOAD_URL} --output my_first_synthetic_video.mp4

Note: rather than polling Synthesia API, it is possible to configure a webhook to which Synthesia sends a notification when a video completes successfully. For more information, refer to the webhook documentation.

6. 📜 Explore our detailed API documentation

See the Synthesia detailed API reference to discover all current possible calls and parameters.