laohan-motion · v1.1.9 · 2026-11-07 · sha256 1201444d1c1e181b

laohan-motion v1.1.9A

Immutable. This exact content never changes and is served at /api/v1/blob/1201444d1c1e181b.

---
name: laohan-motion
version: "1.1.9"
description: 数字人×Motion模板视频制作总入口(路线④)。从锁定口播稿到成片交付的全链编排:配音→同声口型→拼接→全库模板选型→导演→production-guard门链→异模型复核→交付。Use when 用户说"创作motion视频""做motion片""motion制作""数字人motion路线""走motion模板"或锁定稿后选择数字人×Motion模板路线。
---

# laohan-motion · 数字人×Motion模板制作入口

本skill是Motion正式路线的制作编排入口,**不是方法真源**。方法、门与合同只认视频项目内的现行文件;本skill与项目真源冲突时,以项目真源为准,并按laohan-skillcreator流程回本仓修订skill。本文对齐当前PIPELINE/V4/DH-ROUTE;听感门等会演进的语义以真源现行文本为准,不从本skill复述。

项目根固定:`/Users/hanzhmacbookair/Documents/laohanvideo`(下文相对路径均从此起算)。

## 触发与反触发

**触发**:创作/制作motion视频、motion路线出片、数字人×Motion模板、锁定稿后走Motion。

**反触发(分流到对应入口)**:
- 原生Remotion episode(真人横/竖屏、digital_human_portrait竖屏)→ laohan-bianpai / laohan-daoyan。用户明确要**竖版数字人**也走原生 digital_human_portrait(Motion现行交付要求为landscape 16:9)。Motion期不建 `episodes/<slug>`、不占原生在制期名额、不跑 `new-episode`/`production-route`/`orchestrate-step`/0—⑭回执与0号门。
- 历史AST、双renderer对照、恢复历史episode → laohan-donghua。
- 选题与写稿(未锁定稿)→ laohan-xuanti / laohan-chuangzuo;本skill从锁定稿起接。
- 声音模型训练(复刻博主音色)→ laohan-yinse;v3-05是老韩已训音色模型,其每期WAV由项目侧产出。
- 发布与运营(⑫—⑭)→ 两路共用,授权、目标平台及最终点击方只认生产合同、四平台发布规格与本期明确指令,不在本skill另写永久手动/自动政策。

## 开工必读(漂移自检,每次执行)

按序读取并核对存在;缺任一文件或内容明显改版(如stage清单变化)→ 停止并报告漂移,不凭记忆继续:

1. `motion/mastery/PIPELINE.md` — 命令与门链唯一真源
2. `motion/mastery/PRODUCTION-METHOD-V4.md` — 制作方法现行版
3. `motion/mastery/DH-ROUTE.md` §一A—一C — 声音/口型/拼接真源
4. `motion/mastery/delivery-requirements.json` — 用户画幅与质量要求真源(当前landscape 16:9;质量第一原则、无限用好模板是底线)
5. `motion/mastery/current-release.json` — helper与模板包身份/SHA(当前helper 1.0.0-rc.32;包T01—T06,版本以该文件为准)
6. `motion/mastery/pronunciations.json` — 发音表真源
7. `docs/工作区生产合同.md` §一、§五 — Motion边界、凭据红线与数字人唯一人物来源
8. `docs/视频生产入口与适配.md`「Motion正式路线接入」节 — 交接点/目录规范/分流/门豁免
9. `docs/HARNESS_COMPATIBILITY.md` — 跨宿主读取与实测范围(不把另一模型已读当自己已读)
10. `STATUS.md` 当前任务区 — 本期状态与在途工程;**开工先查 `motion/projects/` 是否已有同期在途工程(如最新日期目录),有则续接,不另起**
11. `motion/mastery/QUALITY-SCORECARD-20261104.md` — 质量尺子与三道门(阿杜实测阈值;对标只拆阿杜)

## 输入契约

