> ## Documentation Index
> Fetch the complete documentation index at: https://comfytv.org/llms.txt
> Use this file to discover all available pages before exploring further.

# 故事板编辑器 (Storyboard Editor)

> 一个镜头板工作台——用完整的 Layer Editor 引擎绘制并标注每一格、设定时长、在镜头间开洋葱皮、播放动画稿、并导出为视频/GIF/PDF/ZIP/PSD。

<Frame caption="故事板编辑器 (Storyboard Editor)（ComfyTV）">
  <img src="https://mintcdn.com/comfytv/dMkMxJDZdIo4YzAU/images/nodes/storyboard-editor.png?fit=max&auto=format&n=dMkMxJDZdIo4YzAU&q=85&s=0948e2ef513aa41c49e9ba674a836ffb" alt="故事板编辑器 (Storyboard Editor)" width="1360" height="860" data-path="images/nodes/storyboard-editor.png" />
</Frame>

## 这个节点是做什么的

**Storyboard Editor** 是一个功能丰富的浏览器内编辑器，用于搭建故事板：一组有序的镜头**板 (board)**，每一板都是可绘制的画板，带自己的图层加剧情元数据（对白、动作、景别、提示词、时长）。它为每一板复用整套 Layer Editor 引擎，因此每一格都能用同样的画笔、形状、文字、蒙版和变换——再加上板管理、时间线、洋葱皮、播放和一排导出器。

所有绘制和预览都在浏览器里实时完成（编辑**不占用 GPU、无 ▶ 运行**）。编辑器会把一张封面合成图和一份逐板批次捕获为 ComfyTV 快照，并能渲染动画稿视频。它归在 `ComfyTV/Input`，是一个创作起点。输出是 ComfyTV 快照，而非原生张量——要接原生 ComfyUI 节点需插入 **Bridge**（[Bridge 文档](https://github.com/jtydhr88/ComfyTV/blob/main/docs/bridges.md)）。

## 适用场景

* 在生成任何镜头素材之前，逐镜头地把一段序列打好草稿。
* 把 Fountain/剧本文本或一批参考图，变成一组有时长的镜头板。
* 用可播放的动画稿预览节奏，配逐镜头的对白字幕。
* 把一套镜头板交付为 PDF、动图 GIF、PNG 的 ZIP 包、或分层 PSD。

## 编辑器

布局与 Layer Editor 一致——顶部工具栏、左侧工具条、画布、右侧面板——底部再加一条故事板时间线。

**绘制工具。** 与 Layer Editor 相同的左侧工具条和逐工具上下文工具栏（选择、变换、矩形/椭圆/套索、魔棒、画笔、橡皮擦、油漆桶、形状、扭曲、文字；撤销/重做；导入/导出 PSD；适配视图）。每一板都完全像一个 Layer Editor 文档那样编辑。

**故事板工具栏附加项（右上）。** 可叠加到画布上的构图辅助线——**中心十字**、**三分法**、**8×8 网格**——以及对该板的**水平翻转 / 垂直翻转**。然后是洋葱皮开关——**洋葱前一板**（前一板的着色残影）和**洋葱后一板**——一个**字幕**开关、一个**循环**开关、以及动画稿的**播放 / 停止**按钮。最后是全屏切换。

**右侧面板——Board 与 Layers 选项卡。** 在图层栈（与 Layer Editor 完全相同）和 **Board** 面板之间切换。Board 面板编辑当前镜头的元数据：一个 **新镜头 (New shot)** 标记、逐板**时长**（秒，带一个建议时长按钮），以及文本字段 **场景目的、对白、动作、备注、角色、景别、图像提示词、运动提示词**。它还带一个**参考图**槽，可上传、加到画布、或清除。

**播放覆盖层。** 播放会用每一板依次填满画布，遵循逐板时长和循环开关，并（开启字幕时）显示该板的对白，加一个镜头标签和位置计数。

**时间线（底部）。** 显示板数和总时长、一个**默认时长**字段，以及导入/导出一排：**从上游故事板导入**、**从上游图片导入**、**导入图片**（文件）、**导入脚本**（Fountain），和导出器——**动画稿**（视频）、**GIF**、**PDF**、**PNG**（板的 ZIP 包）、**PSD**（画板或动画）。

## 工作流程 / 分步

1. 添加 Storyboard Editor 节点（默认板尺寸 1280×720）。
2. 填充镜头板——从上游 `storyboard` 或 `images` 输入导入、导入 Fountain 脚本、拖入图片文件、或从空白开始逐个添加。
3. 在每一板上用 Layer Editor 工具绘制并标注，用 Board 选项卡填写对白/动作/提示词并设定该镜头时长；用 **新镜头** 标记镜头边界。
4. 借助辅助线、翻转、以及对相邻板的洋葱皮来精修构图。
5. 按**播放**审看动画稿；按需开启字幕和循环。
6. 编辑器会捕获一张封面合成图（**image**）和逐板各一张合成图（**images**）。导出**动画稿**以填充 **video** 输出，或下载 PDF/GIF/ZIP/PSD。
7. 把输出接到下游——例如把逐板图片送去图像/视频生成。

## 输入与输出

| 端口                    | 类型                   | 含义                |
| --------------------- | -------------------- | ----------------- |
| **storyboard**（输入，可选） | `COMFYTV_STORYBOARD` | 用于导入镜头板的上游结构化镜头列表 |
| **images**（输入，可选）     | `COMFYTV_IMAGES`     | 用于播种镜头板的上游图片批次    |
| **image**（输出）         | `COMFYTV_IMAGE`      | 封面板合成图            |
| **images**（输出）        | `COMFYTV_IMAGES`     | 逐板各一张合成图          |
| **video**（输出）         | `COMFYTV_VIDEO`      | 最近一次导出的动画稿（导出后才有） |

镜头板文档（`board_state`）、画板 `width`/`height`、捕获 URL 和动画稿 URL 都存在节点内部，不是需要连线的插槽。

## 使用技巧

* **Board** 与 **Layers** 选项卡共用同一块画布——Board 用于镜头的剧情数据和参考图；Layers 用于绘制栈，与 Layer Editor 完全一样。
* 洋葱皮把前一板染暖、后一板染冷，方便你跨切点对齐动作；两个方向可各自独立开关。
* 逐板**时长**会覆盖时间线的**默认时长**；≈ 建议按钮会填入一个由该板内容推导出的时长。
* **video** 输出只在你运行一次动画稿导出后才出现；PDF/GIF/ZIP/PSD 是下载文件，不是图输出。
* **导入脚本**把 Fountain 文本解析成场景；**从上游导入**把图里已有的结构化故事板或图片批次拉进来。

## 相关节点

* **Layer Editor（图层编辑器）** — 每一板复用其引擎的单图编辑器。
* **Storyboard Stage** — 产出可在此处导入的 `COMFYTV_STORYBOARD` 结构化镜头列表。
* **Image / Video Stage** — 逐板图片的天然下游消费者。
