> ## Documentation Index
> Fetch the complete documentation index at: https://api-tools.memories.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Video Datalake

> A searchable, AI-indexed video data lake — ingest video and live streams, then search and read any moment over one REST API.

The **Video Datalake** gives your application a **video-understanding engine**. Raw videos and live streams become **machine-readable derived content** — embeddings, captions, transcripts, face entities, safety events — that your models, search, and agents query directly, over one REST API or an [MCP server](/mcp-server).

<Card title="Video Datalake" icon="database" href="/datalake/quickstart" horizontal>
  Upload videos and live streams and the platform **auto-indexes** them. Then **search a collection** (semantic / keyword / image), **read any moment** (captions, frames, clips, speakers, entities), maintain a **face-reference library**, and receive **safety-detection alerts** — all in natural language.
</Card>

## How the video data lake works

A **video data lake** stores raw video and keeps its derived content queryable. Instead of your agent downloading and watching a video, it **asks the lake in natural language and gets back the exact moments and text it needs**.

<div style={{display:'flex',flexDirection:'column',alignItems:'center',gap:'0',margin:'24px 0 6px'}}>
  <div style={{width:'100%',maxWidth:'320px',padding:'11px 16px',borderRadius:'13px',border:'1px solid rgba(128,128,128,0.28)',textAlign:'center'}}>
    <div style={{fontWeight:600,fontSize:'14px'}}>Videos · live streams</div>
    <div style={{fontSize:'11.5px',opacity:0.55,marginTop:'2px'}}>file · URL · rtmp</div>
  </div>

  <div style={{display:'flex',alignItems:'center',gap:'7px',fontSize:'11px',opacity:0.5,padding:'7px 0'}}><span style={{fontSize:'15px',opacity:0.7}}>↓</span> index</div>

  <div style={{width:'100%',maxWidth:'320px',padding:'12px 16px',borderRadius:'13px',border:'1.5px solid rgba(79,107,230,0.5)',background:'linear-gradient(90deg,rgba(155,224,127,0.16),rgba(86,196,192,0.16),rgba(79,107,230,0.16),rgba(107,63,160,0.16))',textAlign:'center'}}>
    <div style={{fontWeight:700,fontSize:'14.5px'}}>Video Data Lake</div>
    <div style={{fontSize:'11.5px',opacity:0.62,marginTop:'2px'}}>embeddings · captions · events</div>
  </div>

  <div style={{display:'flex',alignItems:'center',gap:'7px',fontSize:'11px',opacity:0.5,padding:'7px 0'}}><span style={{fontSize:'15px',opacity:0.7}}>↓</span> Datalake API · search · read</div>

  <div style={{width:'100%',maxWidth:'320px',padding:'11px 16px',borderRadius:'13px',border:'1px solid rgba(128,128,128,0.28)',textAlign:'center'}}>
    <div style={{fontWeight:600,fontSize:'14px'}}>Agents · MCP</div>
    <div style={{fontSize:'11.5px',opacity:0.55,marginTop:'2px'}}>your LLM apps</div>
  </div>
</div>

<div style={{textAlign:'center',fontSize:'12px',opacity:0.55,margin:'8px 0'}}>
  ↺  agents query the lake in natural language — <strong>ingest once, read and act</strong>
</div>

**How agents use it:** ingest once → the lake indexes continuously → your agent calls [Search](/datalake/search/search) to find moments, [Get Moment](/datalake/moments/get-moment) to read captions/frames/clips, and [Events](/datalake/events/get-video-events) to react to what happened — all as plain API calls, or through our [MCP Server](/mcp-server).

## Start here

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/datalake/quickstart">Create a collection, upload a video, and read results in five minutes.</Card>
  <Card title="Core Concepts" icon="diagram-project" href="/datalake/core-concepts">Collections, the async model, moments, and derived content.</Card>
  <Card title="Authentication" icon="key" href="/authentication">One key, one host, request conventions.</Card>
  <Card title="Search" icon="magnifying-glass" href="/datalake/search/search">Semantic, keyword, hybrid, and image search over your video.</Card>
</CardGroup>

## Drive it with an agent

<CardGroup cols={2}>
  <Card title="Video Agent" icon="robot" href="/video-agent">
    An agent that operates the Datalake in natural language — with the **lake as its long-term video memory**.
  </Card>

  <Card title="MCP Server" icon="plug" href="/mcp-server">
    The official MCP server that connects Claude, Cursor, or any MCP client to the Datalake.
  </Card>
</CardGroup>

<Note>
  **Building with an agent?** Every page has a **Copy · Open in ChatGPT / Claude** button (top-right), the whole site is published as `llms.txt` / `llms-full.txt` for LLM ingestion, and the [MCP Server](/mcp-server) — plus a [CLI](/cli) and a [Claude Code / Codex plugin](/plugin) — let an agent operate the Datalake directly.
</Note>

<Note>
  **SDKs:** the Datalake is REST-first today — every example is copy-paste `curl` and Python `requests`. Official SDKs are on the way.
</Note>

<Note>
  **Coming from API 1.0?** The previous Visual Intelligence / Visual Search / Visual Agents docs are still online — pick **1.0 · Sunset Aug 13** in the version selector next to the logo at the top of the page. API 1.0 will be **sunset on August 13, 2026**, so migrate to the Datalake API before then.
</Note>
