---
updatedAt: 2026-09-10T15:50:00.000Z
agentTools:
  projectIndex: https://docs.synthesia.io/llms.txt
---

# Videos

Videos describe the content that you've created with Synthesia. Using the API, you're able to generate new videos either from scratch or using one of your existing Synthesia templates.

The `Video` object contains the necessary information for interacting with your content. Crucially, the video status describes the processing status and governs the availability of some of the other object attributes.

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th style={{ textAlign: "left" }}>
        Object Keys
      </th>

      <th style={{ textAlign: "left" }}>
        Type
      </th>

      <th style={{ textAlign: "left" }}>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td style={{ textAlign: "left" }}>
        id
      </td>

      <td style={{ textAlign: "left" }}>
        String
      </td>

      <td style={{ textAlign: "left" }}>
        Unique identifier for the video.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        title
      </td>

      <td style={{ textAlign: "left" }}>
        String
      </td>

      <td style={{ textAlign: "left" }}>
        Title of the video (used on the [video's share page](https://share.synthesia.io/606b3b89-fde7-4d0f-bc02-a944998fcb8d)).
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        description
      </td>

      <td style={{ textAlign: "left" }}>
        String
      </td>

      <td style={{ textAlign: "left" }}>
        Description of the video (used on the [video's share page](https://share.synthesia.io/606b3b89-fde7-4d0f-bc02-a944998fcb8d)).
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        ctaSettings
      </td>

      <td style={{ textAlign: "left" }}>
        Object
      </td>

      <td style={{ textAlign: "left" }}>
        Settings for a call-to-action button.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        ctaSettings.label
      </td>

      <td style={{ textAlign: "left" }}>
        String
      </td>

      <td style={{ textAlign: "left" }}>
        Label for a call-to-action button.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        ctaSettings.url
      </td>

      <td style={{ textAlign: "left" }}>
        String
      </td>

      <td style={{ textAlign: "left" }}>
        URL to navigate to, when the call-to-action button is clicked.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        visibility
      </td>

      <td style={{ textAlign: "left" }}>
        String
      </td>

      <td style={{ textAlign: "left" }}>
        Describes the private settings of the video:

        * If `public`, the video's share page is active.
        * If `private`, the video's share page is not active; visitors will receive a 404 Not Found response.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        status
      </td>

      <td style={{ textAlign: "left" }}>
        String
      </td>

      <td style={{ textAlign: "left" }}>
        Describes the processing status of the video:

        * `in_progress`: the video is being processed.
        * `complete`: the video was processed successfully.
        * `error`: an error occurred during processing.
        * `rejected`: the video was rejected during moderation due to inappropriate content.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        download
      </td>

      <td style={{ textAlign: "left" }}>
        String
      </td>

      <td style={{ textAlign: "left" }}>
        A time-limited URL which may be used to download the video.

        This field is only available if the video status is `complete`.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        duration
      </td>

      <td style={{ textAlign: "left" }}>
        String
      </td>

      <td style={{ textAlign: "left" }}>
        Duration of the video.

        This field is only available if the video status is `complete`.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        callbackId
      </td>

      <td style={{ textAlign: "left" }}>
        String
      </td>

      <td style={{ textAlign: "left" }}>
        Arbitrary metadata set for the video when creating the video.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        createdAt
      </td>

      <td style={{ textAlign: "left" }}>
        Integer
      </td>

      <td style={{ textAlign: "left" }}>
        UNIX timestamp representing the time video was created.
      </td>
    </tr>

    <tr>
      <td style={{ textAlign: "left" }}>
        lastUpdatedAt
      </td>

      <td style={{ textAlign: "left" }}>
        Integer
      </td>

      <td style={{ textAlign: "left" }}>
        UNIX timestamp representing the time video was last updated.
      </td>
    </tr>
  </tbody>
</Table>

# Sub pages

* [Create a video](https://docs.synthesia.io/reference/create-video.md)
* [Create a video from a template](https://docs.synthesia.io/reference/create-a-video-from-a-template.md)
* [List videos](https://docs.synthesia.io/reference/list-videos.md)
* [Retrieve a video](https://docs.synthesia.io/reference/retrieve-a-video.md)
* [Retrieve a thumbnail](https://docs.synthesia.io/reference/retrieve-a-jpg-thumbnail.md)
* [Retrieve a GIF thumbnail](https://docs.synthesia.io/reference/retrieve-a-gif-thumbnail.md)
* [Retrieve a GIF/JPG thumbnail](https://docs.synthesia.io/reference/retrieve-a-gif-jpg-thumbnail.md)
* [Update a video](https://docs.synthesia.io/reference/update-a-video.md)
* [Delete a video](https://docs.synthesia.io/reference/delete-a-video.md)

# Sibling pages

* [Video API Introduction](https://docs.synthesia.io/reference/video-api-introduction.md)
* [Video API Quickstart](https://docs.synthesia.io/reference/synthesia-api-quickstart.md)
* [Templates](https://docs.synthesia.io/reference/templates.md)
* [Dubbing](https://docs.synthesia.io/reference/dubbing.md)
* [Translations](https://docs.synthesia.io/reference/translations.md)
* [Webhooks](https://docs.synthesia.io/reference/webhooks.md)
* [Audit Logs](https://docs.synthesia.io/reference/audit-logs.md)
* [Assets](https://docs.synthesia.io/reference/assets-1.md)