CommunityCoding & Developmentgithub.com

hrj-11055/book-video-clone

讲书/知识类视频 1:1 复刻流水线。给定一个对标视频 + 一本书,从拉片分析提取视觉配方,到六段论文案、分镜出图、TTS 配音、HTML 逐帧渲染,产出与对标格式 1:1 的原创成片。当用户想复刻某博主讲书视频格式、批量做深度讲书/知识类横屏视频时使用。

What is book-video-clone?

book-video-clone is a Antigravity agent skill that 讲书/知识类视频 1:1 复刻流水线。给定一个对标视频 + 一本书,从拉片分析提取视觉配方,到六段论文案、分镜出图、TTS 配音、HTML 逐帧渲染,产出与对标格式 1:1 的原创成片。当用户想复刻某博主讲书视频格式、批量做深度讲书/知识类横屏视频时使用。.

Works with~Claude Code~Codex CLI~CursorAntigravityGemini CLI
npx skills add https://github.com/hrj-11055/book-video-clone/tree/main

Installed? Explore more Coding & Development skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

讲书视频 1:1 复刻流水线

把一个对标账号的视频格式拆成可复用配方,再用工业化流水线(分镜闸门 → 逐镜 TTS 时间轴 → 渲染层叠字 → headless 逐帧渲染)产出同格式的原创内容。复刻的是格式(结构/包装/节奏/画风),不是内容——文案、画面、配音全部原创。

本 skill 已用《思考,快与慢》(对标"向不惑",109 镜 654.9s 成片)完整验证。

开始前向用户确认三件事

  1. 对标视频:本地文件路径或链接(抖音/B站等)。拿不到视频文件时,让用户录屏或下载后放入项目
  2. 本期书名:要做哪本书(经管/认知/心理/商业/成长类最佳)
  3. 品牌名 + 人设名:如「知行实验室 / Mark」

阶段 A · 项目初始化

PROJ=项目目录(用户指定或新建)
mkdir -p $PROJ/{00_benchmark,01_script,02_storyboard,03_audio,04_subtitles,05_assets/images,07_hyperframes_production,08_publish,scripts}
cp <skill目录>/templates/{pipeline.py,create_storyboard.py,gen_audio_minimax.py,build_hyperframes_html.py,render_html_video.py} $PROJ/scripts/
cp <skill目录>/templates/.env.example $PROJ/.env   # 用户填 MINIMAX_API_KEY

依赖:python3 + playwright(含chromium) + ffmpeg。缺则先装:pip install playwright && playwright install chromium

阶段 B · 拉片分析 → 产出配方

references/benchmark-analysis.md 操作对标视频,产出 00_benchmark/recipe.md(规格/节奏/结构/视觉/音频五层配方)。然后把配方注入模板:

配方项注入位置
正文画风关键词create_storyboard.pySTYLE_SUFFIX
章节卡底版/片尾底图描述同上 CARD_BG_PROMPT / OUTRO_CARD_PROMPT
强调色/标题色 CSSbuild_hyperframes_html.py#ffde59(强调黄)/#e8c66a(标题金) 等

默认模板自带"美式复古漫画+黑金底版"配方(对标向不惑),若对标就是这个路线可跳过注入。

阶段 C · 文案创作(六段论)

references/copywriting-template.md01_script/final.md。 铁律:每句话必须能画成一个具体画面——下一环的覆盖率闸门逐字依赖文案。同步改 create_storyboard.py 顶部【每期配置】(SCRIPT_MD 默认即指向 final.md、BOOK_TITLE)。

阶段 D · 分镜(闸门 ①)

把文案逐句填进 scripts/create_storyboard.pySHOTS 四元组(旁白=原文精确切片、画面=字面直译、card_id、overlay_text),然后:

python3 scripts/create_storyboard.py

覆盖率闸门不过就停下改,绝不带病下行。 产物:02_storyboard/prompts.tsv + nano_banana_prompts.md

阶段 E · 批量出图(人工环节)

nano_banana_prompts.md 整份交给用户的生图工具(Gemini Antigravity / Nano Banana 或任意工具),指令要点:16:9、文件名精确等于清单名、放 05_assets/images/、已有文件跳过。应产出 N 正文图 + chapter_card_bg.png + outro_card.png此阶段可与阶段 F 并行。

阶段 F · 配音 + 帧级时间轴

python3 scripts/gen_audio_minimax.py --limit 3   # 先合成 3 镜让用户试听音色
python3 scripts/gen_audio_minimax.py             # 全量(18RPM 限速,~110 镜约 7 分钟)

时间轴 = PCM 字节数算时长,逐镜精确,无 Whisper。改词只重合成该镜(缓存哈希)。

阶段 G · 渲染成片(闸门 ② + 引擎)

python3 scripts/build_hyperframes_html.py   # 齐套校验:必须"全部就位"才许渲染
python3 scripts/render_html_video.py --start 0 --duration 6 --out /tmp/smoke_hook.mp4
python3 scripts/render_html_video.py --start <某章节卡时刻> --duration 6 --out /tmp/smoke_card.mp4
python3 scripts/render_html_video.py --start <片尾前5秒> --duration 6 --out /tmp/smoke_outro.mp4
# 三段冒烟目检通过后全片(~110镜≈11分钟片子,渲染约14分钟)
python3 scripts/render_html_video.py

渲染中断直接重跑(断点续跑)。渲染层可先浏览器预览:open 07_hyperframes_production/index.html(空格播放、←→ 各 5 秒)。

阶段 H · 验收 + 发布

验收命令清单、抽帧目检要点、发布物料模板(标题公式/标签/封面/置顶评论)见 references/pipeline-guide.md,物料写入 08_publish/

硬规则(任何时候不许违反)

  1. 闸门不过不进下一环:覆盖率闸门(文案=旁白)、齐套校验(图齐才渲染)
  2. API key 只进 .env,任何脚本/文档/对话产物不得硬编码
  3. 图不画字,字全走渲染层——章节卡/数据卡/字幕/品牌都是 HTML 叠加,换书零重绘
  4. 全片渲染前必须三段冒烟(钩子/章节卡/片尾)目检通过
  5. 出图 prompt 一律追加固有色风格后缀 + 画幅 16:9 + 背景禁文字招牌

实测性能基准(校准用户预期)

文案 3601 字 → 109 镜 → 654.9s 成片;TTS 7 分钟;渲染 24 帧/s(全片约 14 分钟);总人工工时 ≈ 一个工作日(文案占一半以上)。

Related Skills