Skip to content

记录2026年上半年的AI视频生成实践

2026年7月20日

今年三四月份,我参加了一个实习项目,主题是用AI做自动化媒体内容生成。目标是搭建一条全自动的内容生产线——从选题策划、脚本撰写,到图像生成、视频合成,再到最后的发布上线。

两个月下来,产出了两部成语故事动画短片《田忌赛马》和《守株待兔》,总共在YouTube上发布了三个版本。(见https://www.youtube.com/@vivimemo

流程概览

最终沉淀的视频生产流程包含八个环节:

  1. 故事脚本撰写
  2. 角色图像生成
  3. 场景图像生成(可选)
  4. 分镜图像生成
  5. 旁白音频合成
  6. 视频片段生成
  7. 图像片段或视频片段合成
  8. 字幕叠加
  9. 成品输出

每个环节都有多种工具可选,例如:

  • 脚本撰写: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 分离器无损拼接:

bash
ffmpeg -f concat -safe 0 -i audio_list.txt -c copy output.mp3
ffmpeg -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.ttc
fontfile=/System/Library/Fonts/STHeiti Medium.ttc

默认字体不支持中文,会显示为方框。

视频合成与发布

视频片段用 FFmpeg concat 合并:

bash
ffmpeg -f concat -safe 0 -i concat.txt -c copy output.mp4
ffmpeg -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,批量生产效率受限