无尘阁日记

无尘阁日记

做短视频的逐帧插画,全网到底有哪些能用的技能?
silcano

我把全网能查到的逐帧插画技能翻了一遍,能真正扛住「每一帧」的只有两条路线:三套用代码逐帧渲染的,和一大票用提示词生成图片的。

先把结论摆前面。如果你要做的是「一条短视频,从头到尾每一帧都是插画」,那么生成图片的那条路会持续跟你作对——它每一帧都在重新抽卡,脸会变、墙会歪、颜色会飘。真正稳的是另一条:把画面写成代码,每一帧是时间 t 的一个函数,同一条片子渲染一百遍,像素完全一样。

这不是审美之争,是工程结构决定的。下面把两条路线的东西一个个摆出来,都是今天(2026-11-01)能查到的实际项目,附星数和许可。

一、先立标准:短视频的「每一帧」要过五道关

网上「插画技能」几百个,大部分是给文章配一张图的。短视频是另一回事,它要过五道关:

第一关,帧间一致。这是生死线。一帧好看没用,相邻两百帧得是同一个人、同一间屋、同一种光。风格漂移在静态图里叫「有变化」,在视频里叫「穿帮」。

第二关,竖屏。9:16 不是裁一刀就完事,构图逻辑、字幕安全区、主体位置全得重排。

第三关,批量。一条 60 秒的片子,30fps 是一千八百帧,就算抽关键帧也是几十张起步。

第四关,可回改。第 6.2 秒字幕压住图表了,能不能只改那一处,而不是整条重来。

第五关,成本。生成模型按张算钱,一千八百帧就是一千八百次调用;代码渲染写一次,之后每遍都免费。

五关里第一关和第五关,直接把两条路线分开了。

· · ·

二、路线 A:用代码画每一帧(三套)

这条路的共同结构是:画面用 HTML / SVG / Canvas 画,用无头 Chrome 按帧截图,声音用代码合成,最后 ffmpeg 编码成 MP4。核心是那个纯函数——给它一个时间 t,它画出那一瞬间的画面,不随机、不看系统时钟。同一份代码,谁渲染都一样。

BB-Video:30 种视觉语法,最像「电视台」

103 星,MIT,JavaScript。它的风格不叫「画风」,叫「视觉语法」——每种风格不只换配色,还换材质、字体、镜头运动、转场方式和声音气质。

30 种我列一下:白板、孔版印刷、水墨、发布会动效、折纸、波普、欧普、马蒂斯剪纸、字符画、皮影戏、包豪斯、像素、聊天记录、玩具三维、老新闻片、录像分析、悬疑探秘、等距微缩世界、电影预告片、剪报解说、日漫、地图动画、瑞士风动态排版、暗调励志、蓝图工程图、纸艺拼贴、扁平颗粒插画、手绘绘本吉祥物、贝叶挂毯、3D 火柴人寓言。

它分两类片:讲解片(有旁白字幕垫乐)和宣传片(按节拍走,没旁白)。横屏竖屏都支持。真正让我服气的是它的检查机制:lint 查文字重叠、出画、字幕遮挡、没读完就消失;静态总览逐句检查旁白结束时的画面;连续帧检查专门看转场和运动。它把「画面好不好」拆成了能跑脚本的规则。

huashu-art-motion:36 种实做画风,最像「艺术史」

5869 星,MIT,是目前这条路里最热的一个。它的野心不一样:把人类四万年的视觉风格写成代码配方。从洞穴壁画、古埃及、希腊、哥特、文艺复兴,到印象派、后印象派(梵高)、新艺术、立体主义、包豪斯、波普、8-bit、光线追踪,再到水墨、克里姆特、蒙克、敦煌壁画、草间弥生、达利、霍珀、吉卜力、蒸汽波、莫奈、修拉、马蒂斯、伦勃朗、皮影、新海诚、毕加索蓝色时期、南方公园、皮克斯。

精确点说:36 种既有实做 + 17 种研究配方。它自己给每种风格标了星级——三星是「一眼认得、可直接用」,两星是「认得出但有明显短板」,一星是「要重做」。这份诚实很难得,大部分项目只会给你看最好的那几张。

它还有 9 种解说语法和 8 种参数化片段,专门给口播补画面:喂一份 JSON 规格,出一段精确到帧的片段,横屏竖屏透明底都行。已经剪到一半的视频缺哪几秒,就只做那几秒。

最狠的是两台质检脚本。qa.py 量画面稳定性、渲染成本、动感、流畅度、文字框景;film_gate.py 是「反 PPT 门禁」——整片几乎没有镜头内运动,直接红灯,不出片。它甚至建议你找个没参与制作的 Agent 单独审片。

anidoodle:31 种画风,最像「出版社」

1204 星,Apache-2.0,TypeScript。它的口号是「确定性」:纯函数加种子随机,任何人拿着源码,在任何机器上,重建出完全一样的作品。

31 种画风按「笔迹」命名:圆珠笔、破色、黑板、炭笔擦除、彩铅、蜡笔、剪纸拼贴、蓝晒蓝图、刺绣、扁平矢量、童话绘本、水墨线洗、等距、低多边形、马克笔漫画、中世纪水粉、新闻纸网点、油画、纸艺、铅笔水彩、像素、孔版、橡皮管动画、刮板、单线雕刻、点画、绘本、墨绘、积木、复古剪贴簿、木刻。

每种画风都带一支「作画过程」的片子——水彩是先铅笔再一层层铺色,木刻是先印主版再逐色套印。这个细节说明它真的在还原介质,而不是套滤镜。

它直接给了一组很有说服力的数字:一支 47 秒的片子是 1410 帧,全部由一个程序渲染,含完整立体声音乐;折算下来第一遍每帧约 60 个 token 的代码,之后每一遍都是零。

