Skip to content
Marketing
Skill

/beat-sync-video

音乐卡点视频 / 踩点视频:检测背景音乐的节拍,让图片或片段在节拍点上切换,配推进/白闪特效,做出燃系'卡点'短视频。当用户说 卡点视频、踩点视频、音乐卡点、节奏卡点、按音乐切换、鼓点视频、踩节奏、beat 卡点、图片卡点、卡点混剪 时使用。基于 shared/scripts/beatsync.py(librosa 节拍检测)。与 slideshow-video 区别:slideshow 每图固定时长、柔和转场,本 SKILL 切换点由音乐节拍决定、硬切踩点带特效。

BOOST
From plugin
easel
3.3k114 skills
Install
$ npx -y skills add zju-real/easel --skill beat-sync-video --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/beat-sync-video

Context preview

The summary Claude sees to decide when to auto-load this skill.

音乐卡点视频 / 踩点视频:检测背景音乐的节拍,让图片或片段在节拍点上切换,配推进/白闪特效,做出燃系'卡点'短视频。当用户说 卡点视频、踩点视频、音乐卡点、节奏卡点、按音乐切换、鼓点视频、踩节奏、beat 卡点、图片卡点、卡点混剪 时使用。基于 shared/scripts/beatsync.py(librosa 节拍检测)。与 slideshow-video 区别:slideshow 每图固定时长、柔和转场,本 SKILL 切换点由音乐节拍决定、硬切踩点带特效。

SKILL.md

beat-sync-video.SKILL.md
name: beat-sync-video
description: "音乐卡点视频 / 踩点视频:检测背景音乐的节拍,让图片或片段在节拍点上切换,配推进/白闪特效,做出燃系'卡点'短视频。当用户说 卡点视频、踩点视频、音乐卡点、节奏卡点、按音乐切换、鼓点视频、踩节奏、beat 卡点、图片卡点、卡点混剪 时使用。基于 shared/scripts/beatsync.py(librosa 节拍检测)。与 slideshow-video 区别:slideshow 每图固定时长、柔和转场,本 SKILL 切换点由音乐节拍决定、硬切踩点带特效。"
layer: produce

音乐卡点视频(踩点混剪)

> 用 librosa 检测背景音乐节拍,让画面在节拍上硬切换,配节拍特效,做"踩点"燃系短视频。 > 全部走 `skills/shared/scripts/beatsync.py`,**不要手数节拍、手拼滤镜**——脚本已做 > 节拍检测、区间切分、素材循环、音画对齐。

> 每图固定时长的柔和相册见 **slideshow-video**;主题→AI 配图配音成片见 **auto-short-video**。

输入

| 字段 | 必填 | 说明 | |------|------|------| | 背景音乐 | 是 | 决定卡点的音乐文件(节奏越强效果越好;没给就问) | | 素材 | 是 | 一组图片和/或短片段(按顺序,循环使用),或一个目录 | | 画幅 | 是 | 用户或上游任务未明确横版/竖版(或具体分辨率)时,制作前必须追问并等确认;不得按平台、Profile 或默认值静默推断,已明确则不重复问 | | 切换频率 | 否 | 每几拍切一次(默认每 2 拍) | | 特效 | 否 | `zoom` 推进(默认)/ `flash` 白闪 / `none` |

输出(`outputs/主题名/`)

  • 卡点成片(`*.mp4`)
  • 报告:卡点段数、总时长、检测到的 BPM、特效

执行步骤

脚本路径(相对项目根):`skills/shared/scripts/beatsync.py`(`build -h` / `beats -h`)。

1.(可选)先看节拍

python skills/shared/scripts/beatsync.py beats --music <音乐>
# 打印 tempo(BPM) 与节拍时间点,用于判断 --every 该设多少

2. 生成卡点视频

python skills/shared/scripts/beatsync.py build \
  -i 1.jpg 2.jpg 3.jpg 4.jpg --music <音乐> \
  -o outputs/主题名/show.mp4 \
  --size 1080x1920 --every 2 --effect zoom
  • 素材 = 图片或短片段,**数量可少于卡点段数**(自动循环复用)。
  • `--every 1` 每拍都切(快闪,素材要多);`--every 4` 每小节切一次(舒缓)。
  • `--effect flash` 段首白闪更"燃";`--effect none` 干净硬切。
  • `--max-duration 15` 限制成片长度(如做 15s 抖音)。
  • 也可 `--images-dir <目录>` 批量喂素材(按文件名排序)。

Profile 感知

  • 有 Profile:`platforms.md` 只用于给出画幅建议,仍须用户确认;卡点风格(快闪/舒缓)与特效贴合账号调性

(潮流/运动账号偏快闪 flash,生活/治愈账号偏 zoom 舒缓)。

  • 无 Profile:先确认横版/竖版;默认每 2 拍、zoom 特效。

规则

1. 音乐节奏越明确卡点越准;无明显节拍时脚本自动退化为等间隔切换并在报告说明。 2. 卡点用**硬切**(不加转场),否则会糊掉节拍感——这是刻意设计。 3. 素材不足自动循环;素材充足时建议 `--every 1~2` 让每段都换新画面。 4. 成片默认跟音乐等长,用 `--max-duration` 卡平台时长。 5. 产物统一进 `outputs/主题名/`。

参考来源

节拍检测用 librosa `beat_track`(onset 强度 + 动态规划求拍点),画面在拍点硬切是卡点混剪的 标准做法。把节拍→区间→逐段渲染→音画对齐封装成确定性脚本,避免手数拍子对不齐。

Read more
Ships witheasel

An open-source AI agent for social media — discover trends, create content, publish everywhere, and learn what works across Xiaohongshu, Douyin, Zhihu, Bilibili, and more.🎨一个开源的 AI 社交媒体智能体——发现热点趋势、创作内容、一键发布至各大平台,并学习分析哪些内容真正有效,覆盖小红书、抖音、知乎、哔哩哔哩等平台。

Get the whole plugin
Stats
3,463
Stars
528
Forks
Active
Maintenance
Python
Language
Apache-2.0
License
1h ago
Last commit
1mo ago
Created
4d ago
Added

Repo: zju-real/easel

Other skills on easel.

asset-manager
Skill

asset-manager

outputs/ 目录下的产物管理:按日期/平台/类型归档、打标签、搜索历史内容、生成素材清单。 当用户说"整理素材"、"归档"、"找之前的内容"、"搜索历史"、"素材管理"、…

@zju-real@zju-realView Skill
audio-editing
Skill

audio-editing

通用音频处理:音频剪辑/裁剪、格式转码(mp3/wav/m4a/aac)、音量归一化、从视频提取音轨、多段拼接、淡入淡出、变速(保音高)。当用户说“剪音频”“裁一段”“转成…

@zju-real@zju-realView Skill