Chengfeng Videocut Skills:口播成片 logo

Chengfeng Videocut Skills:口播成片

CommunityPopular
Pluviobyte
chengfeng-videocut-skills:口播成片

口播视频成片 Skill。把文章/口播稿/SRT、剪后视频和 HTML/图片素材串成分镜稿、时间线预览和最终 MP4;成片比例和动画风格从用户配置读取,动画默认使用小黑风格。触发词:口播成片、做分镜稿、时间线预览、合成口播视频、导出竖屏MP4

Overview

PublisherPluviobyte
Repositoryrnskill
Skill namechengfeng-videocut-skills:口播成片
Stars
1.6K
Forks
181
Bundled files
41
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 41 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by Pluviobyte on GitHub. Read the source before you install it.

Installation

Install the Chengfeng Videocut Skills:口播成片 AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.

Use it in TypingMind

Enable Chengfeng Videocut Skills:口播成片 in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Chengfeng Videocut Skills:口播成片 on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Chengfeng Videocut Skills:口播成片 is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

口播成片

官方来源

本 Skill 由 chengfeng / AI产品自由 原创并维护。

text
https://github.com/Agentchengfeng/chengfeng-videocut-skills

官方账号:GitHub @Agentchengfeng;X @chengfeng240928;小红书 / 公众号 / B站 / 抖音 / 视频号 AI产品自由

核心流程

这个 Skill 只解决一件事:把一条口播视频做成完整成片;成片比例和动画风格由用户配置决定。

text
+-----------------------------+
|  输入                         |
|  视频 + 字幕 + 可选素材         |
+--------------+--------------+
               |
               v
+-----------------------------+
|  1. 分镜稿                    |
|  概念分段 + 类型判定 + 画面来源  |
+--------------+--------------+
               |
               v
+-----------------------------+
|  2. 时间线预览                 |
|  原视频/截图/HTML 与口播对齐    |
+--------------+--------------+
               |
               v
+-----------------------------+
|  3. 合成                       |
|  按用户配置比例导出最终 MP4       |
+--------------+--------------+
               |
               v
+-----------------------------+
|  验收                         |
|  ffprobe + 抽关键帧检查         |
+-----------------------------+

不要把 cue 表、HTML 模块、review player、final player、导出脚本单独讲成用户流程。它们只是“时间线预览”和“合成”里的实现细节。

用户配置

每次执行本 Skill,先读取:

text
用户配置/default.json

配置项只负责定义用户当前选择:

json
{
  "aspectRatio": "3:4",
  "animationStyle": "xiaohei"
}

支持值:

  • 3:4:默认竖屏高清,逻辑画布 1080x1440,默认用 DPR 1.5 导出 1620x2160
  • 16:9:横屏,逻辑画布和导出画布 1920x1080
  • 4:3:横屏,逻辑画布和导出画布 1440x1080
  • animationStyle:默认 xiaohei,可选项来自 动画/styles.json

命令行参数优先级高于用户配置;没有显式参数时,导出脚本读取 aspectRatio,动画脚本读取 animationStyle。比例临时覆盖可用:

bash
--config /path/to/config.json
--ratio 16:9
--aspect-ratio 16:9
--width 1920 --height 1080
--dpr 1.5

不要把视觉偏好、模板、编码质量、输出目录、字幕边距等七七八八的设置写进 用户配置/default.json。用户配置只放当前选择;动画目录只放可选项注册表和具体风格实现。

动画风格

动画风格的当前选择放在 用户配置/default.json

text
animationStyle

动画目录只注册可选项:

text
动画/styles.json

xiaohei 对应:

text
动画/ian-xiaohei-svg-motion/

当分镜或 HTML 模块需要做解释动画、流程动画、手绘感高亮时,默认先用小黑漫画感 SVG 动效。除非用户明确指定其他动画风格,否则不要临时发明新风格。

输入

先定位这些文件:

  • 主视频:source_cut.mp4*_cut.mp4 或用户指定的剪后视频。
  • 字幕:subtitles.srtvideo.srtsubtitles_with_time.json
  • 可选文稿:文章、口播稿、正文草稿,只用于理解意图。
  • 可选素材:assets/ 里的截图、产品页、评论图、结果页、证明页。
  • 项目规则:如果当前项目有 AGENTS.mdREADME.md,先读。

真相源优先级:

