This page provides an overview of common workflows for using the Twelve Labs JavaScript SDK. Each workflow consists of a series of steps, with links to detailed documentation for each step.
All workflows involving uploading video content to the platform require asynchronous processing. You must wait for the video processing to complete before proceeding with the subsequent steps.
Prerequisites
Ensure that the following prerequisites are met before using the JavaScript SDK:
- Node.js 14 or newer must be installed on your machine.
- You have an API key. If you don't have an account, please sign up for a free account. Then, to retrieve your API key, go to the API Key page, and select the Copy icon to the right of the key to copy it to your clipboard.
Install the SDK
Install the twelvelabs-js
package:
yarn add twelvelabs-js # or npm i twelvelabs-js
Initialize the SDK
- Import the required packages:
import { TwelveLabs } from 'twelvelabs-js';
- Instantiate the SDK client with your API key.:
const client = new TwelveLabs({ apiKey: '<YOUR_API_KEY>' });
Search
Follow the steps in this section to search through your video content and find specific moments, scenes, or information.
Steps:
- Create an index, enabling the Marengo video understanding model.
- Upload videos and monitor the processing.
- Perform a search request, using text or images as queries.
Notes:
- The search scope is an individual index.
- Results support pagination, filtering, sorting, and grouping.
Create text, image, and audio embeddings
This workflow guides you through creating embeddings for text.
Steps:
Note:
- Creating text, image, and audio embeddings is a synchronous process.
Create video embeddings
This workflow guides you through creating embeddings for videos..
Steps:
- Upload a video and monitor the processing.
- Retrieve the embeddings.
Note:
- Creating video embeddings is an asynchronous process.
Generate text from videos
Follow the steps in this section to generate texts based on your videos.
Steps:
- Create an index, enabling the Pegasus video understanding model.
- Upload videos and monitor the processing.
- Depending on your use case, generate one of the following: