interflow-ip-videolisted
Install: claude install-skill derek-zhuolin/interflow-ip-video
# Interflow IP 小人口播视频
**输入一段中文文稿 → 你的克隆音配音 + IP 小人讲解 + 数据可视化 → 竖屏 MP4。**
底座 HyperFrames(faceless-explainer 管线脚本),设计系统 = Bold-Mono 暗底质感版
+ **v2 设计 DNA**(guizang 秩序:8 档字阶/间距档位/图内文字纪律)+ **动效系统**(Emil 决策树:EASE/DUR tokens + fadeUp/popIn helpers),都已进生成器与 gate。
## 依赖(首次先查;环境搭建步骤见 README.md)
- `npx hyperframes --version` 可用(≥0.7.5x),`ffmpeg/ffprobe` 可用
- 管线 skill `faceless-explainer`(HyperFrames 套件,提供 audio/captions/assemble/transitions 脚本)
- TTS Python 环境:任意 venv 装好 `requests soundfile numpy faster-whisper edge-tts`(建议再装 `zhconv`),
并 `export TTS_PYTHON=<venv>/bin/python`(未设则脚本用 `python3`)
- 声音(三档,详见 README「声音的三档」):**第 0 档** edge-tts 免费声——零账号零凭证,走
`scripts/tts_free.py`,**无 .env 时用这档,照常出完整片**;**第 1 档** 火山标准音色 / **第 2 档**
你自己的声音复刻——`cp .env.example .env` 填入你自己的 VOLC_APPID / VOLC_ACCESS_TOKEN /
VOLC_SPEAKER_ID(`.env` 已在 .gitignore,绝不提交/外传)
- 可选但建议:`scripts/voice_baseline.py` 从你的真实录音提 `voice_baseline.json` 存 skill 根——
take 筛选与验收的语速项按它比;没有基准时这些检查自动跳过
- 个人层(可选):skill 根若存在 `LOCAL.md`(已在 .gitignore,永不入库),先读它——这台机器
主人的私人触发词与默认声音档位在里面,与本文件冲突时以 LOCAL.md 为准。
- 管线脚本路径:**必须用 realpath** `FE=$(cd ~/.claude/skills/faceless-explainer/scripts && pwd -P)`。
坑:若 `faceless-explainer` 目录是 symlink,Node ESM 会 realpath 模块,
导致 `captions.mjs` 的自运行守卫 `resolve(argv[1])===import.meta.url` 不匹配 → **静默退出 0、不产字幕**
(assemble 报 `captions track2: no`)。用 `pwd -P` 拿真实路径调所有 `$FE/*.mjs` 即可绕过。
## 工作流(复制此清单逐步走)
- [ ] **1 起项目**:`bash <SKILL_DIR>/scripts/new_project.sh videos/<项目名>`(init + 拷入 frame.md / char