# VideoDB — how to use (mcp.ai)

Connect your VideoDB account and use 11 tools for video and audio straight from your AI agent. Connect with your own API key. VideoDB is a video infrastructure platform for storing, searching, understanding, editing, and generating video, audio, and image content.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_video_db?ms=1787293500000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `video_db_ask_collection`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/video_db`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/video_db/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/video_db/ask/collection` — Queue a grounded question-answer request over a VideoDB collection's Search V2 indexes. This search-family call is metered and requires Search V2 indexes. The returned status only confirms the async r
  - body: { mode?: string, top_k?: integer, question: string, collection_id: string, include_sources?: boolean }
- `POST https://api.mcp.ai/api/video_db/create/collection` — Create a VideoDB collection for organizing and searching media. Collections are private by default.
  - body: { name: string, is_public?: boolean, description?: string }
- `POST https://api.mcp.ai/api/video_db/get/async/result` — Check one VideoDB async operation by response ID. Returns its current state or terminal provider result without polling repeatedly, and fails when a completed nested provider response reports success:
  - body: { response_id: string }
- `POST https://api.mcp.ai/api/video_db/get/collection` — Get metadata for one VideoDB collection by ID.
  - body: { collection_id: string }
- `POST https://api.mcp.ai/api/video_db/get/media` — Get metadata for one VideoDB video, audio file, or image.
  - body: { media_id: string, media_type: string, collection_id?: string }
- `POST https://api.mcp.ai/api/video_db/ingest/media` — Queue ingestion of a video, audio file, or image from an HTTP(S) URL into a VideoDB collection. This non-idempotent call is metered; live billing reported file_upload at 0.09 credits. Queue acceptance
  - body: { url: string, name?: string, media_type: string, callback_url?: string, collection_id: string }
- `POST https://api.mcp.ai/api/video_db/list/collections` — List collections available to the connected VideoDB API key and identify the default collection.
- `POST https://api.mcp.ai/api/video_db/list/media` — List videos, audio files, or images in one VideoDB collection using one normalized media interface. Video results return at most one page and may include an opaque continuation cursor.
  - body: { limit?: integer, media_type: string, next_cursor?: string, collection_id: string }
- `POST https://api.mcp.ai/api/video_db/rename/media` — Rename one VideoDB video, audio file, or image.
  - body: { name: string, media_id: string, media_type: string }
- `POST https://api.mcp.ai/api/video_db/search/collection` — Run synchronous semantic search over indexed media in a VideoDB collection. This metered call consumed 0.0015 credits per successful call during live Free_v1 probing, including calls that returned emp
  - body: { query: string, top_k?: integer, filter?: object|object|string|integer|number|boolean[], index_ids?: string[], index_names?: string[], collection_id: string, return_fields?: string[], score_threshold?: number }
- `POST https://api.mcp.ai/api/video_db/update/collection` — Update the name, description, or visibility of an existing VideoDB collection.
  - body: { name?: string, is_public?: boolean, description?: string, collection_id: string }

## Example prompts
- "What can I do in VideoDB?"
- "Show me a summary of my VideoDB account"

## More
- Page: https://mcp.ai/video_db
- Agent spec (llms.txt): https://mcp.ai/video_db/llms.txt
- Postman collection: https://mcp.ai/video_db/postman.json
