Analyze videos
The TwelveLabs Node.js SDK provides methods to analyze videos to generate text from their content.
Titles, topics, and hashtags
Description: This method analyzes a specific video and generates titles, topics, and hashtags based on its content. It uses predefined formats and doesn’t require a custom prompt, and it’s best for generating immediate and straightforward text representations without specific customization.
Function signature and example:
Parameters:
The GistRequest interface contains the following properties:
Return value: Returns an HttpResponsePromise that resolves to a TwelvelabsApi.Gist instance.
The Gist interface contains the following properties:
The TokenUsage interface contains the following properties:
API Reference: Titles, topics, and hashtags page.
Related guide: Titles, topics, and hashtags.
Summaries, chapters, and highlights
Description: This method analyzes a video and generates summaries, chapters, or highlights based on its content. Optionally, you can provide a prompt to customize the output.
Function signature and example:
Parameters:
The SummarizeRequest interface contains the following properties:
The ResponseFormat class contains the following properties:
Return value: Returns a Promise that resolves to a SummarizeResponse object containing the generated content. The response type varies based on the type parameter.
When type is "summary": Returns a SummarizeSummaryResult object with the following properties:
When type is "chapter":  Returns a SummarizeChapterResult object with the following properties:
When type is "highlight": Returns a SummarizeHighlightResult object with the following properties:
The SummarizeChapterResultChaptersItem interface contains the following properties:
The SummarizeHighlightResultHighlightsItem interface contains the following properties:
The TokenUsage interface contains the following properties:
API Reference: Summaries, chapters, and highlights.
Related guide: Summaries, chapters, and highlights.
Open-ended analysis
Description: This method analyzes a video and generates text based on its content.
Function signature and example:
Parameters:
The AnalyzeRequest class contains the following properties:
Return value: Returns a Promise that resolves to a NonStreamAnalyzeResponse object containing the generated text.
The NonStreamAnalyzeResponse interface contains the following properties:
The TokenUsage interface contains the following properties:
The maximum length of the response is 4,096 tokens.
API Reference: Open-ended analysis page.
Related guide: Open-ended analysis.
Open-ended analysis with streaming responses
Description: This method analyzes a video and generates text based on its content.
Function signature and example:
Parameters:
The AnalyzeStreamRequest class contains the following properties:
The ResponseFormat class contains the following properties:
Return value: Returns a promise that resolves to a Stream<TwelvelabsApi.StreamAnalyzeResponse> object that can be iterated over to receive streaming text chunks.
The StreamAnalyzeResponse can be either a StreamAnalyzeResponse.StreamStart, a StreamAnalyzeResponse.TextGeneration, or a StreamAnalyzeResponse.StreamEnd.
The  StreamAnalyzeResponse.StreamStart interface contains the following properties:
The StreamAnalyzeResponse.TextGeneration interface contains the following properties:
The StreamAnalyzeResponse.StreamEnd interface contains the following properties:
The StreamStartResponseMetadata interface contains the following properties:
The StreamEndResponseMetadata interface contains the following properties:
The TokenUsage interface contains the following properties:
The maximum length of the response is 4,096 tokens.
API Reference: Open-ended analysis page.
Related guide: Open-ended analysis.
Error codes
This section lists the most common error messages you may encounter while analyzing videos.
- token_limit_exceeded- Your request could not be processed due to exceeding maximum token limit. Please try with another request or another video with shorter duration.
 
- index_not_supported_for_generate- You can only summarize videos uploaded to an index with an engine from the Pegasus family enabled.