Each task represents a request to upload and index a video, and you can use this endpoint to manage your tasks. A task starts when you begin uploading your video by calling the POST method of the /tasks endpoint, and it can be in one of the following statuses:

  • Validating: Your video has finished uploading, and the API service is validating it by performing the following checks:
    • Resolution must be greater than or equal to 360p and less than or equal to 4K.
    • The video files you wish to upload must be encoded in the video and audio formats listed on the FFmpeg Formats Documentation page. For videos in other formats, contact us at [email protected].
    • For Marengo, the duration of your video must be between 4 seconds and 2 hours (7,200s). For Pegasus, it must be between 4 seconds and 20 minutes (1200s). In a future release, the maximum duration for Pegasus will be 2 hours (7,200 seconds).
    • File size must not exceed 2 GB.
      If you require different options, contact us at [email protected].
    • If the conversation engine option is selected, the video you're uploading must contain an audio track.
    • Your video must not have missing frames.
  • Pending: The API is spawning a new worker server to process your video.
  • Indexing: The API transforms the video you uploaded into vectors. A vector is like a compressed version of the video and contains all the information that Twelve Labs' deep-learning models need to perform fast, semantic, accurate, and scalable searches.
  • Ready: Your video is ready to be searched.
  • Failed: If an error occurs, the status is set to Failed.



When using this endpoint, you can set up webhooks to receive notifications. For details, see the Webhooks section.

Related guide: Upload single videos.