> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.twelvelabs.io/v1.3/sdk-reference/node-js/analyze-videos/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.twelvelabs.io/_mcp/server. # Analyze and segment videos > Analyze videos to generate text and extract structured, timestamped segments. The TwelveLabs Node.js SDK provides methods to analyze videos or images, generate text based on their content, and extract structured, timestamped segments. # Choose a method #### Sync analysis One video under 1 hour, or up to twenty images. Use the [`analyze`](/v1.3/sdk-reference/node-js/analyze-videos/sync-analysis#sync-analysis) method for immediate results, or the [`analyzeStream`](/v1.3/sdk-reference/node-js/analyze-videos/sync-analysis#sync-analysis-with-streaming-responses) method for real-time streaming. #### Async analysis One video up to 2 hours (or a portion up to 4 hours), or up to twenty images, with video segmentation. Use the [`analyzeAsync.tasks.create`](/v1.3/sdk-reference/node-js/analyze-videos/async-analysis#create-an-async-analysis-task) method, then poll the task for results. #### Batch analysis Up to 1,000 videos in one request, with video segmentation. Use the [`analyzeAsync.batches.create`](/v1.3/sdk-reference/node-js/analyze-videos/batch-analysis#create-a-batch) method, then poll the batch for results. > Analyze videos to generate text and extract structured, timestamped segments. ## Docs - [Sync analysis](https://docs.twelvelabs.io/sdk-reference/node-js/analyze-videos/sync-analysis.md) - [Async analysis](https://docs.twelvelabs.io/sdk-reference/node-js/analyze-videos/async-analysis.md) - [Batch analysis](https://docs.twelvelabs.io/sdk-reference/node-js/analyze-videos/batch-analysis.md)