prompts.chat
MCPShips with promptschat: f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open…
Analyzes and searches video content using AI models trained to understand on-screen action.
Claude Code
> /plugin marketplace add DojoCodingLabs/remotion-superpowers> /plugin install remotion-superpowers@remotion-superpowers
Codex
$ npx skills add DojoCodingLabs/remotion-superpowers
Cursor
$ npx skills add DojoCodingLabs/remotion-superpowers
Gemini CLI
$ npx skills add DojoCodingLabs/remotion-superpowers
GitHub Copilot
$ npx skills add DojoCodingLabs/remotion-superpowers
OpenCode
$ npx skills add DojoCodingLabs/remotion-superpowers
Windsurf
$ npx skills add DojoCodingLabs/remotion-superpowers
From the README
Natural Language Search
Search videos using descriptive queries that understand visual elements, actions, sounds, and on-screen text
AI-Powered Analysis
Generate comprehensive video insights including summaries, chapters, and highlights
Flexible Indexing
Support for both generative and embedding models
Local Folder Indexing
Index all video files in a local folder in a single operation
User Metadata
Attach custom key-value metadata to videos at indexing time, and retrieve it in search results
Thumbnail Support
Indexes created with the thumbnail addon (enabled by default) return per-segment thumbnail URLs in search results
Task Management
Monitor and track video processing tasks
Default Index Handling
Automatic creation and management of default indexes
Security report
Low risk
Known flaws
None known
Signed build
No
No build provenance published
Maintained
Oct 29, 2026
Last push
Licence
MIT
Runs as
npx
On your machine
Deprecated
No
Signals from public registries, not an audit. Checked Nov 11, 2026.
The TwelveLabs MCP Server is a Model Context Protocol (MCP) server that provides seamless integration with the TwelveLabs platform. This server enables AI assistants and applications to interact with TwelveLabs powerful video analysis capabilities through a standardized MCP interface.
This server provides tools for:
thumbnail addon (enabled by default) return per-segment thumbnail URLs in search resultsTwelvelabs OnboardingA prompt that helps new users onboard on the TwelveLabs Platform.
create-indexCreate a new TwelveLabs video index for organizing and storing video data.
Parameters:
name (string, required): Name of the indexmodels (array, optional): Type of models to use. Options: ["generative", "embedding"]. Defaults to both models if not specified.addons (array, optional): Addons to enable. Options: ["thumbnail"]. Defaults to ["thumbnail"] if not specified. Thumbnail addon generates per-segment thumbnail URLs in search results.list-indexesList all available TwelveLabs video indexes.
Parameters:
page (number, optional): Page number. Defaults to the first page (10 indexes per page).delete-indexDelete a TwelveLabs video index.
Parameters:
indexId (string, required): ID of the index to deletestart-video-indexing-taskStart indexing a video to make it searchable and analyzable. Supports remote URLs, local file uploads, and batch indexing from a local folder.
Parameters:
videoUrl (string, optional): URL of the video to index. Supports direct URLs and Google Drive links (file or public folder).videoFilePath (string, optional): Absolute path to a local video file to upload (e.g., /path/to/video.mp4). Only available with stdio transport (twelvelabs-mcp-stdio).folderFilePath (string, optional): Absolute path to a local folder containing video files. All supported video files (.mp4, .mov, .avi, .mkv, .webm) in the folder will be indexed. Only available with stdio transport.indexId (string, optional): ID of the index. If not provided, uses the default index.userMetadata (string, optional): JSON string of key-value pairs to attach as metadata to the video(s). Keys must be strings, values can be string, integer, float or boolean. Example: '{"source_path": "/path/to/file", "project": "my_project"}'Note: Provide either videoUrl, videoFilePath, or folderFilePath. If videoUrl is provided, it takes precedence.
get-video-indexing-tasksGet the status of video indexing tasks.
Parameters:
taskId (string, optional): ID of the specific task. If not provided, returns status of the latest 10 tasks.Possible Statuses:
Validating: Video upload complete, API validating requirementsPending: Platform spawning worker serverQueued: Worker assigned, preparing to indexIndexing: Transforming video into embeddingsReady: Indexing completeFailed: Indexing failedlist-videosList all videos in a video index.
Parameters:
indexId (string, optional): ID of the index. If not provided, uses the default index.page (number, optional): Page number. Defaults to the first page.searchSearch through indexed videos using natural language descriptions. Returns matching segments with relevance ranking, user metadata, and thumbnail URLs.
Parameters:
query (string, optional): Natural language search query. Required for text-only and composed searches.indexId (string, optional): ID of the index to search. If not provided, searches the default index.queryMediaUrl (string, optional): URL of an image to search with. For composed search, provide both this and a text query.queryMediaFile (string, optional): Absolute path to a local image file to search with. Alternative to queryMediaUrl.queryMediaType (enum, optional): Type of media query. Currently only "image" is supported.Returns: For each matching video: filename, videoId, userMetadata (if attached during indexing), and a list of segments with rank, start/end times, and thumbnail URLs (if the index has the thumbnail addon enabled).
sync-analyse-videoSynchronously analyse a pre-indexed video with Pegasus 1.2 and return the generated text inline. Requires a videoId pointing at a video already indexed in a Pegasus-enabled index (≤ 1 hour duration).
If you don't already have a videoId — or your video is longer than 1 hour, or you want structured time-based metadata, or multimodal reference-image prompting — use async-analyse-video instead.
Parameters:
videoId (string, required): ID of an indexed video to analyse.prompt (string, required): Custom prompt to guide the analysis (max 2000 tokens).async-analyse-videoAsynchronously analyse a video with Pegasus 1.5 (default). Accepts a URL, asset ID, or base64 directly — no prior indexing required. Handles videos up to 2 hours (longer videos are rejected by the Twelve Labs API with a 400). Fire-and-forget: returns a taskId immediately, poll with get-analyse-task.
Use this when you don't have a videoId, your video is over 1 hour, you want time-based metadata segmentation, or you want multimodal reference-image prompting.
Pegasus 1.5 supports both prompt-only general analysis and time_based_metadata segmentation. Pegasus 1.2 is available via modelName="pegasus1.2" for prompt-only analysis.
Parameters:
videoUrl (string, optional): Direct http(s) URL to a raw media file. Share links (YouTube / Drive / Dropbox) are not accepted.assetId (string, optional): ID of a previously uploaded asset. Must be in status ready. See Uploading a video as an asset for how to obtain one.base64Video (string, optional): Base64-encoded video data, max 30 MB.modelName ("pegasus1.2" | "pegasus1.5", optional): Defaults to pegasus1.5.prompt (string, optional): Natural-language prompt for general-mode analysis (max 2000 tokens). Works on both 1.2 and 1.5. Not allowed with analysisMode="time_based_metadata".temperature (number, optional): 0–1. Default 0.2.maxTokens (integer, optional): Pegasus 1.2: 1–4096. Pegasus 1.5: 2048–32768 (default 32768).analysisMode ("time_based_metadata", optional): Requires modelName="pegasus1.5" (the default) and segmentDefinitions.segmentDefinitions (array, optional): 1–10 entries. Each has id, description, optional fields[] (max 20) and mediaSources[] (max 4 reference images for multimodal prompting).jsonSchema (object, optional): JSON Schema (Draft 2020-12 subset) for structured JSON output in general mode. Cannot be combined with segmentDefinitions.minSegmentDuration (number, optional): Minimum seconds per segment. Time-based metadata mode only.maxSegmentDuration (number, optional): Maximum seconds per segment. Time-based metadata mode only.Rules:
videoUrl, assetId, base64Video.prompt cannot be combined with analysisMode="time_based_metadata".segmentDefinitions requires analysisMode="time_based_metadata".jsonSchema and segmentDefinitions are mutually exclusive.analysisMode="time_based_metadata" requires modelName="pegasus1.5" (the default) — it is rejected on Pegasus 1.2.Returns: taskId, status, modelName. Poll with get-analyse-task.
Use create-asset with either a url or a local file. The same tool covers image uploads (used as entity reference images) and video uploads (used as assetId input for async-analyse-video). Wait until status == "ready" before passing the returned id to a downstream tool.
get-analyse-taskRetrieve the status and result of an async analyse task. Poll every 5–10 seconds until status is ready or failed.
Parameters:
taskId (string, required): The task ID returned by async-analyse-video.Result: When status === "ready", the response includes result.data. In time-based metadata mode, result.data is a JSON-encoded string keyed by each segmentDefinition.id — parse it client-side.
list-analyse-tasksList async analyse tasks in your account, newest first. Supports pagination and filtering.
Parameters:
page (integer, optional), pageLimit (integer, optional, max 50).status (optional): queued | pending | processing | ready | failed.videoUrl (string, optional): filter by exact URL.assetId (string, optional): filter by asset ID.analysisMode ("time_based_metadata", optional).delete-analyse-taskDelete an async analyse task. Tasks that are still processing cannot be deleted (returns a friendly message).
Parameters:
taskId (string, required).start-video-embeddings-taskStart creating video embeddings for a video. Provide either a remote URL or a local file path.
Parameters:
videoUrl (string, optional): URL of the video.videoFilePath (string, optional): Absolute path to a local video file to upload.get-video-embeddings-tasksGet the status of video embeddings tasks.
Parameters:
taskId (string, optional): ID of the specific task. If not provided, returns status of the latest 10 tasks.Possible Statuses:
processing: Task is being processedready: Task completed successfullyfailed: Task failedretrieve-video-embeddingsRetrieve video embeddings from a completed embedding task or an indexed video.
Parameters:
taskId (string, optional): ID of the video embeddings task. If provided, indexId & videoId are ignored.indexId (string, optional): ID of the index containing the video. If not provided we will try to use the default index if it exists.videoId (string, optional): ID of the video to retrieve.create-assetUpload an image or video file as a TwelveLabs asset. The same tool covers both:
create-entity).async-analyse-video via the assetId parameter (alternative to videoUrl/base64Video).The asset's media type is inferred from the file content. Wait until status == "ready" before using the returned id.
Parameters:
🎬 Full video production studio for Remotion — for Claude Code, Codex, Gemini CLI & any Agent Skills agent. AI voiceovers, music, stock footage, image/video generation, TikTok captions, transitions & AI review loop. 15 skills, 5 MCP servers. Free & open source by Dojo Coding.
Ships with promptschat: f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open…
Ships with emdash: A full-stack TypeScript CMS built on Astro. EmDash takes the ideas that made WordPress dominant --…