记录2026年上半年的AI视频生成实践
2026年7月20日
今年三四月份,我参加了一个实习项目,主题是用AI做自动化媒体内容生成。目标是搭建一条全自动的内容生产线——从选题策划、脚本撰写,到图像生成、视频合成,再到最后的发布上线。
两个月下来,产出了两部成语故事动画短片《田忌赛马》和《守株待兔》,总共在YouTube上发布了三个版本。(见https://www.youtube.com/@vivimemo)
流程概览
最终沉淀的视频生产流程包含八个环节:
- 故事脚本撰写
- 角色图像生成
- 场景图像生成(可选)
- 分镜图像生成
- 旁白音频合成
- 视频片段生成
- 图像片段或视频片段合成
- 字幕叠加
- 成品输出
每个环节都有多种工具可选,例如:
- 脚本撰写:ChatGPT、Claude、豆包、WorkBuddy等
- 图像生成:WorkBuddy(混元)、火山引擎文生图API、Seedream模型等
- 视频生成:Seedance 2.0、可灵等
- 语音合成:EdgeTTS、macOS系统语音等
最终选择的组合是:
- 基于静态图像的视频生成:火山引擎文生图API(图像)、EdgeTTS(语音)、FFmpeg(视频合成),由WorkBuddy负责统一调度。
- 基于动态视频片段的视频生成:小云雀短剧一站式生成。
图像生成
使用火山引擎文生图API,模型为 high_aes_general_v30l_zt2i,分辨率固定为 1344×768(16:9),响应格式为 base64。
提示词采用结构化模板:风格前缀 + 场景 + 角色 + 动作 + 镜头 + 氛围。
语音合成
使用 EdgeTTS,语音模型为 zh-CN-XiaoxiaoNeural(中文女声)。每段旁白独立生成 MP3,然后用 FFmpeg concat 分离器无损拼接:
ffmpeg -f concat -safe 0 -i audio_list.txt -c copy output.mp3ffmpeg -f concat -safe 0 -i audio_list.txt -c copy output.mp3每段音频的精确时长用 ffprobe 获取,用于后续视频片段的时长对齐。
也是通过这个项目让我了解了 EdgeTTS,它原本是微软 Edge 浏览器的语音合成引擎,后来被逆向出来,成为一个很多人都在用的语音生成工具。整体来说,它的语音质量还是比较好的。
Ken Burns 动画
对静态图像施加缓慢缩放效果,模拟摄像机运动。奇数片段放大,偶数片段缩小,交替进行:
奇数帧:zoompan=z='min(zoom+0.0008,1.08)':d=FRAMES:s=1280x720
偶数帧:zoompan=z='max(zoom-0.0008,1.0)':d=FRAMES:s=1280x720奇数帧:zoompan=z='min(zoom+0.0008,1.08)':d=FRAMES:s=1280x720
偶数帧:zoompan=z='max(zoom-0.0008,1.0)':d=FRAMES:s=1280x720参数说明:每帧缩放 0.0008 倍,持续 FRAMES 帧后缩放 0.08 倍,输出分辨率 1280×720。
字幕叠加
字幕用 FFmpeg drawtext 滤镜实现。顺序问题:必须在所有视频处理完成后再叠加字幕。如果在 Ken Burns 动画之前添加字幕,字幕会随画面缩放变形,出现重影。
中文字体需显式指定系统字体路径:
fontfile=/System/Library/Fonts/STHeiti Medium.ttcfontfile=/System/Library/Fonts/STHeiti Medium.ttc默认字体不支持中文,会显示为方框。
视频合成与发布
视频片段用 FFmpeg concat 合并:
ffmpeg -f concat -safe 0 -i concat.txt -c copy output.mp4ffmpeg -f concat -safe 0 -i concat.txt -c copy output.mp4-c copy 启用无损流复制,不需要重新编码。
YouTube 发布通过 WorkBuddy 的 youtube-publisher Skill 实现。需要在 Google Cloud Platform 创建应用获取 YouTube Data API v3 凭证,OAuth 2.0 桌面应用认证,Token 自动续期。
视频生成方案迭代
第一部《田忌赛马》采用上述方案——静态图像 + Ken Burns 动画。画面动态性有限,类似定格动画效果。
第二部《守株待兔》改用字节跳动小云雀短剧 Agent 的 Seedance 2.0 模型,直接从文本生成动态视频片段。角色一致性更好,动作自然,但无 API 接口,需在平台界面手动操作。
两种方案的适用场景不同:简单叙事适合前者,成本低、可控性强;需要视觉表现力则用后者。
三层架构
将整个流程封装为三层:
| 层 | 组件 | 职责 |
|---|---|---|
| Agent 层 | WorkBuddy | 统一任务调度与编排 |
| 工具层 | 火山引擎、EdgeTTS、FFmpeg | 各环节专用工具 |
| 人工层 | 人工审核节点 | 分镜、图像、成片三处质量把控 |
遗留问题
- 跨场景角色形象仍有细微差异
- 背景音乐筛选依赖人工,难以完全自动化
- 小云雀无 API,批量生产效率受限
TooBug