text
实际音频 / 字幕 > 剪后视频画面 > 素材文件 > 文稿草稿

如果文稿和实际字幕不一致,以字幕和音频为准。

第 1 步:分镜稿

默认先做 HTML 分镜核对页,不先写 Markdown 表格。

分镜的前置流程必须按这个顺序执行:

  1. 先按口播语义分段:把讲同一个概念、同一个动作、同一个证据的一句、两句或三句合成一段;不要按字幕编号机械切分。
  2. 再判断每段的画面任务:这是操作演示、原图讲解、结果证明、概念梳理,还是纯文字表达。
  3. 再决定画面来源:能用真实录屏、原始截图、原始图片证明的段落,优先用原素材;只有概念性讲解且当前屏幕主要是文字、空白或弱相关画面时,才设计 HTML / 小黑动画。
  4. 最后才进入具体视觉设计:每个 HTML / 小黑动画段都要先写清它的独立隐喻和动作,再实现模块。

常见路径:

text
review/storyboard-audit-vN.html

默认基于这个模板:

text
templates/storyboard-audit.html

分镜稿要让用户回答:

text
这句话说到这里,观众眼前该看到什么?

每段至少写清楚:

  • 时间范围
  • 字幕编号
  • 完整口播
  • 语义分段依据
  • 画面任务
  • 画面类型:原视频操作录屏原始截图原始图片信息图聚焦HTML 动画文字 + 动画
  • 素材来源
  • 镜头动作

画面选择规则:

  • 操作演示:使用原视频 / 原录屏,不要改成抽象动画。
  • 讲图片内容、图表内容、报错截图、产品截图:直接用原始图片或原始截图,动画只做圈选、标注、局部聚焦。
  • 真实操作、证明页、结果页、需要可信度的片段:保留原视频或原始截图。
  • 录屏 / 原视频片段默认按原画面展示;只有明确需要避开后续统一字幕时,才把该段标记为录屏小窗,并在底部留出字幕安全区。不要把小窗规则批量套到所有录屏段。
  • 概念梳理、机制关系、系统分工、观点归纳,并且当前屏幕主要是文字、空白或弱相关画面:做 HTML / 小黑动画。
  • 可以用简短文字辅助理解的抽象段:使用文字 + 动画;文字负责命名,动画负责关系和动作。
  • 已有截图或信息图:优先复用,不要重画。
  • 同一张图多次出现时,每次必须承担不同任务:全貌、局部聚焦、对比、结果复看。
  • 不要把所有动画做成同一套动态。每个动画段必须先单独设计动作隐喻,再实现。

分镜设计硬标准:

  • 一页只讲一个概念、一个动作或一个案例。同一段口播里如果出现两个独立案例,必须拆成两个页面;不要为了少做页面把两个案例挤进同一张表或同一个动画。
  • 每个 HTML / 小黑动画段必须先写清楚“这句话说到这里,画面发生什么变化”,再实现。动作要绑定具体口播句或字幕,不要把同一套入场 / 闪烁 / 放大平均套给所有段落。
  • 讲原图、截图、结果页时,主视觉必须是原素材。HTML 只负责裁切、放大、圈选、标注和焦点切换;不要用录屏抽帧或重画图替代原图。
  • 长图和网页结果页默认裁掉无信息的空白区域,优先露出观众正在听到的区域;口播说到对应对象时,可以放大对应图片或局部,其余内容退后。
  • 视频画面里不要出现素材路径、内部说明、动作解释或“原图素材 · img/xxx.png”这类工作台文字。分镜稿可以写来源,成片画面只保留观众需要看的内容。
  • 没有必要的标题就不放标题。结果页、表格页、原图对比页优先让主视觉自己说话,只保留短标签、模型名、指标名或必要的标注。
  • 数据对比页优先用清晰的表格、列对齐、短标签和少量高亮。字号要服务阅读,不要把字塞进小方块;能用简单表格讲清楚,就不要做复杂卡片堆叠。
  • 竖屏短视频里的表格不能只做成中间一条横向小表。数据阶段要把表格作为主视觉,占据主要安全区;前置任务说明、案例标签、总结句只在对应口播阶段出现,进入最终数据对比阶段后要消失或退到不占空间的位置。
  • 评价词只写口播明确说到或剪辑需要强调的正向 / 中性结果。对照项可以留空或只展示数据;不要额外加“慢且贵”等负面用词,除非口播原句就是这个判断。
  • 图标必须从动画库索引里找。ChatGPT、Claude、Flash 闪电、Step、DeepSeek、Qwen 等已有图标不得用抽象形状替代;新增用户给的 SVG,要先存入动画库并更新索引。

