| 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
3. Set your API keys
export DROPSPACE_API_KEY="ds_live_..."
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
node clipper/scripts/clip-engine.js --app myapp --source ~/videos/dj-set.mp4
node clipper/scripts/clip-engine.js --app myapp --source <DRIVE_FILE_ID> \
--event "Summer Sessions" --artist "DJ Phoenix"
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
node clipper/scripts/cut.js --file ~/videos/dj-set.mp4 --at 1234
node scripts/schedule-day.js --app myapp --dry-run
Tips
- Start with 30-second clips. Adjust with
--duration 60 for 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-run to any script to preview without saving
schedule-day.js is idempotent — safe to re-run same day