story-to-handdrawn-video
中文故事转手绘风格竖屏动画,20种可切换视觉风格
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
中文故事转手绘风格竖屏动画,20种可切换视觉风格
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:深夜,孩子躺在床上睡不着,你拿出手机输入一段中文故事——"小狐狸第一次离开家,走进了森林……"——几分钟后,屏幕上出现了一支笔,一笔一笔画出小狐狸的轮廓,然后慢慢为它涂上低饱和的彩色,旁白字幕用手写字体浮现,整段视频是温暖的彩铅日记风格。
这正是 story-to-handdrawn-video 所做的事。
这不是一个普通的视频生成工具。它是一套专为 AI Agent 设计的工作流 Skill,能将中文故事文案或一组有序手绘图片,自动转换为 3:4 竖屏手绘风格动画。最吸引人的视觉特点是那层渐进揭示动画:画面从左到右依次展开文字 → 黑白线稿 → 彩色插画,整个过程像有人在纸上一笔一笔地画出来。
手绘风格视频在市场上并不新鲜,YouTube 和抖音上早有大量白板讲解动画。但这类内容通常依赖 After Effects、Keynote 或者专门的 SaaS 工具(如 Doodly、Toonly),需要用户手动编排分镜、上传素材、调整时间线。
story-to-handdrawn-video 的出现解决了一个根本问题:让这个过程完全由 AI Agent 驱动。用户只需要给 Agent 一段文字(或几张图片),剩下的——拆分故事为分镜、AI 生成符合风格的插画、编排逐层揭示动画、渲染 MP4——全部由 Agent 自动完成。
作者 gnipbao 在 README 中明确表达了设计哲学:"不是把一张漂亮图配文字朗读,而是把每句故事拆成文字→黑白画稿→彩色插画的三层结构,让画笔从左到右一笔一笔生长出来。"
本项目基于 Remotion 构建。Remotion 是一个用 React 代码写视频的框架——每帧都是可编程的 React 组件,开发者可以用 Hooks、State、Easing 函数等 React 生态的所有工具来控制视频逻辑。
从代码结构看,项目核心由以下模块组成:
PictureSilent(文字故事模式)和 UploadedPictureSilent(图片上传模式)。项目使用 storyboard.json 作为分镜描述文件,结构清晰:
Storyboard
├── project(全局配置:分辨率 3:4、FPS、风格ID、转场方式)
└── scenes[]
├── id, duration_sec(时长)
├── text(字幕文案)
├── layers[](显示哪些层:text / bw_full / detail / color)
├── color_hint / detail_hint(AI 生图提示词)
└── assets(图片资源路径)
分镜规划既可以由 Agent AI 自动生成(调用 OpenAI 图片生成 API),也可以手动编写 JSON 文件指定每帧内容。这种灵活性让它既适合"一句话生成"的极简场景,也支持"精确控制每帧"的制作场景。
项目内置了一套完整的风格系统,定义在 references/handdrawn-style-library.json 中,包含 20 种风格,分为几个视觉家族:
故事涂鸦家族涵盖默认的彩铅日记漫画——白底配笨拙黑色毡尖笔轮廓、低饱和彩铅乱涂、大量留白与朴素手写感,适合家庭故事和情感叙事;以及儿童蜡笔坏画——故意不成形的歪扭线条、颜色涂出边界,像五岁孩子真的画坏了,天真却不商业。
教育讲解家族包括极简黑白线条讲解(米白纸细黑单线、火柴人、极少道具,信息读取速度最快,适合科普和流程说明)和白板讲解动画(模拟白板上逐笔划线的效果,适合擦写式教学动画)。
东方美学家族收录水墨写意风格——宣纸、浓淡干湿、飞白枯笔、大片留白,以朱红点睛;以及情绪叙事淡彩速写,用靛蓝松散速写线配合大留白与极淡水彩。
绘本与出版家族还包括中古动画水粉概念稿(1950 年代动画气质,奶油纸底配水粉大形)、北欧低饱和水粉绘本(丹宁蓝与芥末黄、干刷水粉、小点眼人物的极简北欧风)、暖光童画绘本(现代动画前期概念画,柔软水粉配暖边光)、墨线淡彩绘本(自信松散墨线定形、透亮淡彩)等多种绘本风格。
独立美学家族还有 Zine 孔版拼贴的 DIY 小志美学(手撕纸边、复印颗粒、孔版双色套印偏移)、有机轮廓品牌涂鸦(自由单线轮廓配流动有机形)以及粗粝木刻社论插画(粗黑刻线、刀痕留白、有限套色与高对比剪影)。
每种风格都有对应的 prompt 提示词(color_hint)和避忌说明(avoid),确保 AI 生成的图片在视觉上保持一致。
项目最特别的地方在于它不只是一个渲染器,更是一套可分发的 AI Agent Skill。skill-package/ 目录包含完整的 SKILL.md,定义了 Agent 的使用规范:
用户只需要用自然语言对 Agent 说"用彩铅日记风格把这段故事生成动画",Agent 就能自主完成从分镜规划到 MP4 输出的完整流程。
git clone https://github.com/gnipbao/story-to-handdrawn-video
cd story-to-handdrawn-video
npm install
# 可选:设置 OpenAI API Key 用于 AI 生图
python3 scripts/run_story_video.py --input story.txt --title "纸上的夏天"
核心依赖只有 @remotion/cli、react 和 remotion,都是 npm 包。运行模式支持 --mode plan(仅生成分镜 JSON)、--mode preview(生成 720×960 预览)、--mode full(生成正式版)。
经过分析,这个项目最适合以下场景:
儿童内容创作是其最天然的用武之地——睡前故事、古诗词可视化、成语故事,都可以用温暖的手绘风格呈现。孩子和家长可以自己提供故事内容,AI Agent 自动生成动画,大大降低了动画内容的创作门槛。
教学课件制作同样适用,20 种风格中的白板讲解和极简线条讲解特别适合知识类视频,老师只需输入讲稿,Agent 自动生成分镜和插画。
家庭记录与情感表达场景下,用户可以上传自己手绘的图片(孩子的画作、家庭旅行速写),Agent 将其编排成带翻书效果的动画,用于家庭纪念视频。
需要坦诚地说,这个项目存在几个现实的局限:
对 AI 生图 API 的依赖是首要问题。项目的"故事到视频"流程中,插画生成依赖外部图片生成服务(默认 Codex Image2 或 OpenAI DALL-E),生成质量高度依赖模型能力,不同模型的风格一致性也不稳定。纯本地运行目前还做不到。
渲染效率方面,Remotion 是 CPU 密集型渲染,单个 30 秒视频在普通笔记本上可能需要数分钟到十余分钟,批量生产时硬件要求不低。
部署复杂度较高——没有 Web UI、没有 Docker 支持、没有任何云部署指南。用户需要熟悉 Node.js 环境、Remotion CLI 和 AI API 配置,对非技术用户门槛明显。
内容质量控制也是隐患。AI 生成的手绘图片在人物一致性、场景连续性方面存在天然挑战。项目设计了"角色锁定"(character_lock)机制来缓解,但实际效果仍有待大规模验证。
尽管有局限,story-to-handdrawn-video 在以下方面具有前瞻意义:
AI Agent 原生工具设计:它不是把 AI 作为辅助工具,而是将整个工作流封装为 Agent Skill,真正实现了"人类说需求,AI 完成制作"的全链路自动化。这个设计思路对 AI Native 应用的开发有重要参考价值。
手绘美学的数字化探索:通过 20 种风格库的精细定义,项目探索了如何将传统手绘美学(彩铅、蜡笔、水墨、水粉)参数化。风格描述的 JSON 结构(color_hint、avoid、summary)本质上是一种视觉 prompt 工程,值得更深入研究。
内容创作民主化:它让不具备动画制作技能的人也能创作手绘风格视频。如果与语音合成工具结合,可以真正实现"一句话生成完整故事动画"的体验。
GitHub 数据显示该项目有 1,728 Stars 和 244 Forks(截至 2026-08-31),在创意工具类项目中属于相当活跃的表现。作者在 2026-08-31 还有更新维护(latest commit 距今很近),社区反馈积极。
如果你对 AI Agent 工作流、视频自动化、或手绘美学数字化感兴趣,story-to-handdrawn-video 是一个值得研究的学习样本——它的代码结构清晰、Skill 封装规范,既可以从工程角度学习 Remotion 视频开发,也可以从产品角度理解 AI Agent 原生工具的设计哲学。