把一篇长文变成口播稿、配音、字幕、画面、动画和成片,在叠加上你本人的数字人。

整套流程交给 WorkBuddy 推进。你只需要准备内容和质量检查即可。

工作流开源地址github: agent-video-pipeline

之前看到的所有数字人口播方案,都是基于 heygen 的,1 分钟 10 块钱左右,贵。

用 WorkBuddy 搭建本地数字人口播方案

这套方案是教你本地跑口播数字人的方案,你需要一张 Nvidia 卡。

先看电脑能跑到哪一步,再决定使用本地服务还是云端服务。

4 核 CPU 与 16 GB 内存

显存不足 12G或者 Mac 系统

20 到 50 GB 可用空间

本地编排、字幕和轻量渲染,配音、插画或数字人使用云端服务 heygen

8 核 CPU 与 32 GB 内存

NVIDIA RTX 4070 及以上

Windows 按 C 盘与 D 盘分别预留,Ubuntu 准备 100 GB 以上空间

本地配音、1080p 渲染,以及 Duix.Avatar 本地数字人

12 到 16 核 CPU 与 64 GB 内存

NVIDIA 24 GB 显存这一档

200 GB 以上高速 SSD

多模型、长视频和批量渲染

2 没有 NVIDIA 显卡怎么办

跳过本地数字人的合成即可。文章改口播、配音、字幕、插画、动画和视频渲染都可以继续做。

跳过本地数字人的合成即可。

文章改口播、配音、字幕、插画、动画和视频渲染都可以继续做。

数字人只是把一段对好口型的人像叠到基础视频上,不影响前面的内容生产。另外你还可以选云端数字人方案。

数字人只是把一段对好口型的人像叠到基础视频上,不影响前面的内容生产。

另外你还可以选云端数字人方案。

03一句话启动工作流

1 可直接复制的启动提示词

复制了丢给 WorkBuddy,只替换方括号里的内容。

请安装并使用 agent-video-pipeline

https://github.com/JayceHuang/agent-video-pipeline.git

把【文章路径、附件或下方正文】制作成视频。

工作区是【绝对路径】。

项目目录是【绝对路径】。

发布平台是【填写】。

画幅是【16:9 或 9:16】。

本次【不使用数字人或使用本地数字人】。

安装后完整读取 README.md 与 SKILL.md,检查本机硬件及 Git、Python 3.10 或更高版本、ffmpeg、ffprobe、Node.js。缺少依赖时优先在工作区内安装或修复,不污染系统环境。

检查工作区内完整的 .agent-video/。缺失或结构不完整时,运行下面的命令初始化中性配置。

python scripts/init_config_root.py --workspace 【工作区绝对路径】

自动填写能够安全推断的 workspace.yaml、runtime.local.yaml 和素材配置,并列出最终配置。随后运行 resolve_profile.py 验证并冻结本项目配置。

输入是长文章时,先调用 adapt-longform-for-speech 生成口播稿并等待我确认。

任何配置或质量检查失败时,只暂停下游阶段。请诊断并修复当前失败层,重新运行检查,直到通过。只有缺少凭据、授权素材、必须由我决定的内容,或确实无法自动修复时才向我提问。

口播稿通过后,先生成一段 60 到 90 秒、带声音、字幕、视觉和动效的 1080p 试播视频。运行全部质量检查,提供试播视频、封面和检查报告,等待我确认。

未经确认不要生成完整视频。确认后再继续完成全片及最终交付包。

2 给第一次运行留足时间

视频生产比普通文档任务重得多。第一次运行还要下载依赖、模型和浏览器环境,速度不能只看最终渲染时间。

视频生产比普通文档任务重得多。

第一次运行还要下载依赖、模型和浏览器环境,速度不能只看最终渲染时间。

我自己的两次测试差异很大。

Windows 上处理一篇长文,第一次从启动到完成用了两个多小时

Linux 上生成一段约 80 秒的非数字人试播,第一次用了约 21 分钟

这两个数字只能代表当时的机器和网络,第二次通常会快不少,因为依赖、模型和部分中间产物已经有缓存。

用 WorkBuddy 搭建本地数字人口播方案

WorkBuddy 第一次停下来时,按下面的顺序检查。

口播内容有没有增删关键事实

声音里有没有错读、吞字、突然变速和明显机械感

试播片段能否代表整条视频的真实风格

某个地方不对,就把时间点和目标状态写给 WorkBuddy。比如告诉它第 18 秒字幕太靠下,第 32 秒卡片出现得太急。指出明确的问题比一个模糊的概念有用的多。

某个地方不对,就把时间点和目标状态写给 WorkBuddy。

比如告诉它第 18 秒字幕太靠下,第 32 秒卡片出现得太急。

指出明确的问题比一个模糊的概念有用的多。

基础视频先通过内容、声音、字幕和画面检查,最后再生成数字人。Duix.Avatar 是一个可本地部署、可通过 API 调用的开源数字人项目。官方说明里,一段约 10 秒的参考视频就可以用于建立数字人形象和声音,随后可用文字或音频驱动口型。本文的工作流只取口型合成这部分,最终声音继续使用前面已经确认的配音母带。

基础视频先通过内容、声音、字幕和画面检查,最后再生成数字人。

用 WorkBuddy 搭建本地数字人口播方案

Duix.Avatar 是一个可本地部署、可通过 API 调用的开源数字人项目。

官方说明里,一段约 10 秒的参考视频就可以用于建立数字人形象和声音,随后可用文字或音频驱动口型。

本文的工作流只取口型合成这部分,最终声音继续使用前面已经确认的配音母带。

注意:Duix.Avatar 当前 README 写明,开源本地部署支持免费商用,用户量超过 10 万或年营收达到 1000 万美元以上的企业需要签署商业许可协议。

