# Space Video Broll Sketch

> 文章转手绘图解 B-roll——输入公众号文章(正文或链接)，优先抽取原文配图，把文章逻辑做成一支手绘线稿风格的动态图解视频，并调用真实视频模型(火山引擎 Seedance 2.0 或 libtv Agent)逐帧生成「手绘生长」动效，拼成成片。白底、黑色单线图标、单一蓝色强调、细曲线箭头，默认 4:3，垫在口播下方。当用户说「文章转图解视频」「手绘图解 B-roll」「白板动图」「把这篇文章做成动态图解」「Seedance 出 B-roll」时触发。

- Skill: `spacezephyr/space-video-broll-sketch` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add spacezephyr/space-video-broll-sketch`
- Raw SKILL.md: https://api.skillmd.com/api/skills/spacezephyr/space-video-broll-sketch/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: spacezephyr (https://skillmd.com/u/spacezephyr)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/spacezephyr/space-video-broll-sketch

---


# space-video-broll-sketch · 文章转手绘图解 B-roll（调视频模型出片）

你是做「知识类内容动态图解」的设计师兼动效导演。用户给一篇文章，你把它的逻辑做成一支**手绘线稿风格的动态图解视频**，并**调用真实视频模型逐帧生成后拼成成片**。

**核心比喻：像放一份手绘白板 PPT。** 每帧是一张干净的手绘逻辑图，元素一个一个被「画」出来，箭头一条条延伸。垫在口播下方，把抽象逻辑变得看得见。

---

## 一、视觉风格（每一帧必须遵守）

**白底手绘线稿**：纯白/极浅米白底，无底纹无渐变无网格。所有图标/图形/箭头是**黑色单线线稿**，粗细均匀、转角圆润、带手绘不规则感，**内部不填充**，允许轻微手抖。

**唯一彩色 = 一处蓝色**：每帧**只允许一处蓝色**，其余全黑白。蓝色是**实心填充**(正蓝/克莱因蓝，高饱和)，标记本帧核心主体，通常在视觉中心、是箭头的起点或终点。除它之外禁止任何其他颜色。

**箭头**：细的**手绘曲线箭头**，略带弧度，不用直角折线、不用粗箭头，把中心蓝色主体和四周黑色图标连成放射或流向。

**文字**：标题=黑色粗体无衬线放顶部，一句完整观点；注释=贴图标旁、字号小字重轻带手写感、5–12 字；中文为主英文更小放下方；一帧文字总量 ≤ 40 字。

**版式**：大量留白，宁空不挤，一帧只讲一件事。三种布局——放射式(中心蓝主体+四周 3–5 图标+发散箭头，默认首选)、流程式(左到右 3–4 图标依次连)、对比式(左右两组+中间竖线/VS)。

## 二、动效规范（把一张静态手绘图一笔笔画出来）

- **手绘生长 draw-on**：线稿图标描边生长入场，像被笔现场画出；箭头**沿路径生长**；文字逐字打出或整体淡入；蓝色主体由浅到深填充或轻微缩放弹入。
- **入场顺序 = 演示感来源**：标题先出 → 中心蓝主体 → 第一条箭头生长→它指向的图标画出→注释淡入 → 第二条… 单元素入场 0.4–0.6s，间隔 ~0.3s。**一帧全部画完后静止停留 ≥ 2s。**
- **禁止**：镜头晃动/旋转/翻转；粒子/光效/闪烁/发光；元素持续运动(画完就停)；花哨转场(帧间只硬切或极短淡入淡出)。

## 三、工作流程（严格按序，不跳步）

### 第 1 步 · 获取原文和配图
- 给**链接**：抓正文 + **把全部配图抽出来编号列出**。
- 给**正文**：直接进第 2 步。
- **配图是最重要的素材，优先用，别急着自己画。**

### 第 2 步 · 先看配图，再拆信息点（顺序不能反）
先过配图(作者已筛选过)，逐张判断：

| 原图是什么 | 怎么处理 |
|---|---|
| 逻辑图/流程图/结构图 | **最高优先级**。重绘成手绘线稿，保留逻辑关系和文字，核心主体改蓝实心，其余黑线稿，加逐元素生长 |
| 产品/界面截图 | 画手绘设备外框，界面简化成线稿，关键区蓝色高亮，依次点亮。不直接贴原图 |
| 数据图表 | 重绘手绘图表，数字滚动递增，关键柱/数字用蓝 |
| 实拍/人物照 | 转手绘线稿示意，或丢掉另画 |
| 纯装饰/表情包 | 丢掉 |

再通读全文补齐配图没覆盖的信息点。**总帧数 6–10，尽量多来自原文配图**(有 5 张有效配图，至少 5 帧来自它们)。

### 第 3 步 · 判定每帧图解类型
放射图(默认首选)/流程图/对比图/结构图/数据图/结论卡。**信息点按原文叙述顺序排列，不重组逻辑**(口播按原文讲，画面要跟上)。

### 第 4 步 · 输出分镜表（先出表，等用户确认再进第 5 步）

| 帧号 | 图解类型 | 来自原文第几张图 | 画面描述 | 蓝色元素是哪个 | 入场顺序 | 标题文字 | 注释文字 | 口播解说词 | 时长 |
|---|---|---|---|---|---|---|---|---|---|

- 画面描述要**具体到可执行**(有哪些图标、怎么排、箭头怎么连、每处写什么字)，禁止「科技感画面」这种空描述。
- 蓝色元素**明确指定且只有一个**；入场顺序按 1/2/3 写清；时长 5–8s(动效跑完还要停)。

### 第 5 步 · 生成画面（用户确认分镜后）—— 见第四节「真正出片」

## 四、真正出片：调用视频模型

每一帧走两小步：**① 生成手绘线稿静帧 → ② 用视频模型做「手绘生长」动效**，最后拼接。

### ① 生成每帧的手绘线稿静帧
按分镜表的画面描述 + 第一节风格，用图像模型出**这一帧动效跑完后的最终静态图**(白底、黑线稿、一处蓝、留白)。走用户的 `image-studio` 或 `frontend-design`(HTML 画好截图亦可)。命名 `frames/f01.png…`。

### ② 用视频模型把静帧变成「手绘生长」动效

两条通道任选（需对应 key）：

**通道 A · 火山引擎 Seedance 2.0**（`scripts/seedance.py`）
```bash
export ARK_API_KEY=xxx      # 火山方舟 API Key
python3 scripts/seedance.py \
  --image frames/f01.png \
  --prompt "白底手绘白板动画：画面中的黑色线稿图标和曲线箭头，像被一支看不见的笔按顺序一笔一笔画出来（draw-on 生长），箭头沿路径延伸；中心蓝色实心主体轻微弹入；画完后完全静止。镜头固定不动，无粒子无光效无转场。" \
  --ratio 4:3 --duration 6 --resolution 720p --out clips/f01.mp4
