一篇完整的生产记录:拆书 → 结构化素材库 → 可复用专家包 → 40 集水墨动画。附 8 条实测踩坑解法与成本账单。
我把《原来这才是春秋》(贾志刚,花城出版社,壹《称霸》、贰《争霸》)拆成了 40 篇小故事、30 条知识点、40 条典故,再把它们封装成一个可复用的 AI 专家,最后做成 40 集、每集 90–130 秒的水墨淡彩动画短剧。
全流程没装任何专业剪辑与绘画软件,只用一个对话式 AI 助手(WorkBuddy)加少量 Python 生态工具。核心结论有三条:

春秋知识库:40 篇故事、30 条知识点、40 条典故的可搜索页面
起因很简单:想把这两册书消化掉,并且让消化结果可复用——不只是自己读懂,还要能变成三类产物:
产物 | 用途 | 形态 |
|---|---|---|
结构化素材库 | 随时检索、引用 | 40 篇小故事 + 30 条知识点 + 40 条典故 |
可复用专家包 | 遇到类似场景直接按书里的框架分析 | 装进 AI 助手的"专家"插件 |
动画短剧 | 可发布、可追更的内容 | 每集约 90–130 秒,带旁白、字幕、动画 |
环节 | 工具 | 说明 |
|---|---|---|
拆书与结构化 | AI 助手对话 + Markdown | 检索交叉验证 → 人工确认 → 逐条产出 |
专家包封装 | expert-manager 技能脚本 | init / validate / register / package 四步 |
素材库网页 | Python 标准库 | 从 Markdown 自动生成可搜索单页 |
关键帧 | ImageGen(文生图 / 图生图) | 1536×1024,统一水墨淡彩风格提示词 |
动画片段 | VideoGen(图生视频) | 每段约 5 秒,传入关键帧 + 运动描述 |
旁白 | edge-tts | 微软语音合成接口,免费,zh-CN-YunjianNeural,语速 −12% |
合成 | imageio-ffmpeg + Pillow | 拼接、缩放、ASS 字幕烧录、混流 |
设计原则只有一条:把贵的生成资源花在刀刃上。
拆书最容易踩的坑是把"复述"当"提炼"。动手前先立了三条规则:
每个故事固定七个字段,保证后续任何环节(检索、配音脚本、分镜)都能机器可读地取用:
### 05|郑伯克段:等了二十二年的清算
- 时间:前722 - 人物:郑庄公、共叔段、武姜
- 出处:《左传·隐公元年》 - 等级:A(史实)
- 故事:(300 字以内重述)
- 看点:纵容有时不是昏聩,是策略——让对方的罪证自己长满。40 篇故事、30 条知识点、40 条典故完成后,用一个 200 行左右的 Python 脚本(build_library.py)把 Markdown 解析成带全文搜索和类型筛选的单页 HTML——就是文首那张截图。素材库的价值在拆书阶段就体现出来了:后面做动画时,每一集旁白稿直接从对应条目改写,分镜直接对着"看点"设计,不需要回头翻书。
素材库解决"讲什么",专家包解决"怎么分析"。这一步用 AI 助手的 expert-manager 技能完成,本质是四个命令:
# 1. 初始化骨架
python init_expert.py chunqiu-strategist --type agent --path <目标目录>
# 2. 校验(提示词规范、头像尺寸、字段完整性)
python validate_expert.py <专家目录>
# 3. 注册到本地市场
python register_expert.py <专家目录>
# 4. 打包成可安装的 zip
python package_expert.py <专家目录> <输出目录>中间的"肉"是两份文件:一份专家提示词(定义它是什么人、按什么流程回答),一份七套分析框架的参考文档(名分—实力错位、霸主生命周期、二阶后果评价等)。踩坑提醒:name、目录名、文件名是唯一标识,展示名称可以随便改,但唯一标识一动就等于重建。
值得单独说的是证据分级设计。这本书的写法是"史实骨架 + 现代梗"(书里把诸侯会盟称作"南联盟"之类),因此专家的参考文档里强制了四级标注——【史实】/【史实·有异说】/【贾说】(作者推断)/【戏说】——并维护一份"戏说黑名单"。这套约束让专家回答时能把"书里怎么讲"和"史料怎么说"分开,实测对问答质量提升明显。
这是整条链路里工程量最大的部分,也是最有通用价值的部分。
分集脚本(JSON) ──► TTS 旁白(mp3)
│ │
▼ ▼
关键帧(每集12张) ─► 图生视频(每段5s) ─► ffmpeg 合成 ─► 成片
ImageGen VideoGen 拼接+字幕+混流每一集由一个 JSON 分镜计划驱动:镜头列表、每镜旁白、该镜头用静帧还是动画片段。合成脚本读这个 JSON,自动完成 TTS、标题卡绘制、逐镜头视频段生成、拼接、ASS 字幕生成与烧录。做一集新动画只需要三步:生成 12 张关键帧、生成 9 段动画、跑一次合成脚本。
40 集画面要统一,靠的是一段固定的风格前缀提示词,每次只替换场景描述部分:
中国传统水墨淡彩画,绢本暖米色底,细墨线勾勒,设色克制
(墨黑、淡赭石、石青、朱砂点染),细腻颗粒质感,电影级宽幅构图,
春秋初期场景,写实而非卡通,画面内不得出现任何文字。
图02|用该模板生成的关键帧:干涸的河床(第 1 集)

