finish-talking-head

GitHub

将口播基础素材制作成完整成片。流程包括Runtime预检、素材校验、配置读取,依次生成并审核分镜、动画和时间线,最终由Runtime导出并验收final.mp4。

plugins/chengfeng-videocut/skills/finish-talking-head/SKILL.md Agentchengfeng/chengfeng-videocut-skills

Trigger Scenarios

用户说口播成片 用户说口播分镜 用户说口播动画 用户说导出口播视频 用户说继续口播成片 确认卡回传 action=continue_finish_storyboard 确认卡回传 action=continue_finish_animation 确认卡回传 action=continue_finish_timeline

Install

npx skills add Agentchengfeng/chengfeng-videocut-skills --skill finish-talking-head -g -y
More Options

Non-standard path

npx skills add https://github.com/Agentchengfeng/chengfeng-videocut-skills/tree/main/plugins/chengfeng-videocut/skills/finish-talking-head -g -y

Use without installing

npx skills use Agentchengfeng/chengfeng-videocut-skills@finish-talking-head

指定 Agent (Claude Code)

npx skills add Agentchengfeng/chengfeng-videocut-skills --skill finish-talking-head -a claude-code -g -y

安装 repo 全部 skill

npx skills add Agentchengfeng/chengfeng-videocut-skills --all -g -y

预览 repo 内 skill

npx skills add Agentchengfeng/chengfeng-videocut-skills --list

SKILL.md

Frontmatter
{
    "name": "finish-talking-head",
    "description": "把口播基础素材制作成完整成片:生成并审核分镜、动画和总时间线,随后导出与验收 final.mp4。用户说口播成片、口播分镜、口播动画、导出口播视频、继续口播成片,或确认卡回传 action=continue_finish_storyboard \/ continue_finish_animation \/ continue_finish_timeline 时使用。不要用于原始删词、单独安装、单独打开工作台或普通 HyperFrames 视频。"
}

口播成片

这是 chengfeng-videocut 的第二个业务入口。它消费已审核的基础素材包,产出:

source_cut.mp4 + subtitles.srt
               |
               v
      storyboard / animation / timeline
               |
               v
        final.mp4 + verification.json

0. 每次先做 Runtime 预检

PLUGIN_ROOT="$(cd "$SKILL_DIR/../.." && pwd)"
ENSURE="$PLUGIN_ROOT/scripts/ensure-runtime.cjs"
VC="$PLUGIN_ROOT/scripts/videocut-cli.cjs"

node "$ENSURE" --install-if-missing --json

预检是本 Skill 内部步骤,不是第三个 Skill。缺失时提示一句并安装;失败时停止。预检和无头生成阶段都不得打开 Studio。详细协议见 Runtime 与产品契约

1. 检查基础素材包

node "$VC" workflow get "$jobDir" --json

必须同时存在并通过产品检查:

  • source_cut.mp4:真实剪后视频,含音频流;
  • subtitles.srt:基于剪后视频重建的规范字幕;
  • 同一个 projectId 与当前 revision。

若缺失,切换到 $cut-talking-head 完成前置剪辑,再以同一个 projectId 恢复本 Skill。不要新增“口播工作台”总控入口,也不要创建第二个项目。

2. 读取项目配置

比例、动画风格与额外要求必须来自当前项目状态;不要读取所有项目共享的可变全局默认值。用户尚未选择时,只询问会实质改变成片的必要信息。

{
  "aspectRatio": "4:3",
  "animationStyle": "xiaohei",
  "requirements": "保留真实产品操作画面"
}

用户确认配置后,用最新 revision 执行 start-final。每一步都重新读取 revision,不能连续复用旧值。

3. 分镜候选 → 审核

先读 分镜规则。按字幕语义分段,候选段落绑定稳定 wordIds,再通过产品校验发布:

node "$VC" artifact put "$jobDir" \
  --type visual-plan \
  --file "$visualPlanProposal" \
  --expected-project-revision "$latestProjectRevision" \
  --expected-artifact-revision "$latestArtifactRevisionOrNone" \
  --json

只有状态进入 storyboard_review_ready,才启动或复用产品服务并打开 Studio。用户保存审核结果后,调用 show_workflow_confirmation;卡片回传 continue_finish_storyboard 时重新校验 revision,再执行 confirm-storyboard

4. 动画候选 → 审核

先读 动画规则;需要 HTML 模块时再读 动画模块契约

  • 动画必须绑定具体口播句与 cue。
  • 真实产品操作、截图、结果页优先使用真实素材。
  • 无动画时提交空 modules 和明确原因,不能造占位模块。
  • HTML 必须支持任意时间 seek 后恢复确定状态。

发布 animation-manifest 后,等待 animation_review_ready,在同一个 Studio 审核。卡片回传 continue_finish_animation 后才执行 confirm-animation

5. 时间线候选 → 审核

先读 时间线与导出。最终时间线只消费剪后时间、真实字幕与已审核模块:

node "$VC" artifact put "$jobDir" \
  --type timeline \
  --file "$timelineProposal" \
  --expected-project-revision "$latestProjectRevision" \
  --expected-artifact-revision "$latestArtifactRevisionOrNone" \
  --json

状态进入 timeline_review_ready 后,在同一个 Studio 审核。卡片回传 continue_finish_timeline 且 revision 仍一致,才执行 confirm-timeline

6. 产品导出与验收

最终导出必须由 Runtime 自己完成;Skill 不携带 renderer,也不传旧 Skill 脚本路径:

node "$VC" workflow get "$jobDir" --json
node "$VC" render run "$jobDir" \
  --expected-revision "$latestRevision" \
  --confirmed \
  --json

若当前 Runtime 返回 missing_renderer,明确报告这是 Runtime 版本缺口并停止。禁止把旧 export_final_video.cjs、独立预览服务或直接 FFmpeg 导出偷偷塞回 Skill。

只有同时满足以下条件才报告完成:

  • renders/final.mp4 存在,视频流与音频流均可解码;
  • 分辨率与项目比例一致;
  • 时长与时间线在容差内;
  • 关键帧无黑边、遮挡、错误素材或幽灵字幕;
  • renders/verification.jsonpassed=true

确认与恢复规则

candidate saved
      |
      v
*_review_ready ----> 打开同一个 Studio ----> 用户保存
      |                                      |
      |                         MCP App 回传 action + revision
      |                                      |
      +<-------- revision mismatch ----------+
      |             停止并核对
      v
confirmed transition
  • 卡片不直接执行任何 destructive action。
  • return_finish_* 返回对应审核视图;pause_workflow 保存后停止。
  • revision_conflict 必须重新读状态,不能静默覆盖。
  • “能播放预览”不等于“成片已导出”。

Version History

  • e2cc73d Current 2026-07-19 11:57

Same Skill Collection

plugins/chengfeng-videocut/skills/cut-talking-head/SKILL.md
口播成片/动画/ian-xiaohei-svg-motion/SKILL.md

Metadata

Files
0
Version
e2cc73d
Hash
d42f57ef
Indexed
2026-07-19 11:57

ホーム - Wiki
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-07-19 22:46
浙ICP备14020137号-1 $お客様$