Video Factory — Unified Video Pipeline
Modes for different video production scenarios.
Mode 1: Page Explainer (/video-factory explain )
Tool: agent-video (Fish Audio + no Mux) Path: D:/ClaudeDev/00_GITHUB/_working-on/Tools/agent-video/ What: Give it a URL + persona -> Claude reads page -> Fish Audio narrates -> Playwright records synced scroll -> FFmpeg -> MP4
Run:
cd D:/ClaudeDev/00_GITHUB/_working-on/Tools/agent-video
node mcp-server/index.js
Or use as MCP server:
claude mcp add agent-video --transport stdio -- node D:/ClaudeDev/00_GITHUB/_working-on/Tools/agent-video/mcp-server/index.js
Mode 2: Video Narrator (/video-factory narrate )
Tool: AI-auto-narrator (Claude vision + Fish Audio) Path: D:/ClaudeDev/00_GITHUB/_working-on/Tools/AI-auto-narrator/ What: Feed ANY video -> extract frames -> Claude analyzes -> Fish Audio narrates -> MoviePy merges -> MP4
Run:
cd D:/ClaudeDev/00_GITHUB/_working-on/Tools/AI-auto-narrator
pip install -r requirements.txt
python app.py
Opens Gradio UI at http://localhost:7860 (login: admin / admin)
Mode 3: Tool Demo (/video-factory demo <script.js>)
Tool: demo-recorder (Playwright + Fish Audio) Path: D:/ClaudeDev/00_GITHUB/_working-on/Tools/demo-recorder/ What: Write a script of steps -> Playwright drives browser -> records video -> Fish Audio narrates -> FFmpeg merges -> MP4
Script format:
export default {
title: "My Demo",
url: "https://example.com",
steps: [
{ narration: "What to say", action: async (page) => { /* Playwright actions */ } },
{ narration: "Next step", highlight: "#button", action: async (page) => { await page.click('#button'); } },
]
};
Mode 4: Recall (/video-factory recall )
Tool: screenpipe
What: Always running -> "what did I do at 3pm?" -> AI searches OCR + audio -> returns answer
Requires screenpipe app running in background.
MCP: claude mcp add screenpipe --transport stdio --scope user -- npx -y screenpipe-mcp
Mode 5: Polish (/video-factory polish)
Tool: screenarc Path: D:/ClaudeDev/00_GITHUB/_working-on/Tools/screenarc/ What: Takes raw recordings -> adds cinematic zoom on clicks, cursor tracking Note: GUI-only, no CLI automation yet
Shared Fish Audio Config
All tools use:
- API Key: FISH_AUDIO_API_KEY in each tool's .env
- Voice Ref: 3782f7b36e5d411fb9d70d1809b134a0 (Mike's voice clone)
- Speed: 0.9 (slightly slower for clarity)
- Bitrate: 192kbps MP3
Dependencies: FFmpeg + ffprobe (in PATH), Node.js 18+, Python 3.10+, Playwright (npx playwright install chromium), agent-browser CLI (for agent-video MCP mode)