分镜方向确认前,不要进入时间线预览。

第 2 步:时间线预览

分镜方向确认后,再做时间线预览。

常见路径:

text
review/timeline-preview.html

默认基于这个模板:

text
templates/timeline-preview.html

时间线预览要检查:

  • 画面切换是否跟口播句子对齐。
  • 原视频有没有被误换成 HTML。
  • 被标记为录屏小窗的段落是否避开底部字幕安全区;未标记的录屏段不要被自动缩窗。
  • 截图、页面、证明素材有没有用错。
  • 图片素材默认保留左右边距,不要贴满当前画面;需要强调完整截图时再单独缩小。
  • 画面有没有挡字、裁切、留黑边。
  • HTML 模块单独看没问题,但放进整条时间线后是否仍然成立。

预览页里有源视频时,必须用支持 HTTP Range 的服务打开页面,否则浏览器不能随机 seek,进度条会被拉回开头。不要用普通 python -m http.server 预览 MP4 时间线。默认使用:

bash
node ~/.Codex/skills/chengfeng-videocut-skills/口播成片/scripts/serve_range_preview.cjs \
  --project-dir /absolute/path/to/project \
  --port 8767

必要时生成:

text
docs/08-动画cue表-vN.md
html-modules/module-*.html
html-modules/xiaohei-*.html

如果要新做解释动画,先读 用户配置/default.jsonanimationStyle,再到 动画/styles.json 找对应的动画子 Skill。

每个动画动作必须绑定到具体口播句,不要平均分配时间。多阶段 HTML 动画必须显式管理显隐状态:下一阶段出现时,上一阶段不再承担信息任务的说明卡、标签和注释要隐藏;不要让前一阶段继续占用主视觉空间,尤其是竖屏数据表、截图聚焦和结果页。

第 3 步:合成

只有用户确认时间线预览后,才能合成。

合成前创建或确认:

text
final-player.html

新写 final-player.html 或 HTML 模块前,读取:

text
references/artifact-contracts.md

如果项目里有 HTML 模块,先注入 render mode:

bash
node ~/.claude/skills/chengfeng-videocut-skills/口播成片/scripts/write_render_mode.cjs \
  --project-dir /absolute/path/to/project

时间线预览和最终导出必须使用同一套 HTML 渲染上下文。HTML 模块在预览页和 final-player.html 里都要带 ?timeline=1&render=1,预览页只负责把最终画布等比缩放进窗口,不能让模块按预览窗口重新响应式排版。

高清交付不能把 CSS 逻辑画布直接放大。默认 3:4 必须保持 1080x1440 逻辑画布,再用截图 DPR 1.5 输出 1620x2160;否则表格、CSS 卡片、截图标注会在导出里相对变小,和预览不一致。

如果预览和导出出现大小不一致,先检查 HTML 模块内部 CSS、render-mode.js 和导出 DPR,确认预览页与 final-player 的逻辑画布相同,不要先重导整条视频。常见原因是预览 iframe 较小,看起来正常;最终高清画布触发了 .photo-frame { max-width: ... }.stage { width: min(...) }.wrap { max-height: ... }clamp(...) 这类预览尺寸上限,导致导出变成“小图”。修复顺序:

  1. write_render_mode.cjs 重新生成 html-modules/render-mode.js
  2. 在时间线预览里确认 HTML 模块 URL 已经变成 ?timeline=1&render=1
  3. 确认 export_final_video.cjsviewport 是逻辑画布尺寸,dpr 才是高清倍数。
  4. 用 final-player 在实际导出 viewport 下抽该模块的关键帧,必要时用 getBoundingClientRect() 对比主视觉容器尺寸。

竖屏里处理横向小黑 SVG / 16:9 SVG 模块时,禁止用 .wrap { transform: scale(...) } 这类整体放大来解决“小横条”问题。整体缩放会在 3:4 画布里裁掉左右边缘,尤其是左右分布的模型卡、箭头、说明标签。要么重排成竖屏构图,要么保持完整安全区;改完必须抽该模块的左右边界帧检查,不能只看中心关键帧。

