Documentation

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-mcp for 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.

  1. Sign in with a Reelify account (Firebase). Guest mode does not support API keys.
  2. Open Account → Security.
  3. Choose a label and expiration, or select No expiration.
  4. 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

  1. POST /api/plan — start crawl + journey planning; returns runId (202 while planning).
  2. GET /api/runs/:id/status — poll until status is planned.
  3. POST /api/generate — start capture + assembly.
  4. Poll status until done; read finalVideoUrl.

Plan request

POST /api/plan
{
  "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 logins
  • GET /api/runs — list your videos
  • POST /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
{
  "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.json or 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 mcpServers entry.
  • 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-mcp with REELIFY_API_KEY and REELIFY_BASE_URL.

Tools exposed to the agent

ToolPurpose
reelify_list_auth_sessionsList saved product logins
reelify_plan_demoStart planning only
reelify_generate_demoStart capture after plan
reelify_get_runPoll status; absoluteVideoUrl when done
reelify_download_demoSave final MP4 to a local path
reelify_create_demoFull 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.

Landing clip example
{
  "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.