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

@spark-apps/quickpeek-cli

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@spark-apps/quickpeek-cli

Auto-generate demo videos for your web app with AI

latest
npmnpm
Version
1.0.7
Version published
Weekly downloads
0
-100%
Maintainers
1
Weekly downloads
 
Created
Source

QuickPeek CLI

Auto-generate demo videos for your web app with AI

npm MIT Discord

Quick Start

npx @spark-apps/quickpeek-cli localhost:3000

Or install globally:

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

Requirements: ffmpeg, Groq API key (free)

Features

FeatureDescription
AI PlanningGroq AI analyzes your app and generates demo steps
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
Step TransitionsFade or blend effects between steps
Video StepsInsert video clips with optional trimming
Image StepsInsert custom images as intro slides
Show DownloadsDisplay downloaded files in the demo

Examples

Basic

qp localhost:3000

With Options

qp localhost:3000 lang=es -d "A todo app for managing daily tasks"
OptionDescription
langVoice language (en, es, ar, zh...)
-d, --descriptionApp description to guide AI
--skip-voiceReuse existing voiceover

Configuration

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

OptionDescriptionDefault
video.width/heightResolution1080x1920
video.qualityQuality 0-10.5
video.cursorShow mouse cursortrue
video.uiHighlightElement highlight: "outline", "full", false"outline"
video.fadeIn/fadeOutFade duration (ms)1500
video.transitionsStep transitions: none, fade, blendnone
video.contrastVideo contrast boost 0-10.25
video.tempoPlayback speed multiplier1
video.stepDelayDelay between steps (ms)200
music.pathBackground music file-
music.volumeMusic volume 0-10.3

Output

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

Plan Actions

Edit plan.json to customize the demo steps:

ActionDescriptionExample
clickClick an element{ "action": "click", "target": "Submit" }
click-NClick N times (300ms delay){ "action": "click-2", "target": "Next" }
click-N:delayClick N times with custom delay{ "action": "click-3:500", "target": "Add" }
typeType text into input{ "action": "type", "target": "input[name='email']", "value": "test@example.com" }
uploadUpload a file{ "action": "upload", "target": "input[type='file']", "value": "./file.png" }
scrollScroll the page{ "action": "scroll", "value": "80%" }
dragDrag a slider{ "action": "drag", "target": "input[type='range']", "value": "50" }
waitPause (no caption needed){ "action": "wait" }
videoInsert video clip{ "action": "video", "value": "./intro.mp4" }
imageInsert image slide{ "action": "image", "value": "./cover.png" }
showDownloadDisplay last download{ "action": "showDownload" }

Step Options

Each step can have these optional fields:

FieldDescriptionValues
zoomZoom level on target elementNumber (e.g., 1.4)
highlightHighlight the target element"outline", "full", false
transitionTransition from previous step"fade", "blend"
durationOverride step duration (seconds)Number

Example with zoom and highlight:

{
  "action": "click",
  "target": "Submit Button",
  "caption": "Click the submit button",
  "zoom": 1.5,
  "highlight": "full"
}

Highlight modes:

  • "outline" - Yellow border around element
  • "full" - Yellow border + dark overlay (spotlight effect)

Video Step

Insert video clips into your demo:

{
  "action": "video",
  "value": "./intro.mp4",
  "target": "center",
  "partial": "0-3.5",
  "caption": "Quick preview of what we'll build"
}
FieldDescriptionDefault
valuePath to video file (mp4, webm, mov)required
target"center" (letterbox) or "stretch" (fill frame)"center"
partialTrim video: "start-end" in secondsfull video
captionVoiceover text-

Partial examples:

  • "0-3.5" - first 3.5 seconds
  • "2-10" - seconds 2 to 10
  • "5-" - from 5 seconds to end

Image Step

Insert static images as intro/outro slides:

{
  "action": "image",
  "value": "./cover.png",
  "target": "center",
  "caption": "Welcome to our app demo!"
}
FieldDescriptionDefault
valuePath to image (png, jpg, gif, webp)required
target"center" (letterbox) or "stretch" (fill frame)"center"
captionVoiceover text-

Show Download

Display the last downloaded file in the demo:

{
  "action": "showDownload",
  "caption": "Here's your generated file!"
}

Automatically captures files downloaded during previous steps.

Step Transitions

Add smooth transitions between steps. Set globally in config or per-step in plan.json:

Config-level (applies to all steps):

{
  "video": {
    "transitions": "fade"
  }
}

Per-step (overrides config):

{
  "action": "click",
  "target": "button",
  "caption": "Click to continue",
  "transition": "blend"
}
ValueEffectDuration
fadeFade to black, then fade in0.3s
blendQuick cross-dissolve0.15s
noneNo transition (config only)-

Notes:

  • First step never has a transition (global fadeIn handles it)
  • Per-step transition overrides video.transitions config
  • Transitions too close to video start/end are auto-skipped

Supported Languages

CodeLanguageCodeLanguage
enEnglisharArabic
esSpanishfrFrench
deGermanzhChinese
jaJapanesekoKorean
ptPortuguesehiHindi

60+ languages supported via Edge TTS.

Caption Styling

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

.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;
}

MIT License - Made with ☕ by Spark Apps

Keywords

demo

FAQs

Package last updated on 19 Dec 2025

Related posts