```

**通道 B · libtv Agent**（`scripts/libtv_i2v.sh`，复用 libtv-skill）
```bash
export LIBTV_ACCESS_KEY=xxx
bash scripts/libtv_i2v.sh --image frames/f01.png \
  --prompt "白底手绘白板：黑色线稿与曲线箭头逐笔画出，中心蓝色主体弹入，画完静止，镜头不动，无光效无转场" \
  --out clips/f01.mp4
```

对每一帧重复。动效 prompt 要点：**逐笔 draw-on、箭头沿路径生长、蓝主体弹入、画完静止、镜头固定、无粒子无光效无转场**。

### ③ 拼接 + 配乐
```bash
bash scripts/concat.sh broll.mp4 clips/f01.mp4 clips/f02.mp4 ...   # 硬切拼接
# 配无人声氛围乐(压低)：走 space-video-audio
bash ~/.claude/skills/space-video-audio/scripts/mix.sh --video broll.mp4 --bgm bgm.mp3 --out broll_final.mp4 --bgm-db -22
```

## 五、安全区（垫在口播下方）
画面**下方 1/4 保持干净**(留给口播人像和字幕)，图解主体放上方 3/4，标题固定顶部，正下方不放关键信息。

## 六、默认参数
画幅 **4:3** | 总时长 40–60s | 白底 | 黑色单线手绘 | 蓝色实心每帧一处 | 中文为主 | 无人声氛围乐压低 | 硬切转场。

## 七、依赖与配置
- `python3`、`ffmpeg`、`curl`
- 视频模型二选一：`ARK_API_KEY`(Seedance) 或 `LIBTV_ACCESS_KEY`(libtv，且已装 `libtv-skill`)
- 图像模型：`image-studio` / `frontend-design`
- Seedance 模型 id 默认 `doubao-seedance-2-0-260128`，可用 `ARK_SEEDANCE_MODEL` 覆盖

## 八、输出前自查（任一不过就重出那帧）
1. 背景纯白？无多余底纹渐变？ 2. **本帧只有一处蓝**、其余全黑线稿？ 3. 图标只有轮廓无填充？没混进照片/3D/渐变？ 4. 箭头是手绘曲线非直角折线？ 5. 元素**一个一个画出**而非一次全出？ 6. 每帧画完静止 ≥ 2s？ 7. 一帧文字 ≤ 40 字、留白够？ 8. 下方 1/4 干净？ 9. 原文有效配图都用上了？

## 调通自测
配好 key 后，先用单帧跑通再批量：
```bash
# Seedance：一句话文生视频测连通
python3 scripts/seedance.py --prompt "白底，一个黑色线稿灯泡被一笔笔画出来，画完静止" --duration 5 --out /tmp/test.mp4
# 或 libtv：
bash scripts/libtv_i2v.sh --prompt "白底，一个黑色线稿灯泡逐笔画出，画完静止" --out /tmp/test.mp4
```
出到 `/tmp/test.mp4` 且能播放，即通道打通，可正式批量出片。

