Reelify documentation
Turn a product URL into a short demo video — from the web UI, the HTTP API, or any MCP-compatible AI agent. This guide covers authentication, sessions, and generation options.
Overview
Reelify crawls your site, plans a user journey with AI, records a headed browser session (with optional login), then assembles a narrated or silent MP4.
- Web UI — guided flow at home: URL → auth → scenario → journey → generate.
- HTTP API — same pipeline for scripts and integrations; authenticate with an API key.
- MCP — npm package
reelify-mcpfor Claude, Cursor, VS Code, Windsurf, and any stdio MCP host.
Default demos target about 60–90 seconds. Use shorter targets and silent mode for landing-page clips (see Duration & audio).
Web app
Sign-in sessions
For authenticated products (SaaS dashboards, etc.), save a browser session during step 2 or from Account → Sessions. Reelify stores cookies securely per user and reuses them during capture.
Scenario & journey
Describe what the demo should show (features, final screen, tone). After planning you can edit each journey step before generating the video.
Editor
Finished runs appear under My videos. Open the editor to trim beats, adjust narration, and re-render.
API keys
Programmatic access uses Bearer tokens. Create keys only from the UI — secrets are shown once.
- Sign in with a Reelify account (Firebase). Guest mode does not support API keys.
- Open Account → Security.
- Choose a label and expiration, or select No expiration.
- Copy the key immediately (`reelify_sk_…`). Store it in your MCP client env or a secret manager — never commit it to git.
Revoked or expired keys stop working immediately. Keys are stored as hashes server-side; Reelify never shows the full secret again after creation.
HTTP API
Send Authorization: Bearer <api_key> on every request. Base URL is your deployment origin (e.g. production or http://localhost:3000 in dev).
Typical flow
POST /api/plan— start crawl + journey planning; returnsrunId(202 while planning).GET /api/runs/:id/status— poll untilstatusisplanned.POST /api/generate— start capture + assembly.- Poll status until
done; readfinalVideoUrl.
Plan request
{
"url": "https://app.example.com",
"scenario": "Quick dashboard tour for a landing hero",
"authSessionId": "optional-session-uuid",
"targetDurationSec": 10,
"skipVoice": true,
"maxPages": 6
}Other endpoints
GET /api/auth/sessions?url=…— list saved loginsGET /api/runs— list your videosPOST /api/journey/edit— rewrite journey with AI
MCP (AI agents)
Reelify ships an MCP server published on npm as reelify-mcp (Model Context Protocol). Any compatible host can list your sessions and run the demo pipeline — no need to clone this repository.
Works with hosts that support stdio MCP servers, including Claude Desktop, Cursor, VS Code (MCP extensions / GitHub Copilot agent mode), Windsurf, Zed, Continue, Cline, and other agents. The JSON shape below is the same; only the config file location changes.
Server definition (recommended — npm)
Register this block under your client's mcpServers (or equivalent) key. Replace the API key and base URL with your values, then restart the host app.
{
"mcpServers": {
"reelify": {
"command": "npx",
"args": ["-y", "reelify-mcp"],
"env": {
"REELIFY_API_KEY": "reelify_sk_…",
"REELIFY_BASE_URL": "https://reelify.studio"
}
}
}
}Local Reelify (npm run dev): set REELIFY_BASE_URL to http://localhost:3000. Create the API key under Account → Security.
Requires Node.js 18+. npx -y reelify-mcp downloads the latest package on first use.
Monorepo contributors (optional)
When hacking on packages/mcp in this repo, copy .env.mcp.local.example → .env.mcp.local, run npm run mcp:build, and point Cursor at scripts/run-reelify-mcp.sh instead of npm. See docs/mcp.md for maintainer publish steps.
Where to add it
- Cursor — project
.cursor/mcp.jsonor Settings → MCP → Add server. - Claude Desktop — merge into
claude_desktop_config.json(macOS:~/Library/Application Support/Claude/, Windows:%APPDATA%\\Claude\\). Restart the app after editing. - VS Code — user or workspace MCP settings (e.g. GitHub Copilot agent / MCP extension); paste the same
mcpServersentry. - Windsurf — MCP configuration in Cascade settings (same JSON structure).
- Other clients— look for "MCP", "Model Context Protocol", or "stdio server" in documentation; use
npx -y reelify-mcpwithREELIFY_API_KEYandREELIFY_BASE_URL.
Tools exposed to the agent
| Tool | Purpose |
|---|---|
| reelify_list_auth_sessions | List saved product logins |
| reelify_plan_demo | Start planning only |
| reelify_generate_demo | Start capture after plan |
| reelify_get_run | Poll status; absoluteVideoUrl when done |
| reelify_download_demo | Save final MP4 to a local path |
| reelify_create_demo | Full pipeline (plan → generate → wait) |
Example prompt (any host)
“Use the Reelify MCP tools: list my auth sessions for app.example.com, then create a 10s silent dashboard clip for the landing page (scenario: quick overview).”
The agent should call reelify_create_demo (or plan + generate) with targetDurationSec: 10 and skipVoice: true when you want no narration.
Duration & audio
Target duration
targetDurationSec accepts 5–90 seconds. The journey planner uses fewer actions for short targets. Silent videos are compressed to fit the target after capture.
Silent video (no narration)
Set skipVoice: true on plan and/or generate (aliases: withoutNarration, silent). Reelify skips LLM narration and ElevenLabs synthesis — screen capture only, ideal for muted landing embeds.
{
"url": "https://app.example.com",
"authSessionId": "your-session-id",
"scenario": "Brief dashboard overview",
"targetDurationSec": 10,
"skipVoice": true
}In the web UI, set these on the Scenario step (duration presets + “Silent video” checkbox). The generate step reuses the plan settings.