· · ·

三、路线 B:用提示词生成图片

这条路你更熟:写提示词,模型出图。它的优势是画风上限高——写实质感、复杂光影、真人肖像,代码画不出来,模型随手就来。短板是每一帧都要重新抽卡。

沐阳插画:25 种固定配方,最「反自由发挥」

216 星,MIT。9 个技能目录:1 个总入口加 8 个风格子技能,覆盖 25 种风格,分八大类——极简编辑、撞色时装、柔焦梦幻、纯白高定、暗黑时尚、东方诗意、复古印刷、电影叙事。

它的设计逻辑只有一条:不让模型自由发挥。25 套提示词配方写死在每个子技能的 references/recipes.md 里,你给的主体只替换占位符,模型没有扩写和混合的空间。中间不给你看提示词,直接出图。支持指定 9:16 画幅。

需要说明:仓库里各风格的示意图不在 MIT 授权范围内,商用前得看清。

小黑插画:16:9 正文配图,最「克制」

13012 星,MIT,是这批里星最多的。定位很明确:给中文文章配 16:9 横版图,风格是纯白手绘、少量红橙蓝批注、一个黑色实心的「小黑」IP 认真做一件荒诞但成立的事。

它跟短视频的关系是间接的:适合做口播视频里的插入图、封面、章节卡,不适合撑起整条片子的每一帧。而且它是横版,竖屏要重排。

youtubeshorts 分镜技能:专门啃 9:16 的一致性

这个项目 0 星,Python,没写许可证——冷门,但思路值得抄。它只管一件事:为 YouTube Shorts 批量生成 5 到 20 张 9:16 竖屏场景图,并且保证角色和世界不漂移。

它的三板斧很实在:

角色 DNA。每个场景都用同一段五段式描述:姓名年龄性别 + 发型发色 + 面部特征 + 具体服装和颜色。禁止用「她」「那个女人」这种代词。

世界与光线锚。所有场景前面拼同一句环境声明:场景 + 主光源和色温 + 阴影风格 + 氛围。

参考图链式传递。生成第一张之后,后面每一张都把第一张作为视觉条件传回去,锁住脸型、衣服颜色、环境色调。

这三招是所有「生成派」做一致性的标准答案。但要说清楚:它压得住漂移,压不死漂移。传到第十张、第二十张,衰减是必然的。

本机那六套:其中三套能吃短视频的活

我自己机器上这六套,按这个标准筛,能进短视频流程的是三套:

327 手绘(21 个编号画风)——它只产提示词不生图,好处是配方被锁死、不许手工改写,3.1、19、20 三个画风还要求走完三次纠错加独立验收报告才能标 final。要批量做同一画风的系列帧,它是最靠谱的发令枪。

橙线插画——一线一橙一白,人物必须画得极小。它自带角色复用方案:先出四个候选人物让人挑,挑完把那段 20 到 40 词的描述逐字复用。这套「复制粘贴式一致性」比让模型记住角色靠谱得多。

纸感微编辑海报——留白 70% 到 90%,主色只占 0.8% 到 2.5%,带七变量变体引擎。它适合做片头、章节卡、封面,不适合做连续帧。

剩下三套(照片重生、照片遗物、照片抽象)是照片二次创作,起手就得有照片,做不了纯插画的连续帧。

· · ·

四、两条路线硬碰硬

维度 代码渲染派 提示词生成派
帧间一致性数学保证,像素级相同靠锚定压制,会衰减
画风上限受限于能否写成代码写实、复杂光影、真人
文字与数字真文字,绝不糊长文本必崩
改一帧改一行,只重渲那一段重抽,结果不一定更好
成本结构代码一次,渲染免费每帧都计费
上手门槛要装 uv、FFmpeg、浏览器内核会写字就行
适合知识科普、数据、流程、产品演示情绪向、人物向、写实向

看这张表,选择就很清楚了:要精确,走代码;要质感,走生成。两条路不是替代关系,是同一条片子里可以并存的两种镜头。

五、按你的活儿对号入座

做知识科普、数据、流程、产品讲解。直接上代码派。BB-Video 的白板、蓝图、瑞士风排版、等距微缩世界都是为这个生的;要艺术味儿就走 huashu 的水墨、皮影、贝叶挂毯。这类片子的命门是「字不能糊、数不能错」,代码派天生免疫。

做情绪向、故事向、有人物的竖屏短片。走生成派,但必须上锚定三件套:角色 DNA、环境锚、参考图链。然后用 327 手绘或沐阳的固定配方把画风锁死。别指望一句「保持画风一致」能管住二十张图。

做几十秒单观点短片。看 BB-Video 的 3D 火柴人寓言和暗调励志那两个风格,一个 15 到 45 秒讲一个观点,竖屏优先,几乎是为短视频定制的。

只想要插入图,不要连续帧。本机橙线、小黑插画、纸感海报随便挑,这类活儿生成派完胜,别折腾代码。

六、最后说个判断

翻完这一圈,我最大的感受不是「工具真多」,而是行业把「好不好看」拆成了可测量的指标。huashu 的 qa.py 会告诉你运动占比 3.03%、静止帧对 56%、跳变 2 次;BB-Video 的 film_gate 会因为「整片几乎没有镜头内运动」直接拒片。这些数字听着笨,但它们比「我觉得还行」可靠得多。

至于「每一帧」这件事本身,我的判断很直接:生成模型做的是「抽卡」,代码做的是「印刷」。抽卡能出神作,但你没法要求一副牌每张都一样;印刷没有惊喜,但一千八百张出来张张一致。

短视频要的是后者。所以真要动手做整条片子的插画,先去装那三套代码渲染的,把生成模型留着做封面和情绪镜头——各自干各自擅长的活。