| name | dropspace-dj-clipper |
| description | Turn DJ sets and long music recordings into short-form TikTok/Instagram clips. Analyzes audio for energy peaks and transitions, cuts 30-second vertical clips, identifies songs via Whisper-based timestamping, generates captions with artist credits, schedules across platforms via Dropspace API. Use when asked to clip DJ sets, extract highlights from long recordings, or automate music content. |
| homepage | https://www.dropspace.dev/community/dropspace-dj-clipper |
| source | https://github.com/joshchoi4881/markus |
| metadata | {"openclaw":{"emoji":"🎧","requires":{"env":["DROPSPACE_API_KEY","ANTHROPIC_API_KEY"],"install":"git clone https://github.com/joshchoi4881/markus && cd markus && npm install","system":["ffmpeg"]}}} |
DJ Set Clipper
Turn long DJ sets and music performances into short-form clips. Analyzes audio for transitions, cuts clips, credits every song, schedules across TikTok and Instagram.
Setup
1. Clone and install
git clone https://github.com/joshchoi4881/markus && cd markus && npm install
2. Run the setup wizard
node setup.js --template dropspace-dj-clipper
3. Set your API keys
export DROPSPACE_API_KEY="ds_live_..."
export ANTHROPIC_API_KEY="sk-ant-..."
Save in a .env file (copy from templates/.env.example). Add .env to .gitignore to avoid committing secrets.
4. Requirements
- ffmpeg — for audio analysis and video cutting (
~/bin/ffmpeg or system install)
- Source footage — DJ set recordings (mp4/mov) on Google Drive or local disk
- Tracklist — song list in order (for accurate artist credits)
5. Configure
Edit apps/myapp/app.json (created by setup wizard):
- Set
integrations.googleDrive.folderId if source footage is on Google Drive
- Set
pipelineType: "manual"
- Configure platform connections (TikTok, Instagram)
Usage
source .env
node clipper/scripts/source.js --app myapp
node clipper/scripts/analyze.js --app myapp --source "path/to/set.mp4"
node clipper/scripts/timestamp-tracklist.js --app myapp
node clipper/scripts/clip-transitions.js --app myapp
node clipper/scripts/create-slideshows.js --app myapp
node scripts/schedule-day.js --app myapp
How It Works
- Analyze — ffmpeg ebur128 loudness filter detects energy peaks. Multi-signal analysis: spectral flux, energy variance, bass shift, RMS energy. Ranks transitions by energy level.
- Timestamp — Whisper transcribes vocal windows every 15 seconds. Matches lyrics against known tracklist to map each song to its start timestamp.
- Clip — Cuts 30-second clips centered on each transition. Crops to 9:16 portrait. Encodes H.264 at CRF 23.
- Caption — Auto-generates: "{song a} by {artist a} into {song b} by {artist b}" with links.
- Schedule — Uploads to Dropspace as scheduled launches with configurable privacy (SELF_ONLY for sound swap workflow).
Links