图03|同一模板下的人物场景:臣子跪谏(第 5 集)
两个实战要点:
每张选中的关键帧配一段英文运动描述(镜头推拉方向、哪些元素动、动的幅度),生成约 5 秒片段:
The elderly historian stands almost still, his robe and sleeves sway
slightly as if in a faint breeze... Very slow camera push-in.
Subtle restrained motion, ink-wash painting texture preserved, no text.经验值:运动描述越克制,出片越稳。"slow push-in + 一两个元素微动"几乎不翻车;写"人物转身走动"这类大动作,崩坏率明显上升。90 秒的一集里,我会让 9 个镜头用 AI 动画,其余用静帧加 Ken Burns 式推拉(零成本),观感上依然是"动画",成本却只有全 AI 视频方案的约十分之一。
旁白用 edge-tts,纪录片男声 zh-CN-YunjianNeural、语速 −12%,每句旁白对应一个镜头;合成阶段按旁白实际时长决定镜头时长(旁白 + 0.9 秒余量,下限 4.2 秒),保证音画严格对齐。字幕用 ASS 格式烧录,按标点自动切行、按字数分配显示时间。

图04|成片标题卡(第 5 集)

图05|成片中段:双行字幕与画面自动对齐(第 5 集)

图06|图生视频的关键帧:地道相见(第 6 集)

图07|成片结尾帧:字幕带下集预告(第 6 集)
以下问题全部实测踩中,解法都验证过:
subtitles 滤镜在 Windows 报路径错误——C:\ 的冒号被滤镜语法吞掉。解法:合成时把工作目录切到字幕文件所在目录,全部用相对路径。tpad 冻结帧延长视频"不生效"——对帧率不固定的输入,tpad 后时长不变。解法:滤镜链里先 fps=24 固定帧率,再 tpad=stop_mode=clone。crop((0,160,w,h)) 裁的是顶部;AI 图水印在右下角。解法:标题卡用 crop((0,0,w,h-160)),静帧在缩放前先裁掉底部 160 像素。项目 | v1 规范(第 1–4 集) | v2 规范(第 5 集起) |
|---|---|---|
关键帧 | 7–12 张 | 12–13 张 |
AI 动画段 | 3–6 段 | 8–10 段 |
单集合计 | 约 335–670 积分 | 约 570–1240 积分 |
TTS / 合成 | 0 | 0 |
v1 和 v2 的差别只在动画密度:把每集动画段从 3–6 段提到 8–10 段、镜头间黑场淡切改直切,观感从"图文配音"提升到"准动画短剧"。建议先用 v1 做一集样片确认风格,再切 v2 批量生产——改风格越早越便宜。
最小可行动作只有四步,一晚上就能出样片:
跑通这四步,再决定要不要扩到 40 集。
---
目标读者:想用 AI 工具链做内容量产的开发者与创作者,无需专业剪辑与绘画基础。
前置知识:基本命令行操作;Python 虚拟环境(venv)的概念即可。
技术栈版本:Python 3.13.12;edge-tts(微软 Edge 在线语音合成接口);imageio-ffmpeg 0.5(内置 ffmpeg 7.1);Pillow 11。
预计阅读时间:12 分钟。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。