ai-image-gen
通用 AI 生图:文生图 / 图生图 / 图像变体。当用户说 AI 生图、AI 画图、文生图、图生图、生成图片、生成配图、图像生成、AI 出图、AI…
智能转换视频画幅,支持 9:16/16:9/1:1、模糊背景填充、焦点裁切和人脸居中裁切。当用户说“横竖版互转、改成 9:16、转竖屏、去黑边、适配平台尺寸、人脸居中裁”时使用。通用简单裁切用 video-editing;逐段动态人脸跟随切片用 clipify。
$ npx -y skills add zju-real/easel --skill video-reframe --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/video-reframeContext preview
The summary Claude sees to decide when to auto-load this skill.
智能转换视频画幅,支持 9:16/16:9/1:1、模糊背景填充、焦点裁切和人脸居中裁切。当用户说“横竖版互转、改成 9:16、转竖屏、去黑边、适配平台尺寸、人脸居中裁”时使用。通用简单裁切用 video-editing;逐段动态人脸跟随切片用 clipify。
name: video-reframe description: "智能转换视频画幅,支持 9:16/16:9/1:1、模糊背景填充、焦点裁切和人脸居中裁切。当用户说“横竖版互转、改成 9:16、转竖屏、去黑边、适配平台尺寸、人脸居中裁”时使用。通用简单裁切用 video-editing;逐段动态人脸跟随切片用 clipify。" layer: produce
> 把视频转到目标宽高比,三种策略可选。全部走 `skills/shared/scripts/reframe.py`, > **不要手拼 crop/overlay 滤镜**——脚本已算好裁切尺寸、焦点边界、偶数对齐、音轨保留。
| 模式 | 效果 | 适用 | |------|------|------| | `blur`(默认) | 原画完整居中 + 放大模糊的自身作背景,**无黑边** | 横转竖最常用,画面不丢内容 | | `crop` | 按焦点位置裁到目标比例,**无黑边但裁边缘** | 主体明确、想铺满屏幕 | | `smart` | cv2 检测人脸 → 以人脸中位位置为焦点裁切 | 口播/人物视频横转竖 |
> 需要逐镜头动态追踪人脸做 pan 见 **clipify**;只想加黑边/居中裁见 **video-editing** `aspect`。
| 字段 | 必填 | 说明 | |------|------|------| | 视频文件 | 是 | 要转换的视频(没给就问) | | 目标比例 | 是 | `9:16` / `16:9` / `1:1` / `4:5` / `3:4` / `4:3` / `21:9` | | 模式 | 否 | `blur`(默认)/ `crop` / `smart` | | 焦点 | 否 | crop 模式下主体不在中间时用 `--focus-x`(0 左 1 右) |
脚本路径(相对项目根):`skills/shared/scripts/reframe.py`(`reframe -h` 看参数)。
# 横版转竖版,模糊背景填充(最稳,画面不丢) python skills/shared/scripts/reframe.py reframe -i <视频> \ -o outputs/主题名/<名>-9x16.mp4 --ratio 9:16 --mode blur # 焦点裁切,主体偏右时把焦点拉到 0.65 python skills/shared/scripts/reframe.py reframe -i <视频> \ -o outputs/主题名/<名>-9x16.mp4 --ratio 9:16 --mode crop --focus-x 0.65 # 人脸感知裁切(口播/人物视频) python skills/shared/scripts/reframe.py reframe -i <视频> \ -o outputs/主题名/<名>-9x16.mp4 --ratio 9:16 --mode smart
`--size WxH` 可强制最终分辨率(默认按比例与源分辨率推算,如 1280x720 → 720x1280)。
朋友圈/ins 方形 1:1);口播/人物类账号默认 `smart` 模式。
1. 拿不准选哪种:横转竖优先 `blur`(不丢画面);主体明确且想铺满用 `crop`;人物口播用 `smart`。 2. `smart` 未检出人脸时自动退化为居中裁切,并在报告里说明。 3. 音轨自动保留(copy),不重编码音频。 4. 输出分辨率强制偶数对齐(H.264 要求),无需手动处理。 5. 产物统一进 `outputs/主题名/`。
模糊背景填充(blurred bars)是竖屏适配的主流做法;人脸感知裁切参考 AI-Youtube-Shorts-Generator 思路,用 OpenCV Haar 级联检测人脸中位位置定焦点。把裁切几何与边界钳制封装成确定性脚本。
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 社交媒体智能体——发现热点趋势、创作内容、一键发布至各大平台,并学习分析哪些内容真正有效,覆盖小红书、抖音、知乎、哔哩哔哩等平台。
Repo: zju-real/easel
通用 AI 生图:文生图 / 图生图 / 图像变体。当用户说 AI 生图、AI 画图、文生图、图生图、生成图片、生成配图、图像生成、AI 出图、AI…
AI 音乐 / BGM 生成:给短视频、社媒内容生成原创背景音乐 / 配乐 / 纯音乐。通过可插拔 provider(阿里 DashScope / Suno 类第三方…
AI 视频生成:文生视频 / 图生视频 / 数字人首帧驱动。通过可插拔 provider(通义万相 Wan / 火山 Seedance / 快手可灵 / OpenAI…
outputs/ 目录下的产物管理:按日期/平台/类型归档、打标签、搜索历史内容、生成素材清单。 当用户说"整理素材"、"归档"、"找之前的内容"、"搜索历史"、"素材管理"、…
音频降噪:去除录音中的背景噪声、电流声、风噪、嗡嗡声,基于 ffmpeg 滤镜链(afftdn/highpass/lowpass)。…
通用音频处理:音频剪辑/裁剪、格式转码(mp3/wav/m4a/aac)、音量归一化、从视频提取音轨、多段拼接、淡入淡出、变速(保音高)。当用户说“剪音频”“裁一段”“转成…