AI全自动Codex生成图书号短视频
我们可以利用AI达到全自动生成短视频这套流程适合任何桌面Agent只要跑通这套流程可以说不光做图书包括好物分享都是可以的。1. 准备工具这条链路里生成视频我实际用到的是 HyperFrames它的好处是可以用 HTML / CSS / JS 做视频合成。对 AI Agent 来说这比传统剪辑工程更容易操作背景图、字幕、书名作者、音频轨道、转场都可以直接写在代码里。这次实际用到的工具和开源项目主要有1、HyperFrames用来做视频合成、预览和最终渲染。2、微信读书 Skill用来查书籍信息、热门划线、书评和读者反馈。3、VoxCPM 用来做本地语音生成无需调任何API。[gel_card urlhttps://github.com/OpenBMB/VoxCPM]4、faster-whisper用最终音频转写拿真实字幕时间轴音画同步的关键严格来说是字幕。[gel_card urlhttps://github.com/SYSTRAN/faster-whisper]5、FFmpeg用来做声音后期、BGM ducking、音频裁剪和格式转换。[gel_card urlhttps://github.com/FFmpeg/FFmpeg]BGM ducking(背景音乐闪避/回避)是音频处理里的一个术语。 指的是:当有更重要的声音出现时,自动把背景音乐(BGM)的音量压低6、yt-dlp处理公开视频和音频素材时会用到。[gel_card urlhttps://github.com/yt-dlp/yt-dlp]2. 整体流程我的图书号视频流程现在大概是这样1:给一本书名或者让 AI 推荐一本书2:用微信读书 Skill 查资料3:生成 30 秒左右的中文旁白4:我确认文案5:拆字幕句子和画面段落6:生成 3-4 张统一风格背景图7:我确认图片8:生成完整旁白音频VoxCPM9:用最终音频转写并对齐字幕faster-whisper10:加 BGM并做自动 ducking11:用 HyperFrames 生成预览12:确认后渲染 MP43. 资料收集先把书理解清楚图书号视频最怕空泛。如果只让 AI 直接写“推荐一本书”很容易变成没有信息密度的鸡汤。所以要先做资料收集。这一步推荐用微信读书 Skill先查1、书籍基本信息2、作者信息3、热门划线4、公开书评5、读者常见反馈微信读书 Skill 配置如图按照提示安装skill并配置API key即可。这一步不是为了把资料全部塞进视频而是为了找到一个适合 30 秒短视频的切口。比如《纳瓦尔宝典》可以讲财富也可以讲判断力也可以讲自由。但一条 30 秒视频不可能讲完整本书所以会让 Codex 选一个最适合传播的角度再开始写旁白。4. 先写旁白不急着做画面先生成旁白不急着做图也别急着配音。原因很简单文案是整条视频的骨架。文案方向错了后面声音再好、画面再漂亮也只是在补救。旁白要求是 30 秒左右中文自然口播不要像书评摘要也不要有明显 AI 腔。比如少用“不是……而是……”少用强行排比不要一上来就说“这本书告诉我们”。这一步生成后codex会让我确认旁白稿、预计时长、传播角度和资料来源摘要。确认文案后再进入图片和音频环节。5. 生成 3-4 张统一风格背景图图书号视频不需要每秒都换画面。所以更倾向于 30 秒视频用 3-4 张图每张图对应一个旁白段落切换点卡在断句处。重点一定要提示 Codex不要把文字做进图片里。尤其是中文AI 生成图片时很容易自己就把书名、作者、字幕画进去然后出错。所以我的做法是明确图片只负责氛围书名、作者、字幕都放到 HyperFrames 里用 HTML / CSS 叠加。同一条视频里3-4 张图的色调、镜头语言和光线质感要一致。图片出来后会再发我确认一次确认后才继续做音频和合成。6. 生成旁白音频旁白音频这一步我用的是本地 VoxCPM相信各位也听到了效果真的非常好极力推荐我用的是可控声音克隆模式上传一段自己的参考音频模型克隆音色同时可以使用控制指令调节语速、情绪或风格。这里有个坑尽量一次性生成完整旁白不要一句一句生成后再拼接。分段生成很容易出现音色、情绪和节奏不一致的问题。我目前比较稳定的参数是--cfg-value 2.0 --inference-timesteps 10如果只是快速测试可以先用--inference-timesteps 8正式版本我更倾向于 inference-timesteps10。inference-timesteps 可以理解为生成过程里的推理步数步数更高通常更稳定但生成速度会慢一点。cfg-value 会影响模型对条件的跟随强度我现在用 2.0主要是为了在自然感和稳定性之间取平衡。7. 声音后期和 BGM原始旁白直接放进视频里通常还不够像短视频口播所以会用 FFmpeg 做一层轻后期。当前参数是volume-2dB, highpassf70, lowpassf13500, acompressorthreshold-20dB:ratio2.2:attack18:release180:makeup1.5, aecho0.7:0.14:34:0.06, loudnormI-16:TP-1.5:LRA8, aresample48000简单说highpassf70 用来去掉低频浑浊感lowpassf13500 避免声音太刺acompressor 让旁白更稳aecho 加一点点空间感loudnormI-16:TP-1.5:LRA8 把响度处理到更适合短视频播放的水平。BGM 不是简单铺一层音乐因为它很容易和旁白打架。用 FFmpeg 的 sidechaincompress 做 ducking旁白说话时BGM 自动压低旁白停顿时BGM 稍微回来。参数方向是sidechaincompressthreshold0.012:ratio8:attack45:release650:makeup1.4如果 BGM 前奏太长可以直接从中间开始截比如-ss 19短视频只有 30 秒左右前奏太长会拖节奏直接从情绪进入点开始更合适。8. 字幕对齐字幕对齐很关键。很多视频看起来粗糙不是因为画面不好而是字幕和声音错位。我的处理方式是最终旁白音频生成后再跑 faster-whisper。参数是--language zh --compute-type int8有个细节只用 faster-whisper 的时间点不完全使用它识别出来的文字。因为书名、人名、专有名词很容易被识别错。所以我的规则是时间用 faster-whisper文本用已经确认过的最终旁白。这样字幕既能对齐声音又不会被识别错误带偏。切图点也根据最终字幕断句来定而不是平均切。9. HyperFrames 预览和导出最后进入视频合成。注意要先开预览不直接渲染。因为调视频时经常只是改一点点字幕上移一点、字体粗一点、BGM 大一点、图片切换慢一点。如果每次都导出 MP4效率太低。导出前要让codex跑检查npx hyperframes lint npx hyperframes inspect npx hyperframes validate主要检查有没有报错、布局有没有溢出、字幕有没有遮挡、文本对比度够不够、音频轨道有没有接上。确认没问题后再渲染 MP4。10. 总结把这篇流程给 Codex再结合自己的素材和审美调两轮基本就能跑出一条可用的图书号视频。等链路真正跑顺之后文案和图片确认也可以省略变成每天自动跑几条候选视频。最后人只负责挑选、微调和发布。这也是我觉得 AI 做自媒体最有意思的地方不是只生成一次内容而是把一个内容品类做成一条可以持续复用的生产流程。快去试试