- **人物来源先于素材复用**:严格按视频项目`docs/工作区生产合同.md`§五“老韩数字人形象唯一来源”选人,读取其中当前唯一目录与排除规则;不得用产品seed/公共库或其它目录人物兜底。实看原片人物、记录路径/SHA,工程内复制及口型派生必须追溯该原片;服装、场景变化不代替身份核对。用户已明确停工时,补充素材来源不自动解除停工。
- **全部创作文字**:按本项目生产合同§二及`../laohan-chuangzuo/references/dual-engine-gemini.md`「laohanvideo项目覆盖」核选题与文案双引擎;制作中新增/改写画面讲解、标签或封面文字同样须双方各稿、负责人融合后使用,不能借导演阶段单写。字幕忠实派生自融合定稿,不另改词;原始证据/真实界面不改写。此为流程纪律,不冒称production-guard已校验Gemini参与。
- **锁定口播稿**:script-pool或episode候选经Jeffrey接受/锁定;未锁定→先回xuanti/chuangzuo链,不代写代锁。
- **显示稿与发音稿分开**:标识符按原名显示;`laohan-*`标识符按`pronunciations.json`中文读音(如laohan-sousuo读"老韩搜索"),未知项报未定,不按拉丁字母拼读。
- **交付要求只认delivery-requirements.json**:手机反馈、竖屏人物源、模板portrait能力都不是变更授权;只有Jeffrey明确新指令才更新该文件。
- **新稿必有新WAV**:每期v3-05合成整稿WAV,登记路径/SHA/采样数;听感门语义按`DH-ROUTE.md` §一B现行文本执行(2026-10-28起Jeffrey授权默认通过、明确反馈问题才回退重合成并重绑——以该文件现行版本为准);不消费历史162.68s音轨,不因模板自带TTS重念。

## 制作七步(骨架)

细节、失败处置与逐步输入输出见 `references/full-chain.md`。

| # | 步骤 | 执行位置 | 关键产物 |
|---|------|---------|---------|
| 1 | 文案定稿(锁定稿交接) | Mac | 冻结显示稿+发音稿 |
| 2 | 最终配音(v3-05合成;合成方法真源=`~/Documents/声音资产/Jeffrey/数字人专属音色融合方法.md`,执行前必读;听感门按DH-ROUTE §一B现行文本执行) | pro6000-a服务器GPU,Mac保存试听 | 本期WAV+SHA+采样数登记 |
| 3 | 基础形象(只按项目合同唯一来源选择本人原片,实看并绑定原片路径/SHA) | 本地指定目录 | 人物素材与来源记录 |
| 4 | 同声口型(WAV驱动,`same-voice-local.py`分块+`run-same-voice-remote.py`推理) | pro6000-a GPU,Mac调度 | 口型分块+清单SHA |
| 5 | 画面拼接(唯一入口`same-voice-local.py assemble`,拒绝手搓ffmpeg拼接) | Mac | 完整人物画面,原WAV为唯一主声 |
| 6 | 导演与模板(模板/分支验证→整段构思与编舞→声学绑定及production-guard门链) | Mac本地 | 官方工程+参数+回执 |
| 7 | 混音与交付(check-delivery带--video→Jeffrey实际听看接受) | Mac | 成片+accepted-final登记 |

## 导演执行(先于字段登记)

第6步按V4“直接使用模板”“从实际效果认识模板”完成整段构思、人物/主辅关系、素材与动作编舞,再登记;具体落点见 `references/full-chain.md` 第6b节。选中模板名不等于选中分支已经保留其表现力。技术排障、可读性修复和门链通过分别留证,不能代替“本期关键内容被怎样讲清”的实际效果判断。

## 质量尺子与三道门(2026-11-04,制作流程强制)

真源=`motion/mastery/QUALITY-SCORECARD-20261104.md`;尺子工具=`motion/tools/score-timeline.py`(advisory,不接 production-guard,末行打印 `ADVISORY_ONLY_NOT_A_GATE`)。对标只拆阿杜(motion 模板作者),不拆柱子哥;粗糙主因是切点之间画面静止,不是切得勤。

- **A 选型能力实证**:每个候选在 direct 前先出 8—15s 真实样段,必须在一个镜头内完成一次完整讲解动作(元素逐个进入+一次强调变化+数字滚动或素材替换);只证明控件能跑、靠多切卡或叠加层凑效果均不算证明;不通过换候选或换分支,不硬用。
- **B 方案节拍**:plan 前跑 `python3 motion/tools/score-timeline.py --stage plan --timeline 本期/inputs/timeline-rN.json --out 本期/qa/scorecard/<revision>.json`;硬线=单段/全片最长无变化间隔≤5.0s、每分钟有效变化≥60、静止占比≤35%;段>12s 必须在方案写≥3 个元素变化点。不达标回导演改方案,不靠渲染后解释。
- **C 审美前置**:机器门通过后、交 Jeffrey 前,自己看每段首/中/尾原尺寸帧+1 倍速全片+与阿杜同类段并排;证据帧与结论写进同一 scorecard 的 `human_review`,`verdict` 为空不许交;看不出也写清看了什么、剩什么风险。
- 留档:同一 revision 一个 JSON,`selection → delivery → outcome` 三阶段追加(交付阶段加 `--video` 出实测);`motion/projects/` 按项目 .gitignore 不入 Git。
- 工具配对纪律:timeline 必须取自本期 production 记录的 `params`;工具比对成片时长差 >1s 报 `TIMELINE_VIDEO_DURATION_MISMATCH` 时先换 timeline,不解释成"成片剪掉了"。

