Help us improve
Share bugs, ideas, or general feedback.
From twelvelabs
Creates video embeddings from video files/URLs, checks status, and retrieves video embeddings via TwelveLabs API. Useful for video indexing and search pipelines.
npx claudepluginhub twelvelabs-io/twelve-labs-claude-code-plugin --plugin twelvelabsHow this skill is triggered — by the user, by Claude, or both
Slash command
/twelvelabs:embedThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create video embeddings, check embedding task status, and retrieve embeddings from tasks or indexed videos using TwelveLabs.
Indexes local video files or URLs for AI search and analysis via TwelveLabs. Use when a user wants to add a video for processing or enable natural language search.
Ingests video/audio from files, URLs, RTSP feeds, or desktop capture; indexes visual/spoken content for search; transcodes, edits timelines, generates assets, and creates real-time alerts.
Imports, searches, and analyzes videos from YouTube, TikTok, Instagram using Memories.ai LVMM for persistent intelligence, summarization, knowledge bases, and social trends research.
Share bugs, ideas, or general feedback.
Create video embeddings, check embedding task status, and retrieve embeddings from tasks or indexed videos using TwelveLabs.
Use this skill when the user:
Extract the video path or URL from the user's message:
/path/to/video.mp4, ./video.mp4, ~/Videos/demo.movhttps://example.com/video.mp4If no path/URL is provided, ask the user:
Please provide the video file path or URL you'd like to create embeddings for.
Examples:
- Local file: /path/to/video.mp4 or ./video.mp4
- Remote URL: https://example.com/video.mp4
For Local Files:
.mp4, .mov, .avi, .mkv, .webmFor URLs:
http:// or https://Use the mcp__twelvelabs-mcp__start-video-embeddings-task tool:
For Local Files:
Tool: mcp__twelvelabs-mcp__start-video-embeddings-task
Parameters:
videoFilePath: "<absolute-path-to-video>"
For URLs:
Tool: mcp__twelvelabs-mcp__start-video-embeddings-task
Parameters:
videoUrl: "<url>"
On success:
Video embedding started!
Source: <filename-or-url>
Task ID: <task_id>
Embedding creation runs in the background and may take several minutes.
Ask "are my embeddings ready?" to check the progress.
When the user asks about embedding status ("are my embeddings ready?", "check embedding status"):
python3 -c "
import sys
sys.path.insert(0, '.twelvelabs')
from config_helper import get_all_pending_embedding_tasks
import json
print(json.dumps(get_all_pending_embedding_tasks(), indent=2))
"
If there are pending tasks, check each one:
Tool: mcp__twelvelabs-mcp__get-video-embeddings-tasks
Parameters:
taskId: "<task-id>"
If no pending tasks, check the latest tasks:
Tool: mcp__twelvelabs-mcp__get-video-embeddings-tasks
Parameters: (none)
If a task status is ready, automatically retrieve the embeddings:
Tool: mcp__twelvelabs-mcp__retrieve-video-embeddings
Parameters:
taskId: "<task-id>"
Display the results to the user.
When the user asks for embeddings of an already-indexed video ("get embeddings for video abc123"):
The user should provide a video ID. If not, help them find it:
mcp__twelvelabs-mcp__list-videos to list available videosTool: mcp__twelvelabs-mcp__retrieve-video-embeddings
Parameters:
videoId: "<video-id>"
indexId: "<index-id>" (optional, uses default index if omitted)
Show the embedding information:
Embeddings retrieved for video: <video-id>
- Number of embeddings: <count>
- Embedding dimension: <dimension>
[Display embedding details or summary]
User: "Create embeddings for /Users/me/Videos/demo.mp4" Action: Validate file exists -> call start-video-embeddings-task with videoFilePath
User: "Embed this video https://example.com/video.mp4" Action: Call start-video-embeddings-task with videoUrl
User: "Are my embeddings ready?" Action: Check pending embedding tasks -> query API -> auto-retrieve if ready
User: "Get embeddings for video abc123" Action: Call retrieve-video-embeddings with videoId