From twelvelabs
Create, check, and retrieve video embeddings. Use when user wants to generate embeddings from a video, check embedding status, or retrieve embeddings for a video.
npx claudepluginhub twelvelabs-io/twelve-labs-claude-code-pluginThis skill uses the workspace's default tool permissions.
Create video embeddings, check embedding task status, and retrieve embeddings from tasks or indexed videos using TwelveLabs.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Performs token-optimized structural code search using tree-sitter AST parsing to discover symbols, outline files, and unfold code without reading full files.
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