## 门链(命令形态;字段与argv细节以PIPELINE为准)

所有plan/render/delivery必须经共同入口,直接调helper是显式旁路、不登记门通过。原包 `read/new/setup/doctor/prepare/preview` 保持官方命令原样执行,**不经guard**(guard只前置检查plan/render):

```sh
# ① 声学对齐(写参数前;先按PIPELINE核解释器可导入stable_whisper/torch,缺环境停止)
"/Users/hanzhmacbookair/Documents/laohanvideo/.tools/whisper-align-env/bin/python" motion/tools/align-source.py --audio 实际候选声音.wav --spoken-script 发音稿.txt --out 全新词源目录

# ② 正式片共同制作入口(--record指向本期production.json)
python3 motion/tools/production-guard.py --record 本期/production.json --stage direct    # 登记编排+全库选型,封存revision(不要求已有params/captions)
python3 motion/tools/production-guard.py --record 本期/production.json --stage plan  -- node 已核helper.mjs run 实际.motion 原包plan其余参数

# ③ 首次动态样段:独立kind=pilot记录,先走样段自己的 direct→plan→preview,再pilot渲染
python3 motion/tools/production-guard.py --record 本期/pilot.production.json --stage direct
python3 motion/tools/production-guard.py --record 本期/pilot.production.json --stage plan  -- node ... plan参数
python3 motion/tools/production-guard.py --record 本期/pilot.production.json --stage pilot -- node ... render ...
# 父编排不要求已有plan或pilot审核(避免首单循环);父编排新revision后样段须重新登记

# ④ 复核任务(--sample可重复;数量按未证明风险决定,不是两段配额)
python3 motion/tools/production-guard.py --record 本期/production.json --stage review-brief --sample 本期/qa/样段A.mp4 --sample 本期/qa/样段B.mp4

# ⑤⑥ 渲染与交付
python3 motion/tools/production-guard.py --record 本期/production.json --stage render -- node ... render ...
python3 motion/tools/production-guard.py --record 本期/production.json --stage delivery

# 画幅/字幕只读检查:plan前一次;交付前同命令加 --video 实际成片.mp4
# --source-record/--pronunciations 新制作必带(缺失则发音稿一致性校验不执行)
PATH="/opt/homebrew/bin:$PATH" python3 motion/tools/check-delivery.py \
  --params 本期参数.json --captions 本期字幕 --script 冻结纯口播稿.txt \
  --asr 原ASR.json --input-root 本期素材目录 \
  --source-record 词源目录/source.json --pronunciations motion/mastery/pronunciations.json
```

顺序硬约束:正式plan必须引用direct登记的当前revision;pilot在review-brief之前完成样段自己的登记链;真实plan/preview+实际样段齐备后先review-brief生成完整复核任务,异模型复核通过才完整render;render/delivery重核全部bindings。变化分两类:**新素材/声音/契约/编排变化→先新revision再plan**;**参数调整→不强制新revision,但必须重新plan/预览/复核**。旧回执不补签。

MK渲染只按本包公开命令传`render <prepared-project>`;不要把poster-kit的`--plan/--preview-review`强加给新版MK。共同入口核prepared project路径、当前plan审阅摘要与origin的planInputsSha256一致,再由原包核预览/素材字节;具体红字和其它分支见PIPELINE的argv表。

执行环境也须实核:`PATH`前缀可能改变实际Node/Python版本,不能用终端先前的`node --version`替本次命令签名。长JSON解析失败先按PIPELINE的stdio入口诊断;helper可能隔离`NODE_OPTIONS`,不能只设该变量就声称后代已加载修复。使用本期已核真实Node的临时PATH包装与该变量配合,原包/helper不改,保留同输入的红→绿证据;不把截断当文稿容量上限。

## 模板全库选型(正式片direct前置,强制)

四步:**全库刷新→候选比较→按需取得并验证→确认或重选**。`production.json`提供`template_selection`指向本期`template-selection.json`(schema=`laohan.motion-template-selection/1`)。要点:从本稿提取必须完成的视觉任务→全catalog轻量筛2—4个入围候选(本地与库外同池,各带"本稿哪段需要什么→模板哪项能力承担→依据→待验证"理由;**新模板无画像不得直接淘汰,也不强制最终选库外**);选中不在本地按官方流程下载验签登记current-release(**作者免费公开分发模板包视为已有下载授权(2026-10-28 Jeffrey指令);付费或需新凭证的包仍先取得明确授权**);同族复用必须写`reuse_comparison`与最强异族备选比较;否决项记`rejections`理由(同版本同分支且无新证据不重复尝试已否决项;下载失败与表达不匹配分开记录;候选耗尽回到文案端重新计划)。不从本机已装包惯性重复;刷新是轻量catalog级动作,不重做全库深度审计。字段细节见PIPELINE「模板全库选型」节。