导出最终视频:

bash
node ~/.claude/skills/chengfeng-videocut-skills/口播成片/scripts/export_final_video.cjs \
  --project-dir /absolute/path/to/project \
  --input-video /absolute/path/to/source_cut.mp4 \
  --duration 173.03

默认按高清交付导出:无损 PNG 中间帧、H.264 crf=14preset=slow。这样可以避免浏览器预览清楚、导出后小字和细线发软:

bash
node ~/.claude/skills/chengfeng-videocut-skills/口播成片/scripts/export_final_video.cjs \
  --project-dir /absolute/path/to/project \
  --input-video /absolute/path/to/source_cut.mp4 \
  --duration 173.03 \
  --frame-format png \
  --crf 14 \
  --preset slow

只有临时看节奏、需要快速出草稿时,才显式降级:

bash
node ~/.claude/skills/chengfeng-videocut-skills/口播成片/scripts/export_final_video.cjs \
  --project-dir /absolute/path/to/project \
  --input-video /absolute/path/to/source_cut.mp4 \
  --duration 173.03 \
  --frame-format jpeg \
  --quality 92 \
  --crf 18 \
  --preset medium

比例读取规则见“用户配置”。项目与用户配置不同时,可传:

text
--config
--ratio
--aspect-ratio
--fps
--player
--stage
--frames-dir
--width
--height
--frame-format png|jpeg
--quality 100
--crf 14
--dpr 1.5
--device-scale-factor 1.5

验收

导出成功不等于成片正确。必须做两步:

  1. ffprobe 检查分辨率、帧率、时长和音频。
  2. 抽 3 张以上关键帧,人工看画面是否正确。
  3. 对每个 HTML 模块,至少抽 1 张对应口播时间点的 final-player 帧,和时间线预览的同一时间点对照;大小、位置、裁切和显隐必须一致,不能只用 ffprobe 作为完成依据。

按当前比例检查分辨率,其他期望来自脚本默认值和项目实际输入。当前默认配置为:

text
1620x2160
逻辑画布 1080x1440,DPR 1.5
3:4
30fps
时长和剪后源视频一致
有音频
无 HUD、按钮、审核时间线、浏览器 UI

边界

适合:

  • 中文口播
  • 教程、产品演示、结果展示、知识讲解
  • 已有剪后视频和字幕,素材可后补
  • 原视频 + 截图 + HTML 解释画面混合成片

不优先解决:

  • 没有视频,直接凭文稿生成成片
  • 复杂多机位真人剪辑
  • 需要剪辑软件工程文件的精细调色和多轨混音
  • 用户没看分镜稿和时间线预览就直接要求最终发布

项目卫生

如果在用户写作工作区内新增或修改文件,必须同步更新项目 README 索引。

本地活动日志统一放在:

text
log/

log/ 只记录本机试验、用户偏好、临时结论和未发布的工作过程,禁止上传 GitHub。该目录已被 .claude/skills/.gitignore 忽略。

不要在这个 Skill 目录里新增 README。这个 Skill 的核心文件只保留:

text
SKILL.md
templates/
references/
scripts/
用户配置/
动画/

动画/ 用于沉淀口播成片可复用的 HTML/SVG/GSAP 动画子 Skill、模板和规则;可选风格见 动画/styles.json,当前选择见 用户配置/default.json

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Chengfeng Videocut Skills:口播成片 AI skill do?

口播视频成片 Skill。把文章/口播稿/SRT、剪后视频和 HTML/图片素材串成分镜稿、时间线预览和最终 MP4;成片比例和动画风格从用户配置读取,动画默认使用小黑风格。触发词:口播成片、做分镜稿、时间线预览、合成口播视频、导出竖屏MP4

Why use Chengfeng Videocut Skills:口播成片 on TypingMind?

Because you install it once and use it with any model. Chengfeng Videocut Skills:口播成片 is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Chengfeng Videocut Skills:口播成片 in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/Pluviobyte/rnskill/tree/main/skills/chengfeng-videocut-skills/口播成片. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Chengfeng Videocut Skills:口播成片?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Chengfeng Videocut Skills:口播成片?

As many as you like. As long as a model supports skills, you can use Chengfeng Videocut Skills:口播成片 with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Chengfeng Videocut Skills:口播成片 AI skill free?

It is published on GitHub by Pluviobyte. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