
Whiteboard Subtitle Animation
Turns SRT subtitles into hand-drawn whiteboard animation videos with a preview step.
Install
npx skills add geeklee/srt-whiteboard-animation --skill srt-whiteboard-animation -g -a claude-code -y- Repository
- geeklee/srt-whiteboard-animation5.3k
- Category
- Media
- Updated
- 3mo ago
- License
- MIT
- Context cost
- Mediumabout 1,708 tokens
- Runs scripts
- No, instructions only
What it does
将 SRT 字幕做成暖米黄纸张底的白板手绘动画:读字幕→输出配图策略→确认后生成统一风格线稿→按叙事语义标注分区→预览台调整→渲染 MP4。编排沿用分区遮罩揭示(annotation.json / sequence / startMs / protectedRegions),但每个区域内的落墨换成 stream 的连续笔迹(骨架/网格 ink→color)。当用户提供 SRT 字幕并要求"字幕做成白板手绘/流式笔迹视频""SRT 生成白板动画""按字幕分镜画手绘"时触发。
SRT 白板动画(mask 编排 + stream 画法)
把 SRT 字幕转成白板手绘动画:编排沿用分区遮罩揭示(按叙事顺序逐区域揭示、未开始区域完全隐藏、重叠用 protectedRegions 保护);画法换成流式笔迹, , 每个区域在自己的允许掩码内,笔尖沿骨架/网格连续滑行落墨(起笔 ink → 添彩 color),所有区域共享一张持久画布,已画完的区域保留在画布上。所有面向用户的说明、分镜、配置和界面文字必须使用中文。
与逐格跳变或矩形擦除不同:本 skill 的笔迹是连贯流动的;与整图 stream 不同:本 skill 按字幕叙事分区依次作画,可控制每个元素的出场顺序与时序。
默认实现参数
| 项目 | 默认要求 |
|---|---|
| 纸张背景 | 生成图使用暖米黄旧纸色(建议 #F5EBD7);渲染时从原图距四角内缩取样染底,禁止纯白。 |
| 画法 | 每区域 stream 连续笔迹:起笔 ink(铺线稿)→ 添彩 color(还原原色);权重 ink:color = 2:1。 |
| 笔迹路径 | --ink-path grid(网格,默认,稳)或 skeleton(骨架追踪,线稿清晰的插画更贴合)。 |
| 上色风格 | --color-fill contour-wipe(轮廓扫描,默认)或 brush(沿轨迹刷)。 |
| 未绘制区域 | 区域的允许掩码 = 矩形 region 扣除「后续区域 + protectedRegions」;未开始区域完全隐藏。 |
| 时长来源 | 每张图的 sceneDurationMs 来自该幕字幕的时间跨度(建议 25, 35 秒/幕)。 |
| 编辑框 | 预览台默认显示全部编号编辑框;编辑框不属于动画画面内容。 |
统一出图视觉规范(强制)
所有场景的源图必须遵循同一套视觉语言;生成前把以下要求完整写入出图提示词,生成后逐条检查:
- 风格与构图: 极简手绘插图、纯素描草图风格、类似 Notion 的克制涂鸦美学。以概念表达为主,不追求写实;构图简洁、背景干净、大量留白,整体情感平和、清晰,系列内线条/人物/配色一致。
- 颜色与材质: 米色纸张背景
#F5EBD7、深灰色草图线条;仅可用红色、橙色、蓝色 作少量概念性点缀。不得使用其他强调色、高饱和度配色或复杂纹理。 - 人物与对象: 对象以简洁轮廓、少量线条和留白表达,强调关系/变化/核心概念,而非真实比例、材质与细节。
- 绝对禁止: 场景源图中的任何文字、词语、字母、数字、字体或标签;写实感、摄影细节、3D 效果、绘画质感;复杂场景、密集背景、繁复装饰和高饱和度画面。
- 绘制手部例外: 若用户明确说明笔杆上的文字是其标识并要求保留,可保留
drawing-hand.png笔杆上的标识;它不属于场景源图文字,也不需要清除或重绘。未获得用户明确说明时,仍按无文字画面处理。
确认关卡(强制)
默认工作流的每一步完成后都必须停止并等待用户明确确认,才可开始下一步。确认前不得生成下一步的图片、标注、预览、视频或合并文件;不得把“未回复”“此前的笼统授权”“用户没有反对”视为确认。用户要求修改上一步时,只重做该步,并在完成后再次等待确认。
唯一的连带动作是:标注 JSON 创建完成后,必须立即自动打开预览台并载入该 JSON 所在目录;这属于第 3 步的交付,不需要为“打开预览台”另行等待确认。若浏览器的 File System Access API 要求用户手势,使用浏览器界面选择这个已确定的目录;不得因此向用户索要额外确认或改为让用户自行打开预览台。


