Cerul
The video search layer for AI agents.
Teach your AI agents to see. Search video by meaning — across speech, visuals, and on-screen text.
Docs · API Reference · Pricing ·
Why Cerul
Web pages are easy for AI agents to search. Video is not.
Most video search today is limited to transcripts — what was said. Cerul goes further by indexing what is shown: slides, charts, product demos, code walkthroughs, whiteboards, and other visual evidence.
[!NOTE]Cerul is in active development. The API is live at cerul.ai — sign up to get a free API key.
Quickstart
Use with your AI agent
Copy this and send it to your agent (Claude Code, Codex, Cursor, etc.):
Install the Cerul video search skill: mkdir -p ~/.claude/skills/cerul && curl -fsSL https://raw.githubusercontent.com/cerul-ai/cerul/main/skills/cerul/SKILL.md -o ~/.claude/skills/cerul/SKILL.md && cat ~/.claude/skills/cerul/SKILL.md
Your agent will install the CLI, set up credentials, and start searching videos as a tool.
Or install via the skills CLI:
npx skills add cerul-ai/cerul
Install for specific agents
# Claude Code
mkdir -p ~/.claude/skills/cerul && curl -fsSL https://raw.githubusercontent.com/cerul-ai/cerul/main/skills/cerul/SKILL.md -o ~/.claude/skills/cerul/SKILL.md
# Windsurf
mkdir -p ~/.codeium/windsurf/skills/cerul && curl -fsSL https://raw.githubusercontent.com/cerul-ai/cerul/main/skills/cerul/SKILL.md -o ~/.codeium/windsurf/skills/cerul/SKILL.md
# OpenCode
mkdir -p ~/.config/opencode/skills/cerul && curl -fsSL https://raw.githubusercontent.com/cerul-ai/cerul/main/skills/cerul/SKILL.md -o ~/.config/opencode/skills/cerul/SKILL.md
# Cline / Cursor
mkdir -p .claude/skills/cerul && curl -fsSL https://raw.githubusercontent.com/cerul-ai/cerul/main/skills/cerul/SKILL.md -o .claude/skills/cerul/SKILL.md
CLI
curl -fsSL https://cli.cerul.ai/install.sh | bash
cerul search "Sam Altman on AI video generation tools"
Inline video frame previews are supported in iTerm2, WezTerm, and Kitty. Enable with
cerul configand toggle Images on. Other terminals show text-only results.
MCP (Model Context Protocol)
Connect any MCP-compatible client to the hosted endpoint (replace with your API key):
# Claude Code
claude mcp add --transport streamable-http "https://api.cerul.ai/mcp?apiKey=YOUR_API_KEY" cerul
# Codex
codex mcp add --url "https://api.cerul.ai/mcp?apiKey=YOUR_API_KEY" cerul
Also works with Claude Desktop, Cursor, Windsurf, and other MCP clients.
SDK & APIPython
pip install cerul
from cerul import Cerul
client = Cerul(api_key="YOUR_API_KEY")
results = client.search(query="Sam Altman on AGI timeline", max_results=5)
for r in results:
print(r.title, r.url)
JavaScript
npm install cerul
import { cerul } from "cerul";
const client = cerul({ apiKey: "YOUR_API_KEY" });
const result = await client.search({ query: "Sam Altman on AGI timeline", max_results: 5 });
for (const r of result.results) {
console.log(r.title, r.url);
}
cURL
curl "https://api.cerul.ai/v1/search" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "Sam Altman on AGI timeline", "max_results": 5}'
Full API spec: openapi.yaml | cerul.ai/docs
License
Licensed under Apache 2.0.