**字幕设计选择纪律**:选路线时把原模板演示/相关工程中的字幕作为视觉依据,核对原生与组件分支实际保留的排版/强调/语言能力并记录本片采用哪种;不能只因组件分支接SRT方便就绕过这项选择、用通用字幕层掩盖设计降级。

## 异模型复核与验收

- review-brief生成完整复核任务(真源=`motion/mastery/VISUAL-REVIEW-BRIEF.md`),连同样段交异模型实际观看,不能只转发文件路径;交接时只带完整目标、当前编排与真实材料,**不转抄旧批准/旧QA摘要**;执行者已接触过历史结论须声明暴露范围,不称完全盲审。
- 复核模型按全局优先级:GLM→codex→Magpie免费DeepSeek→官方ds(禁guiji;与实现者同家族被guard拒绝);**调用满配:思考档最高合法档不降级、不人为压缩等待/超时、不限制上下文窗口与输出token上限;免费档当场核实该provider/model当前免费标记(同名DeepSeek有收费款)**。
- review schema=`laohan.motion-visual-review/1`,scope八项(技术四项+创意四项):subtitle-style/subtitle-breaks/action-sequence/semantic-content/viewer-comprehension/presenter-staging/pacing-hierarchy/sample-coverage;final另有独立字段`whole_film_review`。pilot_review必须覆盖请求中全部样段。
- 负责人逐项裁决后登记(裁决前自审:从实际叠加动态逐项读回承载意义的画面文字、核疑点原尺寸与声明的观看尺度、检查首末及切换时人物/字幕/主图进退);不编JSON冒充调用;原REVISE不得改写。
- Jeffrey实际接受才算final;机械PASS(`MACHINE_CHECKS_PASSED_NOT_ACCEPTANCE`)≠接受。

## 红线

- **无授权不发布**;Motion期按现行实践登记`deliveries/accepted-final.json`并用真实Chrome预填/页面回读。是否代理终选、最终点击与目标平台以生产合同及本期实际授权为准;仅预填授权不能冒充发布授权,本期例外不外延到其它期或平台。
- `motion/assets/`、`motion/baselines/`、`motion/runs/`、`motion/projects/`、`motion/deliveries/`均不入git(证据靠STATUS登记+工程目录本机留证);原包只读、不私改、不手拆保护核心。
- 凭据零入档;Motion标识疑似泄露按合同§一处置(停调用、记录、账号持有人官网撤销),不擅自换Key。
- 线上产品代码不动;产品侧只读;服务器成片回传本地并登记SHA后,同批删该任务chunk与preprocess缓存(批量删非本任务产物先跨模型复核)。
- 物理变速另建候选派生(人物/原声同倍率保音高,字幕/词界/时点统一换算一次),原速输入不覆盖;`speed=1`时声音SHA必须相等。**不为凑模板截短/拉伸已验人声或改变嘴型时间**;容量不足换真实表达,不缩减模板能力。
- 首次使用共同入口的新宿主,须先以本片负例验证(错误词源/缺样段审核会被拒绝)再做正确制作;未实际验证的宿主不标VERIFIED。
- Motion期豁免的门只限原生Remotion链;共用门照常:发布信息与#AI新星计划、违规检测、候选接受与发布授权、远程算力纪律、Git纪律。

## 输出与完成证据

- 工程目录:`motion/projects/YYYYMMDD-<slug>/`(production.json、director.md、inputs/、qa/、references/、instance/、publish/、`deliveries/`子目录)。
- 候选/定稿成片与manifest/qa回执归工程`deliveries/`子目录(V4旧文"交付成片归motion/deliveries/"已被接入规格取代,以工程deliveries/为准);输入、最终参数、官方工程及QA归工程目录。
- STATUS.md登记本期制作状态;接受记录=工程`deliveries/accepted-final.json`。
- 完成证据链:来源回执(align-source)→direct revision回执→plan成功回执→样段自己的direct/plan/pilot回执→review-brief请求+异模型response→render bindings→delivery final_review→check-delivery(--video)通过→Jeffrey接受登记。缺环不称完成。
- 检查器未支持的合法原包结构:沿其公开原生校验补核并分别记录官方结果与本工具未核范围(UNVERIFIED),官方补核不得冒签production-guard通过;不为过检查改分支或删槽。