Duix.Avatar 当前 README 写明,开源本地部署支持免费商用,用户量超过 10 万或年营收达到 1000 万美元以上的企业需要签署商业许可协议。

使用任何真人形象和声音前,先确认本人授权。

参考视频尽量满足下面几项。

脸部完整、清楚、无遮挡

头部与身体动作不要太大

画面里只保留一个主要人物

素材确实属于你或已经获得授权

你可以从以前拍过的公开视频里截一段,也可以专门录一段。画面一旦选定,后续视频就会反复循环这段人物动作,为了避免被看穿,人物幅度不要太大。

你可以从以前拍过的公开视频里截一段,也可以专门录一段。

画面一旦选定,后续视频就会反复循环这段人物动作,为了避免被看穿,人物幅度不要太大。

3 生成静音口型视频

把参考视频和 .wav` 交给 WorkBuddy,让它调用本地数字人服务。

请使用已配置的 Duix.Avatar 本地服务处理下面两份素材。

参考人物视频【绝对路径】

最终配音母带【项目目录/audio/output/narration_master.wav】

只生成与配音母带时长完全一致的口型视频。输出视频保持静音,不要重新合成声音。检查人物画面是否连续、口型是否同步、输出时长是否与 narration_master.wav 一致。

这一步的输出是一段静音人物视频。人物已经跟着母带对好口型,但还没有放进正式画面。

4 把数字人合成到基础视频

基础视频和静音口型视频都通过检查以后,再调用 compose-avatar-video。

基础视频和静音口型视频都通过检查以后,再调用

compose-avatar-video

请使用 compose-avatar-video,把已经对好口型的静音数字人视频合成到基础视频。

基础视频【绝对路径】

静音数字人视频【绝对路径】

把数字人裁成 300 × 300 的圆形画面,放在左下角。完整保留脸部,不遮挡字幕、标题和重要信息。保留基础视频原有音频,不要使用数字人视频里的音轨。

合成后检查时长、分辨率、音频轨、人物裁切、字幕遮挡和首尾帧。输出检查报告和最终视频路径。

位置、尺寸和形状都可以改。需要守住的只有三条。

人物不能遮住字幕和关键信息

narration_master.wav

合成后重新检查音画时长和口型同步

1 把动画目标说清楚

WorkBuddy 能改动画,但前提是你把目标说清楚。

最有效的信息有五类。

从什么状态变到什么状态

哪些东西必须保持不动

2 接入新的插画 Skill

动画和插画可以继续扩展。比如把开源的 Ian 小黑插画 Skill 接入视觉素材阶段,再用自己的授权人物素材做成固定 IP。这类改动先让 WorkBuddy 分析输入与输出。

动画和插画可以继续扩展。比如把开源的 Ian 小黑插画 Skill 接入视觉素材阶段,再用自己的授权人物素材做成固定 IP。

用 WorkBuddy 搭建本地数字人口播方案

这类改动先让 WorkBuddy 分析输入与输出。

请分析下面这个 Skill 的目录、输入、输出和依赖。

https://github.com/helloianneo/ian-xiaohei-illustrations/tree/main

我想把它接入 agent-video-pipeline 的视觉素材阶段。请先说明应该在哪个阶段调用、产物怎样写入 visual-assets.json、失败时怎样回退,以及如何避免修改公共流水线的中性默认值。

先给接入方案和文件修改清单,等我确认后再实施。

画风改成什么都可以,时间轴不要乱。视觉素材最终还要回到统一的场景、字幕和音频时间基准里。

06把一次视频变成长期工作流

把一次视频变成长期工作流

1 记录可以复用的内容

一条视频跑通以后,最值钱的东西往往留在中间。

文章从哪里来,怎样改成口播,什么风格适合哪个平台,哪些动画在什么内容上有效,读者在哪些地方容易看不懂,这些信息都应该写回知识库。

我用 Obsidian 管这部分。每个主题至少保留下面几样。

使用过的 Profile 与版本

试播和全片的修改记录

各平台标题、封面和发布文案

发布后的数据与评论反馈

下一次做同类内容时,不用从空白提示词开始。先复用已经验证过的配置和失败记录,再改这一期不同的地方。

2 让一篇内容多平台复用

同一篇文章可以沿着一条主线拆成多种产物。

├── 3 到 5 条短帖

├── 60 到 90 秒试播

├── 3 到 8 分钟讲解视频

└── 视频号、抖音、B 站和小红书发布文案

各平台需要单独适配开头、时长、画幅、字幕安全区和 CTA。核心事实与主线尽量共用,减少每个平台各写一套以后互相打架。

用 WorkBuddy 搭建本地数字人口播方案

3 这套工作流如何变现

变现才是最终目的,以下方案都可以切入。

比如抖音卖爆了的那些智能体

为企业制作固定人物口播与多个账号的内容

形象授权、声音授权和平台规则

围绕品牌问题持续生产可检索的视频与字幕

事实核验、关键词自然度和效果衡量

把工作流做成课程、模板或陪跑服务

学员能否跑通第一条视频

为有隐私或批量需求的团队部署环境

硬件成本、维护、故障响应和许可证

卖一套提示词很容易,长期交付要处理环境差异、素材版权、模型更新、缓存失效和客户修改。先用自己的内容跑出几条稳定案例,再接客户,会少很多现场救火。

第一次跑时,一步步来,先跑出一段 60 到 90 秒试播。

把口播、声音、字幕和基础画面调顺,再保存成自己的工作区 Profile。

接下来加人物 IP,最后才接本地数字人。

第一条视频可能要折腾几个小时,后面就能复用配置、素材和缓存。

做得越多,这套系统越像你自己的生产线。