draftcut · diff

git:20260806.dc7921e to git:20261007.9f7fbdd

23 added, 53 removed. Audit A to A.

---
name: motiontalk
- description: Use when an already-cut talking video and its final matching SRT need content-aware MG, presenter composition, screen-recording integration, subtitles, or final visual packaging.
+ description: Turn an audio recording into a complete social video with internal ASR, explicitly chosen breath-gap editing, a progressive creative brief and audio-driven Hyperframes production. Optional materials and reference videos are welcome; user video and SRT are not required.
---
# MotionTalk
- MotionTalk 是一个 **prompt-first** 的口播视频后期工作流。它不做 ASR、不删
- 口误、不重新剪辑;精剪视频及其最终 SRT 是时间线、语义和主音频的唯一依据。
+ 唯一必需的用户素材是音频文件;素材文件夹和参考成片可选。内部生成转写、逐词时间戳和匹配 SRT,不要求用户先准备视频或字幕。目标是完整 MP4、导演计划与检查报告,初始化模板本身不算成片。
- ## 输入
+ ## 先确认气口选择
- - `video`:保留最终主音频的精剪视频;
- - `subtitles`:与视频时间线完全匹配的最终 SRT;
- - `output_dir`:独立输出目录。
+ 用户尚未明确时,必须先问:**“要智能剪气口吗?剪的话,我会试听筛选气口,默认将选中的间隙压到 0.25 秒;不剪就保持原音频时间线。”** 不默认、不替用户决定。已有明确选择时记录并继续,不重复询问。
- 从视频文件名推导 `project_id`,不要再询问项目名。
+ - 不剪:只转写、生成内部 SRT,保留原时间线。48 kHz WAV 格式归一化不是剪辑。
+ - 剪:结合逐词时间戳与实际试听判断气口。候选词间空隙不是气口检测结果;保留思考、强调和自然节奏。只批准确认的气口,默认保留 0.25 秒,短于目标的不动。
+ - 无法试听时不伪称听过,不自动批准候选,明确气口审核待完成。
+ - 气口授权不包含填充词、口误、重说或内容删除;另有明确指示才能做。
+ - 内置云 ASR 会上传音频且可能收费,调用前必须有明确授权。`--allow-cloud-asr` 是门禁,不是授权来源;不得擅自上传私人或公司资料。
- ## 阶段路由
+ 读取 [references/00-audio.md](references/00-audio.md)。目录从音频名推导,Agent 管理内部路径,不向用户索要项目名、SRT 或 CLI 参数。
- 流程只有“规划”和“批准后连续制作与交付”两个状态:
+ ## 渐进创意沟通
- 1. 没有批准版导演计划:读取并执行
- [references/01-plan.md](references/01-plan.md)。
- 2. `MG导演脚本.md` 与 `mg-placement-plan.v1.json` 已批准:读取并执行
- [references/02-build.md](references/02-build.md),证据帧通过后在同一次调用
- 立即执行 [references/03-deliver.md](references/03-deliver.md)。
+ 利用已有信息,逐步解决发布场景与版式、核心创意、可选素材/B-roll、视觉风格与可选参考成片;避免一次塞满问卷。已有答案不重复问,用户授权自行决定时记录假设。参考可访问则分析构图、节奏、信息推进和动效;无法访问如实说明。参考用于理解表达,不下载、复制或重用未经许可的画面、音乐或字体。素材与参考都不是必需品;没有人物视频就用全屏视觉叙事。
- 导演计划批准是全流程唯一一次用户确认。用户说“你自行判断”只授权生成草案,
- 不等于批准。批准后若输入、时间线、文案或已冻结的视觉方向变化,退回规划阶段。
+ ## 规划、制作、交付
- ## Prompt 驱动边界
+ 1. 按 [规划](references/01-plan.md),在准备后的最终音频时间线上生成导演脚本与机器计划。通常批准具体计划后制作;明确无人值守授权已覆盖时记录原文并继续,不重复请求审批。气口未回答仍须问。
+ 2. 批准后按 [制作](references/02-build.md) 创建 HTML/CSS/GSAP 工程并实现内容驱动的视觉故事,随后同次工作按 [交付](references/03-deliver.md) 验证、导出与交付。
+ 3. 画面持续推进有用信息,重点跟随论证;只用有来源的数据,不能靠静止标题加字幕宣称完成创意制作。
- - 用户点名 `floating-overlay`、`mg-with-presenter-window`、`switching`、
- `PPT Focus Portrait`,或要求快速生成相似效果时,读取
- [references/04-reference-theme-prompt.md](references/04-reference-theme-prompt.md)。
- 这是独立的参考 Prompt,只用于帮助快速理解相似效果,**不是代码枚举或必选项**。
- - 用户没有选主题时,直接根据自然语言、素材和样例设计;不得要求四选一。自然语言
- 要求与参考主题冲突时,以用户当前要求为准。
- - 分辨率、帧率、字幕样式、章节、进度、字体比例、位置、动画和安全区全部由
- 当次素材、平台、样例及用户要求决定,并写入批准版计划。
- - Skill 不携带 Remotion 工程模板。批准后在 `output_dir/remotion/` 创建只服务
- 当前计划的最小项目;不得把项目视觉差异反向膨胀成 Skill 参数体系。
- - 主题参考保存构图意图、比例关系与验收规则,**不是代码模式**;仍需按当次
- 画布、字幕、人物和录屏/PPT 素材重算布局。
- - 同一项目只保留一个 `MasterComposition`。底片、唯一主音频、字幕、MG 和
- 包装在同一 Remotion 时间线中渲染;文字直接使用 DOM/SVG。
- - 使用相对布局、画布尺寸或计划传入的数据计算几何;禁止把某个项目的尺寸、
- 进度条高度或人物位置写成 Skill 的全局常量。
+ 技术检查只证明结构、时间线与媒体格式;视觉语义需要连续预览,音质需要实际试听。分别报告,未做的检查标 pending。批准是可审查状态,不是签名;超出既有授权的新输入、时间线或创意方向需重新规划,已授权修订直接执行。
- ## 固定入口
+ ## Hyperframes 契约
- 代码只承担需要确定性的薄层:
+ 使用锁定的 Hyperframes 0.8.30、GSAP 3.14.2(Node >=22),Python 依赖见 requirements.txt;不自动升级或安装来源不明组件。依赖安装由明确环境授权决定。
- - `validate_plan.py`:验证批准状态、项目 render spec、完整 cue 时间线、视觉
- Prompt 和语义验收点;
- - `render_master.mjs`:以跨平台可回退的默认配置调用 Remotion 官方入口完成
- 正式渲染和抽帧,从项目 `package.json` 加载 Remotion 并使用其自管浏览器,
- 同时允许按当前机器显式覆盖并发、硬件策略和码率;
- - `validate_master.mjs`:按项目 render spec、批准的语义清单和证据帧验收成片。
+ 主入口 output_dir/hyperframes/index.html:body 直属的定尺寸根 composition、单一主音频 assets/narration.wav、可编辑 DOM/SVG 字幕与图形。每个媒体有唯一 id 和明确时段,框架控制播放。GSAP 时间线暂停、可 seek,注册到 window.__timelines.master;不依赖系统时钟、随机状态、CSS 动画或远程字体。
- 不要为单个项目修改这些入口。视觉实现写在该项目的 Remotion 工程中。
+ init_project.mjs 创建 **scaffold**,需实际制作后记录连续预览证据并标记 ready 才可 production 导出。--purpose smoke 仅用于标注为合成的技术测试,不能代替创作者成片。默认单 worker、本机完整 Chrome、硬件 H.264;可明确选择 --encoding software,不静默切换。
- ## 不可跨越的边界
+ 入口:transcribe_audio.py、prepare_audio.py、validate_plan.py、init_project.mjs、hf.mjs、render_master.mjs、validate_master.mjs。可选方向见 [参考](references/04-reference-theme-prompt.md)。仅在用户要求倍速、响度或失真修复时读 [音频母带](references/05-social-loudness.md),同步重映射字幕与视觉。可选组件见 [组件](references/06-modern-components.md),核对来源与许可后安装。
- - 没有最终 SRT、输入不可解码或仍需重剪时停止。
- - 所有产物只写入 `output_dir`,不修改输入视频或 SRT。
- - 不生成低清整片或 `*-preview.mp4`;使用正式 composition 的 `renderStill`
- 证据帧判断画面。
- - 每个 cue 都必须有 `visual_prompt` 和可由证据帧判断的
- `semantic_invariants`。
- - 人像、录屏和素材必须保持原始宽高比;不得拉伸。
- - 主音频只来自输入 `video`;最终目录只交付一个包装成片。
- - `quality-report.v1.json` 所有必检项通过后才能宣称完成。
+ 保留原音频、已有项目和旧版本,在新空目录生成内部产物。旧 clean-talking-video 与 Minutes 的既有依赖保留。不自动发布或上传。遵守 [LICENSE.md](LICENSE.md) 非商业条款,商业使用须事先书面授权;第三方材料适用自身许可。