Skip to content
Marketing
Skill

/video-reframe

智能转换视频画幅,支持 9:16/16:9/1:1、模糊背景填充、焦点裁切和人脸居中裁切。当用户说“横竖版互转、改成 9:16、转竖屏、去黑边、适配平台尺寸、人脸居中裁”时使用。通用简单裁切用 video-editing;逐段动态人脸跟随切片用 clipify。

BOOST
From plugin
easel
3.3k114 skills
Install
$ npx -y skills add zju-real/easel --skill video-reframe --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/video-reframe

Context preview

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

智能转换视频画幅,支持 9:16/16:9/1:1、模糊背景填充、焦点裁切和人脸居中裁切。当用户说“横竖版互转、改成 9:16、转竖屏、去黑边、适配平台尺寸、人脸居中裁”时使用。通用简单裁切用 video-editing;逐段动态人脸跟随切片用 clipify。

SKILL.md

video-reframe.SKILL.md
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 右) |

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

  • 转换后视频(`*-<比例>.mp4`)
  • 报告:源→目标尺寸、比例、所用策略、人脸焦点(smart 时)

执行步骤

脚本路径(相对项目根):`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)。

Profile 感知

  • 有 Profile:默认目标比例按 `platforms.md` 主平台(抖音/小红书竖版 9:16,B站横版 16:9,

朋友圈/ins 方形 1:1);口播/人物类账号默认 `smart` 模式。

  • 无 Profile:默认 `blur` 模式 + 询问目标平台/比例。

规则

1. 拿不准选哪种:横转竖优先 `blur`(不丢画面);主体明确且想铺满用 `crop`;人物口播用 `smart`。 2. `smart` 未检出人脸时自动退化为居中裁切,并在报告里说明。 3. 音轨自动保留(copy),不重编码音频。 4. 输出分辨率强制偶数对齐(H.264 要求),无需手动处理。 5. 产物统一进 `outputs/主题名/`。

参考来源

模糊背景填充(blurred bars)是竖屏适配的主流做法;人脸感知裁切参考 AI-Youtube-Shorts-Generator 思路,用 OpenCV Haar 级联检测人脸中位位置定焦点。把裁切几何与边界钳制封装成确定性脚本。

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
2h 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