handdraw-story-video:手绘插图秒变短视频,AI Agent 直接出片

痛点切入

你画了一组手绘故事插图,想做成短视频发到抖音、小红书或视频号。

传统做法是什么?打开剪映或 Premiere,把图片一张张导入,手动设置每张的时长,加转场,配音乐,调整字幕位置。8 张图至少折腾半小时,还做不出那种”线稿一笔笔画出来,然后慢慢上色”的效果。

如果你想让 AI 帮你做,更难。大多数视频工具不接受 prompt,你没法让 agent 自动完成这个流程。

handdraw-story-video 解决的就是这个问题:把”手绘插图 → 短视频”这条路径自动化。你只管提供 7-9 张彩色母图,剩下的事——提取线稿、设置动画、生成页面、渲染 MP4——全部由 agent 完成。

技能能做什么,不能做什么

handdraw-story-video 是一个可以安装到 Claude Code、Codex 等编程助手的技能。它不是”上传图片就出视频”的魔法工具,而是一个让 agent 知道怎么把手绘插图组装成短视频的技能包。

技能提供的能力:

  • 线稿提取:从彩色母图自动生成完全对齐的黑白线稿
  • 动画生成:用 GSAP 实现从左到右的线稿显现 + 逐步上色效果
  • 故事配置校验:自动检查时长、重复素材、字幕行数与字号范围
  • HyperFrames 页面生成:输出可渲染的 HTML 页面
  • 渲染出片:一条命令生成 720×960 竖屏 MP4,30fps,35-45 秒

技能不提供的东西:

  • 不生成图片:手绘插图需要你自己画或用 AI 生成
  • 不生成音乐:背景音乐需要你自己准备
  • 不生成字幕内容:字幕文本需要你写在配置里
  • 不处理复杂动画:只做线稿显现 + 上色,不做其他特效

一句话总结:你提供手绘母图,agent 写代码组装,HyperFrames 渲染出 MP4。

完整使用流程

1. 安装技能

首先克隆仓库并设置环境:

git clone https://github.com/xiejunjie524/handdraw-story-video.git
cd handdraw-story-video
python -m venv .venv
source .venv/bin/activate  # macOS/Linux
pip install -r requirements.txt
npm install gsap

2. 准备手绘母图

每一幕只需要一张彩色母图。建议尺寸 1K(1024×1024 或更高),竖屏比例最佳。

把图片放到 assets/images/ 目录下,命名格式 scene-01-color.pngscene-02-color.png 等。

3. 提取线稿

用脚本从彩色母图提取线稿:

python scripts/make_lineart.py assets/images/scene-01-color.png assets/images/scene-01-line.png

这条命令会生成与彩色图完全对齐的黑白线稿。每一幕都需要执行一次。

4. 编写故事配置

复制模板并填写你的故事:

cp templates/story-template.json story.json

最小场景结构:

{
  "id": "scene-1",
  "duration": 5,
  "caption_lines": ["凌晨四点,", "他总会经过那家早餐店。"],
  "line_image": "assets/images/scene-01-line.png",
  "color_image": "assets/images/scene-01-color.png",
  "crop": {"scale": 1, "x": 0, "y": 0}
}

5. 生成并渲染

# 生成 HyperFrames 页面
python scripts/build_story.py story.json hyperframes/index.html --check-assets

# 检查配置
npx hyperframes check hyperframes/index.html --json

# 渲染 MP4
npx hyperframes render hyperframes/index.html --output renders/story-v1.mp4 --workers 1

不要覆盖旧成片,每次使用新的输出文件名。

核心功能解析

线稿提取算法

make_lineart.py 使用 OpenCV 进行边缘检测,从彩色图中提取线稿。关键是它保证线稿与彩色图”完全对齐”——这是后续动画能正确叠加的基础。

提取逻辑大致是:

# 简化示意
gray = cv2.cvtColor(color_image, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray, 50, 150)
lineart = 255 - edges  # 白底黑线

实际实现会处理更多细节:抗锯齿、线条粗细控制、填充区域处理。

动画设计

每幕的动画分两步:

  1. 线稿显现:从左到右,黑白线稿逐渐出现,模拟”正在画”的效果
  2. 逐步上色:线稿完全出现后,从左到右填入低饱和色彩

