name: dropspace-dj-clipper description: "Extract short clips from DJ set recordings and schedule to TikTok/Instagram via Dropspace. Uses ffmpeg for audio analysis and video cropping. Use when asked to clip DJ sets, extract video highlights, or create short-form music content." homepage: https://www.dropspace.dev/community/dropspace-dj-clipper source: https://github.com/joshchoi4881/markus requires: env: [DROPSPACE_API_KEY] install: "git clone https://github.com/joshchoi4881/markus && cd markus && npm install" system: [ffmpeg]
DJ Set Clipper
Extract 30-60 second transition clips from DJ set recordings. Auto-detect energy peaks, crop to vertical, schedule to TikTok + Instagram.
Setup
1. Clone and install
git clone https://github.com/joshchoi4881/markus.git
cd markus && npm install
2. Install ffmpeg
brew install ffmpeg # macOS
# or: apt-get install ffmpeg # Linux
3. Set your API keys
export DROPSPACE_API_KEY="ds_live_..." # from dropspace.dev/settings/api
4. Initialize your app
node scripts/init-app.js --app myapp --platforms tiktok,instagram
5. Edit app.json
Open apps/myapp/app.json and fill in your event/artist details. Set up Google Workspace credentials for Drive access if videos are on Drive (see templates/dropspace-dj-clipper/SETUP.md).
6. Validate
node scripts/test-pipeline.js --app myapp
Run the Clipper
# Process a DJ set video (local file)
node clipper/scripts/clip-engine.js --app myapp --source ~/videos/dj-set.mp4
# Or from Google Drive
node clipper/scripts/clip-engine.js --app myapp --source <DRIVE_FILE_ID> \
--event "Summer Sessions" --artist "DJ Phoenix"
# Schedule extracted clips for posting
node scripts/schedule-day.js --app myapp
What Happens
- Downloads source video (if from Drive)
- Analyzes audio to find energy peaks and transition points
- Extracts 30-60 second clips at peak moments
- Crops to 9:16 portrait for TikTok/Instagram
- Generates captions with song names and artist credits
- Queues clips for scheduling via Dropspace
Supplementary Scripts
node clipper/scripts/analyze.js --file ~/videos/dj-set.mp4 # audio analysis only
node clipper/scripts/cut.js --file ~/videos/dj-set.mp4 --at 1234 # cut single clip at timestamp
node scripts/schedule-day.js --app myapp --dry-run # preview schedule
Tips
- Start with 30-second clips. Adjust with
--duration 60for longer. - TikTok posts go to drafts (SELF_ONLY) so you can add trending audio before publishing.
- Process one set at a time to avoid mixing clips between events.
Error Recovery
- Add
--dry-runto any script to preview without saving schedule-day.jsis idempotent — safe to re-run same day