New:Microsoft Teams Notifications Are Now Available in Socket.Learn more →
Get Started

@spark-apps/quickpeek

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@spark-apps/quickpeek

Auto-generate demo videos for your web app with AI

npmnpm
Version
1.2.5
Version published
Weekly downloads
578
362.4%
Maintainers
1
Weekly downloads
 
Created
Source

<img src=imgs/logo.png>

Demo videos for your web app with AI

Because Tutorial Videos are Overrated!

npm MIT Discord

Listed on Sellular

Quick Start

Nothing to install:

npx @spark-apps/quickpeek https://your-app.com

Or install it for repeat use:

npm install -g @spark-apps/quickpeek
qp localhost:3000

Requirements: ffmpeg. Nothing else. The AI runs through QuickPeek's hosted relay, so there is no API key to get.

Free tier: 5 videos on an unconfirmed email, then 10 a day once you confirm it. No card either way. The CLI asks for an address on the first run because the AI planner runs on our servers and is metered per account; over MCP no account is needed at all, because your own model does the writing. A free video of 20 seconds or under comes out clean; a longer free video carries a QuickPeek watermark. The hosted web recorder at quickpeek.co is deliberately different: there, free videos are capped at 20 seconds and are always watermarked. docs/plans-and-pricing.md sets the two side by side.

Features

FeatureDescription
AI PlanningAI analyzes your app and generates demo steps
Script ModeProvide your own narration script, AI maps it to UI actions
Capture ModeRecord your own interactions → replayable plan.json
Voice OverFree Edge TTS narration in 60+ languages
Karaoke CaptionsWord-by-word highlighted subtitles
Background MusicOptional music with fade in/out
Smart ZoomPer-step zoom for focused demos
Chrome ExtensionsRecord demos for Chrome extensions

Examples

Basic: AI generates the plan

qp localhost:3000

Script mode: you write the narration

qp localhost:3000 --script narration.txt

Script file format (one caption per line, # for comments):

# My app demo
We start on the dashboard, your main workspace.
Let's search for a customer by typing their name.
Click the result to open their profile.

Capture mode: record your own interactions

qp capture localhost:3000

Browse the app freely, press Enter when done. QuickPeek converts your clicks, typing, and scrolls into a plan.json that can be replayed as a polished video.

With options

qp localhost:3000 lang=es -d "A todo app for managing daily tasks"

Chrome Extensions

Record demos for Chrome extensions using the chrome: prefix:

qp chrome:your-extension-id

QuickPeek will automatically:

  • Find the extension in your Chrome installation
  • Load and analyze the extension popup UI
  • Generate a demo plan with AI

The popup URL is detected from the extension's manifest.

OptionDescription
langVoice language (en, es, ar, zh...)
-d, --descriptionApp description to guide AI
-s, --scriptPath to narration script file
video.width/heightResolution (default: 1080x1920)
video.qualityQuality 0-1 (default: 0.5)
music.pathBackground music file
music.volumeMusic volume 0-1 (default: 0.3)
output.dirOutput directory (default: ./demo)

Config is auto-generated on first run. Edit quickpeek.config.json to customize.

Supported Languages
CodeLanguageCodeLanguage
enEnglisharArabic
esSpanishfrFrench
deGermanzhChinese
jaJapanesekoKorean
ptPortuguesehiHindi
itItalianruRussian

See src/voices.ts for all 60+ supported languages.

Caption Style

Edit captions.css (auto-generated) to customize:

Classic Yellow

.caption {
  font-family: Arial, sans-serif;
  -webkit-text-stroke: 3px #000000;
}
.caption .regular {
  font-size: 56px;
  color: #FFFFFF;
}
.caption .highlight {
  font-size: 64px;
  color: #FFFF00;
}

Plan Actions

Edit demo/plan.json to customize your demo. Each step uses one of these actions:

ActionTargetValueDescription
wait--Pause for narration (intro/outro)
click"button text"-Click button/link
click-N"button text"-Click N times (e.g., click-2, click-3)
typeinput[name="field"]"text to type"Type into input field
uploadinput[type="file"]"path/to/file"Upload file to form
selectselect[name="field"]"option text"Select dropdown option
checkinput[type="checkbox"]-Toggle checkbox
draginput[type="range"]"0"-"100"Drag slider to value
dragcanvas"around"Full 360° rotation (returns to start)
dragcanvas"rotate"Rotate ~270° (stays at new angle)
dragcanvas"rotate:90"Rotate specific angle (circular)
dragcanvas"rotate:x-90"Rotate on X axis (horizontal drag)
dragcanvas"rotate:y45"Rotate on Y axis (vertical drag)
drag-"left" "right" "up" "down"Directional drag
scroll-"up" "down" "bottom"Scroll page
scroll-"-10" to "10"Zoom camera (negative=out, positive=in)
media"scale" or "center""path/to/file"Display image/video fullscreen
showDownload--Show the last downloaded file

Target shortcuts: For buttons and links, use simplified text like "download" or "extract frame" instead of CSS selectors.

MCP Server

QuickPeek ships an MCP server (quickpeek-mcp) so an AI agent can record a demo directly, with no shelling out to the CLI.

claude mcp add quickpeek -- npx -y --package=@spark-apps/quickpeek quickpeek-mcp

Or add it by hand, for any MCP client:

{
  "mcpServers": {
    "quickpeek": {
      "command": "npx",
      "args": ["-y", "--package=@spark-apps/quickpeek", "quickpeek-mcp"]
    }
  }
}

Published on the official MCP registry as co.quickpeek/quickpeek.

9 tools: generate_demo, generate_demo_from_script, list_demos, get_demo_config, list_voices, open_in_editor, check_account, and the start_auth / finish_auth pair for recording an app you have to log into.

The server never calls an AI itself. It hands the planning and narration prompts back to you, the calling model, and takes your answer as a parameter, so a demo costs you no QuickPeek quota and no second-rate model. That is also why this path needs no account at all for the first 5 videos, where the CLI asks for an email.

Output

FileDescription
demo/demo.mp4Final video
demo/plan.jsonEditable script (re-run to apply changes)

plan.json is also accepted by VidLet's create_project MCP tool, which turns the steps into a .vidlet timeline project for further editing and narration.

🌱 Support & Contributions

☕ Devs run on coffee - Buy me one?
💰 Crypto tips welcome - Tip in crypto
🎬 See it work - Watch a demo
🐛 Found a bug or want a feature? Discord Join Discord - the repo is private, so Discord is the way in.

MIT License - Made with ☕ by Spark Apps

Keywords

demo

FAQs

Package last updated on 27 Sep 2026

Related posts