动画使用 GSAP 的 clipPathmask 实现,方向统一从左向右。这种设计让 8 幕视频有统一的视觉节奏,不会显得杂乱。

故事配置校验

build_story.py 会自动检查:

  • 总时长是否在 35-45 秒范围内
  • 是否有重复的图片素材
  • 字幕行数是否超过 3 行
  • 字号是否在合理范围内
  • 每幕时长是否合理(通常 5 秒左右)

这避免了”做了半小时视频,最后发现字幕溢出”的尴尬。

使用场景

短视频内容创作

最直接的场景:把绘本、漫画、故事插图做成短视频。适合抖音、小红书、视频号等竖屏平台。

儿童故事

手绘风格天然适合儿童内容。家长可以把自己画的故事做成视频给孩子看,或者幼教老师可以批量制作教学素材。

品牌故事

品牌可以用手绘插图讲述品牌故事、产品起源、用户案例。比纯文字更有温度,比实拍更轻量。

教育内容

知识类博主可以用手绘 + 上色的方式讲解概念、流程、历史事件。动画节奏适合配合讲解。

注意事项

画风一致性

每幕必须是不同构图,不能靠裁切或缩放凑时长。主体通常位于画面下方 45%–55%,保留大面积纸白留白。单帧最多 2–3 人、两个关键背景锚点,避免人群、密集建筑和大块黑线。

如果你用 AI 生图,需要确保所有图片风格一致。建议使用固定的画风提示词(项目 docs/prompts.md 有参考)。

字幕限制

字幕最多 3 行,每行不超过约 18 个中文字符。超出范围会导致渲染问题。

音乐选择

音乐按故事选择,不把某一首 BGM 固定进模板。你需要自己准备已获授权的音乐文件。

输出规格

默认输出 720×960、30fps、35-45 秒。这是为竖屏平台优化的规格。如果需要横屏或其他分辨率,需要手动调整配置。

结论

handdraw-story-video 不是一个通用视频工具,它解决的是一个具体问题:把手绘插图快速变成有节奏感的短视频。

如果你经常需要把手绘内容做成视频,或者想让 agent 自动完成”图片 → 视频”的流程,这个技能值得试。它不解决所有视频制作问题,但把手绘故事视频这一件事做到了可用。

仓库:https://github.com/xiejunjie524/handdraw-story-video 使用方法:https://github.com/xiejunjie524/handdraw-story-video/blob/main/docs/usage.md

相关文章

manim_skill:一个能让 AI 助手正确写 Manim 动画的 Agent Skill

解决痛点 让 ChatGPT 或 Claude 帮你写一段 Manim 动画代码,你大概率会拿到这样的东西: 有时候 import 从 manim 开始,有时候从 manimlib ...

edulab: 把数学题变成交互式 3D 课堂

一个学生盯着立体几何题发呆。"求直线 PQ 与平面 ABC 的夹角。" 课本上只有一张静态图。线叠在一起,角看不清楚。你没法旋转它,没法放大看交点,甚至无法直觉判断那个 120° 的答案在空间里到底对 ...

如何把真实世界的能力封装为 Agent Skill

通用 AI Agent 能力很强,但缺少每支团队都有的东西:程序性知识。你的代码审核清单、部署手册、API 规范——这些都不在模型的训练数据里。 这就是 Agent Skill 要解 ...

gimi-illustration-skill:文章配图不求人,AI Agent 自动出怪诞手绘风

痛点切入 写文章最头疼的环节之一:配图。 你花了两小时写完一篇 3000 字的深度内容,排版也调好了,但文章发出去就是"光秃秃"的。你知道配图能提升阅读量,但打开 Canva 或 Midjo ...

跟 Claude 说一声,图就画好了:/drawio 在 Claude Code 里直接出图

跟 Claude 说一声,图就画好了:/drawio 在 Claude Code 里直接出图

你在跟 Claude Code 描述系统架构。它回复了一堆 ASCII art,差不多能看,但总觉得差点意思。你心想:"要是能直接让它画张图就好了。" 可以。 draw.io 的 Claude C ...

HyperFrames:写 HTML 就能出视频,专为 AI Agent 设计

做视频很慢。 传统视频工具是时间轴驱动的:拖素材、调关键帧、渲染、导出、修改、再渲染。你没法自动化这个流程,更没法让 AI 帮你做——因为 Premiere 不接受 prompt。 如果你想让代码 ...