
做手绘解说视频这事我在视频创作圈里泡了挺久早先一听谁要做这种“纸上画画讲知识”的片子第一反应就是外包文案要找人写画面要找人画配音要找人来录一条三分钟的片子报价一千起步、工期三五天算快的。后来各种AI工具出来了画图、配音、剪辑都能省几步但流程还是散的——写完脚本要手动粘贴去出图出完图要手动排时间轴声音和画面要对齐中间任何一个环节断一下整个制作又卡住了。所以当我看到“WorkBuddy 开源技能AI Agent 科普动画一键出片”这个路子时第一直觉就是这套东西解决的不是某个单点工具好不好用的问题而是把“人肉串联多个AI工具”这个最痛的过程给自动化了。简单说WorkBuddy像是给AI Agent做编排的平台开源技能模块则相当于一个封装好的“手绘视频生产线”——从一句话文案开始Agent自动拆解分镜、生成手绘插图、配上语音并合成视频你一觉睡醒文件夹里多了十几条成品。这篇文章不聊虚的直接把我的搭建过程、工作流设计、踩过的坑全摊开讲。适合的对象很明确想低成本做知识科普类账号的内容创作者、批量做课程素材的教研老师、以及想研究AI Agent真实生产力的人。只要你愿意折腾小半天这套流程就能跑起来而且后续复制到任何选题上都行。1. 项目整体设计与思路拆解1.1 手绘解说视频为什么这么吃香手绘解说视频就是那种画面里有一只手在纸上画图、旁边有旁白讲解的视频。它跟普通的PPT配音视频、实拍视频相比有几个天生的优势一是信息密度高文字、图形、声音三条线同时走观众不容易走神二是生产成本看起来低不需要真人出镜、不需要绿幕、不需要专业摄影棚三是内容质感很“人工”即便画面简单也自带一种“这是一个认真做的内容”的信任感。但实际做过的朋友都知道它的成本其实不低。传统的制作方式里手绘动画有两种路线一种是手绘师逐帧画最费人一分钟动画画几百张中间帧是常态另一种是用手绘特效软件比如在视频上叠加“笔迹划出”的蒙版动画这也要一帧帧抠关键帧。不管哪条路都是人力密集的活。而AI生成式的手绘视频做了一个根本性的替换把“手在纸上画图”这个动作抽象为“画面从线稿逐渐出现”的视觉效果。实际操作里我们并不需要真的生成带手的动画只要生成一张张白底、黑线、手绘质感的插图然后用摄像机运动让画面“生长”出来观众大脑会自动脑补出“手在画”的过程。这一换就把原来最重的动画环节变成了两件事批量出图和批量做镜头运动而这两件事恰恰是大模型和FFmpeg这类自动化工具最擅长干的。1.2 为什么是“Agent编排”而不是“一条脚本”很多人一看到“自动化”就先想我写个Python脚本把OpenAI接口、绘画API、TTS接口串起来不也能批量出视频吗能但那是老思路有几个硬伤。第一个硬伤是流程不可见。脚本写的是一条直线文案生成完紧接着出图、出完图紧接着合成哪个环节出错整条流程就断了而且断得你毫无头绪只能翻日志一点点查。第二个硬伤是修改成本高。今天想把普通话换成英语配音明天想改画面风格从黑白线稿改成彩色铅笔风脚本得重写。但如果用Agent编排每个环节是一个独立节点你只需要把“绘画节点”的提示词模板换一下其他部分不动。第三个硬伤是批量任务管理。做视频从来不是做一条而是做一批。用Agent平台可以给一个表格里面写二十个选题让Agent逐行执行执行过程中可以设并行数、重试策略、失败跳过。这些能力自己写脚本当然也能实现但工程量不小而且每换一个AI服务商就要改一堆鉴权逻辑。WorkBuddy这类的Agent编排平台本质是让你用“可视化工作流”来代替“胶水代码”。它把大模型调用、API请求、文件操作、条件判断这些都封装成了一个个节点你像拼乐高一样把它们接起来。配合开源技能模块相当于别人已经帮你把“手绘视频”这套节点组合做好了你拿过来改改参数就能用。用个不太恰当的比喻脚本写法是你在后厨从头切菜、配菜、掌勺Agent编排是你拿到一张经过验证的菜谱只需要往里面放你自己选的食材和调料火候和工序都是现成的。后者对非程序员非常友好而对程序员来说省掉的是那些纯体力活的模块代码。1.3 WorkBuddy加开源技能的搭配逻辑整个方案里WorkBuddy承担的是“编排与运行环境”开源技能模块承担的是“领域能力封装”两者各管一头。WorkBuddy负责的事情包括管理Agent的任务队列、维护多个大模型API的连接配置、提供工作流画布让我把“写文案-拆镜头-出图-配音-合成”这些动作按顺序接起来以及设置定时触发或者批量导入触发。换句话说它是一个“会干活的机器人管家”但管家不知道手绘视频该怎么做。开源技能模块就是给这个管家装上一本“手绘视频制作手册”。这份手册里通常包含几个部分一是提示词模板库规定了输出线稿风格、画面构图、人物比例甚至连“画面里要不要出现那只画画的手”都有预设二是分镜规则能把一段解说词自动切分成多个镜头并把每个镜头的旁白跟画面描述对上三是合成脚本模板用FFmpeg把图片序列、语音轨、字幕文件合成为最终视频。为什么要强调“开源”因为只有开源你才能看懂它是怎么把文案变成分镜的、怎么调用绘画模型的、用的什么提示词结构。如果是个黑盒一旦出画面效果不对你连改都没法改。我在实际使用中甚至会把开源技能里的提示词模板抽出来单独修改比如我偏好那种更接近真实手账的画风就调整了颜色描述和线条抖动参数这在闭源工具里几乎不可能做到。2. 核心细节解析与实操要点2.1 开源技能模块怎么选、怎么装现在GitHub上这类“视频生成技能”的仓库不少名字一般带video、sketch、handdraw之类关键词。选的时候我建议抓三个标准。第一看它是否独立于特定商业平台。好技能应该只是模板加脚本可以用任何大模型API跑通而不是强制绑死某个付费服务否则“零成本”就是句空话。第二看它是否支持中文解说词的分镜切分。很多海外项目的中文分镜能力很弱往往一句话切一个镜头或者按标点硬切产出的视频节奏稀碎。第三看它是否暴露了参数配置。优秀的技能会把风格描述、画面比例、语音音色、字幕字体等都做成可配置项而不是把所有东西都写死在代码里。安装过程不算复杂典型流程是把仓库clone到本地用pip安装依赖把它放在WorkBuddy指定的skills目录下然后在WorkBuddy里“重新扫描技能”。这里有一个我踩过的小坑有些技能仓库依赖特定版本的Python或FFmpeg如果你本机环境比较乱建议直接用虚拟环境隔离别图省事往全局装否则后面排查问题会被版本冲突折磨到崩溃。装好之后先别急着跑大批量先拿一条短文案试运行目的就是验证端到端通路文案输入之后分镜节点是否正常输出、绘画接口是否返回图片、语音合成是否生成音频、最后的FFmpeg拼接是否成功。这个冒烟测试值得花二十分钟做很多后面看起来诡异的问题其实都是这一步没做扎实埋下的。2.2 提示词写得越细AI越不听话这是整套方案里最反直觉的一点新手最容易在提示词上调半天、效果还不行。很多人以为把“手绘风格、白底黑线、简洁干净”写进提示词就完了实际生成的图五花八门有的像打印体有的像水彩画有的直接把画面填满了灰色阴影完全不匹配后续视频拼接的需求。我的经验是把提示词拆成“全局风格词”和“局部指令词”两层。全局风格词是一段固定的前缀每次出图都带上它负责锁住整体风格比如“black and white hand-drawn sketch style, clean white background, consistent line weight, naive illustration, no grey shading”。局部指令词才是每个镜头特有的内容描述比如“a person sitting at a desk typing on a laptop”。把全局风格词放到每个请求的最前面后面接局部内容模型在风格上的漂移会小很多。还要学会用“负向提示词”。在支持负向提示词的绘画接口里明确写上“no text, no watermark, no photo, no 3d render”能省掉很多后期修图的功夫。文字和半调网纹阴影是手绘风格最大的干扰第一版我没写负向提示词出图之后总有莫名其妙的水印和文字后期还得靠裁剪躲开非常被动。分镜提示词也有讲究。我不建议让Agent自由发挥“画面感”那样每个镜头的构图习惯都不一样拼接起来会很跳。更合理的做法是给Agent一个固定的分镜模板每个镜头必须包含镜头序号、画面主体描述、画面场景描述、画面动作描述、对应旁白原文然后后端代码再把这些字段拼成图片生成的完整提示词。这样既让AI有发挥空间又保证结构化。2.3 视频参数体系先定尺寸、时长、比例做批量视频最怕每一条的分辨率、时长容错、字幕位置都不一样后面剪辑和发布会很麻烦。所以我在跑项目前会把一组固定的输出参数写成配置喂给所有下游节点。画面尺寸要看你的发布渠道。横屏主打B站、西瓜这类中视频我常用1920x1080竖屏主打短视频平台用1080x1920。如果你的内容可能是视频号和抖音都发建议用3:4的竖屏构图1080x1440这是目前兼顾两端的比较稳的尺寸上下留白也可以在后期用作海报位。时长策略上一条合格的科普解说视频语速大概每分钟240字三分钟台本大约是700字上下。按一句话一个镜头来算一条三分钟视频大概要30到40个镜头画面。这个数字意味着什么呢一个Agent跑一轮任务要调用30到40次绘画接口如果每个镜头一次生成、选图、再生成一次做备选单条视频就到了六七十次调用。所以“批量”不是听起来省事是真的只有靠自动化才能跑得起量来。再有一个很多人忽略的参数是“镜头的最小停留时间”。AI语音合成的句子有长有短长句8秒、短句2秒如果直接按句子长度决定画面切换短视频平台那种快节奏观众会看得着急。我的做法是设置一个基准时长画面切换间隔不低于2.5秒不超过6秒超长的句子在分镜阶段就被强制拆开。这个规则写在工作流里比在剪辑软件里手动调舒服得多。关于画面运动我强烈建议不要在Agent阶段生成真的逐帧动画那是性能和成本的无底洞。用静态图片加缓慢缩放和位移配合手绘风格的“笔触划出”效果完全够用。在FFmpeg合成时分别对每张图片应用“zoompan”滤镜模拟镜头推进或拉远并在开头一帧做从左到右或从右到左的位移观众看到的就是“画面在生长出来”的手绘感而不是生硬的图片切换。3. 实操过程与核心环节实现3.1 从零搭建运行环境我先说环境准备这部分不复杂但容易因为漏项卡住。我的配置是一台普通的Windows电脑Python 3.10以上版本FFmpeg 4.4以上版本外加一个Node.js运行时因为WorkBuddy的依赖有一部分是Node包的。如果电脑配置一般也没关系这套方案的重活都在云端API处理本机只跑调度和视频合成8GB内存的机器足够。具体步骤按顺序来第一步安装FFmpeg并把它加到系统PATH里第二步创建Python虚拟环境并激活第三步把开源技能仓库clone到一个专门的目录第四步在目录下执行依赖安装会同时装绘画SDK、语音合成SDK和视频处理相关的Python包第五步启动WorkBuddy让它扫描skills目录。启动之后需要在WorkBuddy里配置模型服务的访问凭据。这里有个实用建议别把密钥写死在代码里通常WorkBuddy会支持从环境变量文件读取我建议把各种密钥统一放进一个.env文件同时把这个文件名加进.gitignore或者备份排除列表防止哪天同步配置的时候把密钥传出去。配置完成后先跑一个最简单的小测试直接在Agent对话框输入“生成一个三秒的测试手绘视频内容是一棵树”。这个测试的目的不是看效果而是验证整条链路里每一个环节是否真的通了。如果这一条能顺畅跑完说明环境和大盘配置基本没问题可以进入工作流设计。3.2 把Agent工作流搭成流水线进入WorkBuddy的工作流画布后我的核心编排思路可以分成五个节点块。第一个节点是“文案接收与清洗”。我把原始选题文字和参考素材丢给它让Agent输出一段结构清晰的解说词同时要求它控制字数在700字左右并生成标题和三个可选的封面副标题。这个节点的输出不只是给观众看的文案还要给后面的分镜节点喂数据所以我要求它用结构化字段返回而不是一段散文。第二个节点是“分镜解构”。输入上一步的解说词输出一个镜头列表。我在工作流里加了规则约束要求每个镜头包含“序号、旁白原文、画面描述、镜头运动类型、预估时长”。这里最考验提示词设计我调试了很多版本最终效果稳定的写法是给Agent看一个完整的分镜示例让它按照示例的格式来组织输出而不是给一堆抽象规则。第三个节点是“绘画批次处理”。这个节点拿到分镜列表后会并行发起多个绘画请求最多并发数我通常设在4到6。每个镜头生成两张候选图然后通过一个简单的图像质量评分小程序挑选更清晰、更接近风格描述的那一张保存。加候选机制是因为免费额度下模型偶发性翻车太常见了一张不行自动用另一张能大幅减少人工介入。第四个节点是“语音合成”。它读取每一句旁白逐个调用TTS接口生成音频文件。这里按镜头分别生成音频而不是整段合成是刻意为之一旦某个镜头的语音有问题只需要重跑那个镜头而不是整条视频从头再来。同时每个音频文件的时间长度会被记录下来传给视频合成节点作为该镜头的停留时长依据。第五个节点是“视频合成与字幕封装”。把图片、音频、时长信息汇总给FFmpeg执行滤镜链生成最终视频。字幕我是在这个阶段一起烧录进去的省去后期再压一遍字幕的时间。如果你用的是开源技能模块这个节点通常已经写好默认模板你要做的只是确认字体文件路径是否存在防止字幕字体缺失导致合成失败。整条工作流串好之后我会先在画布上手动运行一次输入“讲一个关于光合作用的科普短视频”盯一遍每个节点的日志输出。手工跑通两次之后再切换成批量模式。3.3 批量生产模式怎么跑批量生产是零成本方案真正的放大器。WorkBuddy里批量任务支持两种触发方式一种是定时触发比如每天早上八点自动处理前一天的选题列表另一种是表格导入我整理一个CSV每一行是“选题名称、参考描述、目标受众、风格偏好”选中这个文件后让它逐行执行。我会先在表格里放三行测试选题前几行跑通再去处理真正的批量列表。批量执行的时候有几个参数值得研究一下。并发数不要拉太高。我一开始贪快把并发调到10结果一半的绘画请求被限流语音合成也开始随机报错整批任务里出现了大量重试反而更慢。后来我按单个任务的API调用频率反推把并发稳定在4左右跑起来就很平稳了。重试策略也要留好。免费API不可能每时每刻都稳定工作流里要给所有远程调用节点配一个重试参数我通常设置为最多重试3次、每次间隔指数退避。关键技巧是必须要求重试时保持请求幂等——同一个镜头生成多次结果要覆盖到同一个目录而不是新建目录否则一次重试会留下一堆废弃图片既占空间又干扰后续合成。执行过程中不要完全做甩手掌柜我建议每处理完五个任务就暂停一次抽检看输出视频的分辨率是否正常、字幕是否对得上、画风有没有突变。这么做听起来麻烦但总比一口气生成五十条废片要好。我在跑第二批任务时就是因为抽检及时发现某次绘画接口更新后对“line weight”的处理变了画面线条变得飘忽不定马上调整全局风格词才没让整批输出报废。4. 常见问题与排查技巧实录4.1 画风漂移不同镜头像不同人画的手绘视频最怕的事就是前一个镜头还是干净利落的黑色线稿下一个镜头线条突然密密麻麻观众一眼就出戏。画风漂移的根源通常有两个一个是提示词里风格词弱、内容描述抢了主导另一个是绘画接口本身在并发请求下会出现随机性不同镜头请求之间共享受力不足。我的解决思路是三层固定。第一层把全局风格词做得非常厚颜色、线条、留白、阴影、纹理全部写死并且放在提示词的最前面。第二层在开源技能模块里找到“风格参考图”的功能位先手工生成一张满意的基准图后续所有镜头都带这张图作为风格参考效果比纯文字描述稳定得多。第三层后处理统一规整所有生成的图片在进合成前用脚本批量做一次标准化比如统一把背景处理成纯白、统一调整对比度这能掩盖一部分风格微差。4.2 语音和画面错位越改越乱的循环我一开始想省事整段语音合成一个文件再按镜头时长估算来切换画面结果总是出现画面都切了声音还在讲上一句的情况特别影响观感。后来改成逐镜头合成语音并对每个镜头的停留时间做了精确控制镜头的画面停留时间严格等于该镜头语音文件的时长加上0.3到0.5秒的缓冲。语法上WorkBuddy工作流里有一个“读取音频时长”节点把它接在语音合成之后、视频合成之前就解决了。这里还有一个容易踩的坑不要用“单镜头语音时长”去决定“整个镜头的前后两个缓冲各多少”。我的公式是画面总停留时长 语音时长 入画缓冲0.2秒 出画缓冲0.3秒。入画出画分别放在镜头起始和结束而不是一次性加到末尾否则视频整体会显得拖沓。这项微调在几十条批量任务里是纯收益体验差别肉眼可见。4.3 免费接口的限流和误杀零成本方案最大的变数就是接口限流。明明早上还能跑得好好的到了下午批量任务里一大半请求报429或者“rate limit exceeded”。排查时我发现限流不只是并发高导致的有时是短时间内的请求总量触发了策略有时是特定时间段服务高峰导致的。我的应对有三个层面。第一个层面是把请求分散批量任务不要挤在一起发可以配置每个任务间隔几秒再启动牺牲一点整体速度来换稳定性。第二个层面是给关键节点加“指数退避重试”比如第一次失败等2秒、第二次等4秒、第三次等8秒超过三次就标记为失败并跳过等整批跑完后单独补跑失败项。第三个层面是做一个简单的“令牌桶”在WorkBuddy之外用一个本地计数器控制每分钟的放行数量这一招对某些接口特别管用因为有些免费额度不是按并发限制而是按每分钟请求次数限制。4.4 字幕字体和中文乱码批量合成时字幕乱码是个很常见的问题尤其当你用的是某些开源技能默认模板时。它一般不是生成逻辑的锅而是系统的字体环境里缺少合适的中文字体文件FFmpeg用drawtext渲染时找不到中文字形就直接显示成方块。排查思路很简单先确认系统里装了中文字体比如Windows自带微软雅黑、思源黑体等然后把字体文件路径明确写到工作流配置里。这里注意不要只填一个文件名最好填写字体的绝对路径尤其在Linux服务器上部署时字体文件名和实际路径都不好猜写错一个字幕就没了。另一个经验是字幕文件本身的编码建议统一保存为UTF-8并在定义工作流时明确字符集否则从CSV里读出的中文到字幕阶段会变成乱码或问号这个坑我在换用表格批量导入时踩到过。5. 这套方法的延伸价值与合规提醒5.1 内容矩阵一个选题能变出多少条视频这套Agent方案跑通后内容生产的复用性非常高。我在实测中发现同一个选题只要把工作流里的“输出格式”改成不同的模板就能衍生出完全不一样的内容一个模板输出横屏解说视频另一个模板输出竖屏短视频再一个模板输出只保留字幕和背景音乐的静音版。画面素材是同一批但每条视频的角度、时长、呈现方式都不同适合分发到不同平台。更进一步的玩法是“系列化”。把几十个科普知识做成同一套风格、同一套叙事节奏的系列内容观众看到第五集时已经默认了这个画风账号的辨识度自然就出来了。这套流程里唯一要重新输入的只是每期的选题文案其余全部复用边际成本趋近于零。这也是我为什么愿意花时间把工作流调到稳定——它不是做一期视频的效率工具而是做一个频道级产能基础设施。5.2 版权和平台规范要提前留个心眼零成本不等于零风险有几个条款值得提前看清楚。图片生成部分多数免费API的服务条款都允许生成后商用但建议翻看具体条款中关于“模型输出内容的权利归属”的表述不同服务差异很大。语音合成部分尽量选择明确允许商用的音色有些免费TTS来自真人声音录制条款里会写“仅限个人非商业用途”直接商用可能惹麻烦。字幕和配乐也一样字体要选开源授权的背景音乐要用CC0或平台自带曲库这些都是老生常谈但批量生产的模式下一条侵权内容被连带揪出来整批账号都可能受影响。还有一点容易被忽视平台对“AI生成内容”的标注要求越来越严格。我的做法是所有用这套流程生成的视频在发布时都明确打上AI生成标识一方面合规另一方面也在评论区大大方方分享制作过程“用AI做了一整个频道”这个角度本身就是一条很好的内容素材观众反馈意外地好。6. 最后想说的几句实在话我在跑通这套方案后回头复盘过最大的收获。其实不是省了多少外包费而是把“做视频”这件事从一门手艺变成了一套流程。之前做一条视频感觉像在完成一个不可复制的作品现在做一条视频更像在一条生产线上按下一个按钮每一批选题进来出来的都是规格一致的成品质量也许谈不上惊艳但它稳定、可预期、可持续。如果再让我从头搭一次我会先把每个节点的“失败预案”想清楚再跑量而不是等批量任务崩了再救火。另外一个小技巧是第一批量产内容不要急着当正式发布内容我会拿它们做小范围的观看测试看看哪类选题数据好再把这个反馈喂回Agent的选题节点让批量生产踩在测试过的方向上跑。这套东西的边界也很清楚它擅长批量生产知识科普、解说、故事类视频不擅长需要复杂运镜和剧情冲突的短剧。把它用在对的地方它能成为内容创作的极佳放大器用错了地方它就只能给你一堆规格统一但没人看的废片。希望这篇记录能帮你少走点弯路把产能真正用到刀刃上。