Comfy Canvas 是一款ComfyUI 自定义节点,它将完整的分层图像编辑器直接嵌入到 ComfyUI 界面中。告别在 Photoshop、Krita 和浏览器标签页之间来回切换的繁琐工作流,Comfy Canvas 让你能够在同一个窗口内完成“绘画 -> 生成 -> 审查 -> 再编辑”的无缝闭环。
- GitHub:https://github.com/Zlata-Salyukova/Comfy-Canvas
从 v1.0 版本开始,Comfy Canvas 完全迁移为原生内部运行模式,不再依赖独立的 Flask 服务器或外部网页应用,实现了真正的零摩擦集成。

核心亮点
1. 原生分层编辑体验
- 内置编辑器:作为节点内的应用内覆盖层(Overlay)打开,无需离开 ComfyUI。
- 完整图层栈:支持非破坏性分层编辑,包括图层缩略图、重命名、复制、删除、不透明度调整、混合模式及拖拽排序。
- 专业绘图工具:提供画笔、橡皮擦、取色器、油漆桶、选框选择、移动/变换工具,甚至支持 Photoshop 风格的双击文本编辑。
2. 实时往返工作流 (Round-Trip Workflow)
- 即时反馈:通过
Comfy Canvas Output节点,将工作流生成的最新结果直接推回画布右侧面板。 - 快速迭代:你可以基于生成的图像继续绘画、添加遮罩或修改提示词,然后再次运行工作流,所有操作在同一会话中完成。
- 提示词持久化:底部停靠栏保存你的提示词历史,方便快速重试或微调。
3. 智能会话管理
- 自动保存:编辑内容自动保存到本地用户数据目录,关闭编辑器时强制最终保存。
- 状态恢复:重新打开节点时,自动恢复之前的图层堆栈、遮罩和提示词,确保工作不丢失。
- 独立会话:每个节点实例拥有唯一的
session_id,允你在同一工作流中并行处理多个不同的图像编辑任务。
4. 高级遮罩与合成
- 每图层遮罩:支持基于缩略图的遮罩编辑,透明或被删除的像素自动转换为导出遮罩。
- 灵活输出:节点输出最终的合成图像 (
IMAGE) 和对应的遮罩 (MASK),可直接连接到后续的 ControlNet、Inpainting 或其他处理节点。
快速开始
1. 安装
将仓库克隆或复制到 ComfyUI 的自定义节点目录:
cd ComfyUI/custom_nodes/
git clone https://github.com/comfy-canvas/comfy_canvas.git # 假设仓库地址
# 或者手动下载解压为 comfy_canvas 文件夹
重启 ComfyUI。
2. 基础连接
在您的工作流中添加以下两个节点并连接:
- Comfy Canvas (主编辑器节点)
- Comfy Canvas Output (预览回流节点)
连接方式:
Comfy Canvas.session_id➔Comfy Canvas Output.session_id您的最终生成图像 (IMAGE)➔Comfy Canvas Output.image- (可选)
初始图像 (IMAGE)➔Comfy Canvas.image(用于从现有图片开始编辑)
3. 开始编辑
- 点击 Comfy Canvas 节点上的 “Open Canvas” 按钮。
- 编辑器将在 ComfyUI 界面中以模态窗口形式打开。
- 在左侧画布进行绘画、添加图层或修改遮罩。
- 在底部输入提示词,点击运行工作流(或手动触发队列)。
- 生成的结果将出现在右侧面板。
- 点击右侧面板的 “Copy to Layer” 将结果作为新图层带回左侧画布,继续迭代。
节点参数参考
Comfy Canvas
| 输入 | 类型 | 描述 |
|---|---|---|
session_id | STRING | 会话唯一标识符(自动生成或手动指定) |
canvas_width | INT | 画布宽度 (默认 1024) |
canvas_height | INT | 画布高度 (默认 1024) |
background | STRING | 背景颜色 (transparent 或 white) |
image | IMAGE | 可选的初始输入图像 |
| 输出 | 类型 | 描述 |
|---|---|---|
image | IMAGE | 最终合成的图像 |
mask | MASK | 基于透明度的合成遮罩 |
session_id | STRING | 当前会话 ID |
prompt | STRING | 编辑器中最后使用的提示词 |
Comfy Canvas Output
| 输入 | 类型 | 描述 |
|---|---|---|
image | IMAGE | 工作流生成的最新图像 |
session_id | STRING | 必须与主节点的 session_id 一致 |
| 输出 | 类型 | 描述 |
|---|---|---|
image | IMAGE | 透传图像(主要用于触发预览更新) |
数据存储说明
会话数据存储在 ComfyUI 的用户数据目录下:user/__comfy_canvas/sessions/<session_id>/
包含文件:
document.json: 图层结构、位置、混合模式等元数据。layers/: 每个图层的 PNG 文件和对应的遮罩文件。edited.png: 当前编辑状态的扁平化预览。result.png: 最近一次工作流生成的结果。
© 版权声明
文章版权归作者所有,未经允许请勿转载。















