Skip to main content
skill CX Codex

beat-sync-video-editing — Claude Code skill: cut video to the beat

This skill builds music-driven edits: it picks clips from your footage, cuts them on the beat and renders the result with FFmpeg.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add ecliptic-ai/skills --skill beat-sync-video-editing -a claude-code
Open on GitHub

What beat-sync-video-editing does

The skill defines the EditPlan format — a JSON structure holding the audio start point and the list of video clips to place. Clip starts use MM:SS strings, durations are numbers in seconds. The clip durations have to add up to the audio duration, with 0.5s of tolerance. Clip order is deliberate and does not have to follow the source timeline.

The workflow runs in four steps. gemini-edit-plan.sh uploads the video and audio to Gemini, which watches the footage and listens to the track at the same time. Then validate-plan.sh checks the plan, build-filter.sh turns it into a -filter_complex string, and FFmpeg does the render with libx264 and aac. The first step needs GEMINI_API_KEY, plus curl and jq on the machine. Accepted video and audio formats are limited to what the Interactions API takes — mkv is not on that list, so convert it beforehand.

Uploaded files stay for 48 hours by default, which saves a re-upload on the next run. The script prints an ECLIPTIC_FILES line to stderr with names and URIs; lose it and list-gemini-files.sh shows what is currently uploaded. The default model is gemini-3.6-flash, and GEMINI_MODEL swaps it out.

What it helps with

  • cut clips so the joins land on the beat
  • turn a source video and a track into an EditPlan JSON
  • catch a duration mismatch before rendering
  • get a ready -filter_complex string for FFmpeg
  • reuse files already uploaded to Gemini across runs

Example prompts for the agent

  • edit this footage to the track, cuts on the beat
  • validate my EditPlan and list the errors
  • build the FFmpeg filter from this plan and render it

How to install beat-sync-video-editing

1Skills CLI (Vercel)

npx skills add ecliptic-ai/skills --skill beat-sync-video-editing -a claude-code

2Manually: put the files in place

~/.claude/skills/beat-sync-video-editing/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/beat-sync-video-editing/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about beat-sync-video-editing

How do I install beat-sync-video-editing in Claude?

Run npx skills add ecliptic-ai/skills --skill beat-sync-video-editing -a claude-code. The skill file then lives at ~/.claude/skills/beat-sync-video-editing/SKILL.md.

What does beat-sync-video-editing do?

It walks the agent through a beat-synced edit: build an EditPlan with clip timings, validate it, generate the FFmpeg filter and render the output.

What do I need before using it?

A GEMINI_API_KEY, curl and jq, and FFmpeg for the final render. mkv footage has to be converted first, since the Interactions API rejects that format.

Similar skills

Everything for AI and ML →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor