多层 Web 画布工具Comfy-Canvas发布 Beta 0.1.1:轻量画布,直连 ComfyUI

插件3个月前发布 小马良
134 0

如果你在用 ComfyUI 做图像生成,你可能经历过这些场景:

  • 想修改一张草图,却要先导出 PNG、再上传到工作流;
  • 调整提示词后重新运行,发现画布状态没保存;
  • 多层编辑、撤销操作只能靠外部工具完成;

现在,一个原生集成方案来了。

Comfy Canvas 是一个现代的多层 Web 画布工具,通过一个轻量级 Flask 服务桥接浏览器与 ComfyUI,实现实时绘图输入 + 图像结果回传。它以两个简单节点嵌入你的工作流,无需复杂配置即可启用交互式编辑体验。

当前版本为 Beta v0.1.1,已修复关键显示问题并增强数据健壮性,正式支持包括 Seedream 4.0 在内的主流模型输出。

多层 Web 画布工具Comfy-Canvas发布 Beta 0.1.1:轻量画布,直连 ComfyUI

新增功能(v0.1.1)

✅ 修复 ByteDance Seedream 4.0 输出异常问题
此前部分模型输出在前端显示为灰度或带扫描线。本次更新通过对张量标准化处理,并统一从输出节点发送标准 PNG 数据,确保色彩空间一致性。

✅ 增强数据校验机制
/push/output 接口现已拒绝格式错误的 base64 负载,防止过时或损坏帧污染画布,提升稳定性。

核心功能一览

🎨 多层绘图编辑器(基于 PIXI.js)

  • 支持画笔、橡皮擦、套索选择、自由变换
  • 图层混合模式、透明度调节
  • 本地图片上传、多步撤销/重做
  • 实时预览与流畅交互

🔁 双向实时通信

  • 输入:将画布图像 + 提示词 + 参数(强度、种子等)一键推送到 ComfyUI
  • 输出:生成结果自动流式返回,直接叠加显示在画布上

⚙️ 自动运行(Auto-run,可选)

即使 ComfyUI 页面处于后台,点击“生成”也能触发 /prompt 请求,无缝衔接生成流程。

🔗 深度 ComfyUI 集成

  • 支持通过 UI API 或直接调用 /prompt 自动排队
  • 兼容 client_id,支持多用户会话隔离
  • 可选 base64 编码传输,适配不同节点需求

节点说明

▶️ Comfy Canvas - Edit(输入节点)

输出五项数据:

  • IMAGE:当前绘制的画布图像(RGBA)
  • STRING:正向提示词
  • STRING:负面提示词
  • FLOAT:强度值(0~1,常用于去噪控制)
  • INT:随机种子(最大支持 15 位数字)

可连接至 VAE 编码器、CLIP 文本编码、采样器等标准模块。

多层 Web 画布工具Comfy-Canvas发布 Beta 0.1.1:轻量画布,直连 ComfyUI

◀️ Comfy Canvas - Output(输出节点)

接收最终生成图像(支持 IMAGE 张量或标准化 base64),自动推送至前端展示。

只需将你的输出图像连到这里,结果就会实时出现在网页画布中。

多层 Web 画布工具Comfy-Canvas发布 Beta 0.1.1:轻量画布,直连 ComfyUI

快速上手指南

步骤 1:启动 ComfyUI

正常运行你的 ComfyUI 实例(默认端口 8188)。

步骤 2:启动 Comfy Canvas 桥接器

打开终端,进入插件目录:

Windows (PowerShell):

cd <ComfyUI root>\comfyui\custom_nodes\comfy_canvas
python cc_bridge_server.py

服务默认运行在:http://127.0.0.1:8765
(端口可通过环境变量自定义)

📌 停止服务:终端按 Ctrl+C,或发送 POST 请求至 /shutdown

步骤 3:添加节点并连接工作流

在 ComfyUI 中添加:

  • Comfy Canvas - Edit
    • IMAGE → VAE Encoder 输入
    • prompt/negative → CLIPTextEncode 对应字段
    • strength → 去噪强度(如 KSampler)
    • seed → 采样器 seed 字段
  • Comfy Canvas - Output
    将最终生成图像连接至此节点。

步骤 4:打开前端开始创作

访问:http://127.0.0.1:8765

在左侧画布上绘画,填写提示词,点击“生成”——你的工作流将自动执行,结果实时返回。

💡 小技巧
Edit 节点右侧面板可查看桥接器状态,并一键跳转前端页面。

自定义配置(环境变量)

启动前可通过设置以下变量调整行为:

环境变量说明默认值
CC_BRIDGE_PORT桥接器端口8765
CC_BRIDGE_HOST绑定主机127.0.0.1
CC_FRONTEND_DIR前端资源路径内置
COMFY_URLComfyUI 地址http://127.0.0.1:8188
CC_AUTORUN是否启用自动运行1(开启)
CC_DUMP_OUTPUT是否保存输出 PNG 到磁盘false

⚠️ 遗留变量 LD_* 仍兼容,建议迁移到新命名规范。

HTTP 接口列表(桥接器)

方法路径功能
GET/status返回运行状态(含计数器、时间戳)
POST/push/input提交绘图+参数(multipart 或 JSON)
GET/get/input获取最新输入图像(PNG)
GET/get/prompt获取最后提交的提示词与参数
POST/push/output推送生成结果(file 或 base64)
GET/get/output获取最新输出图像
POST/store/trigger存储当前工作流用于自动运行
POST/trigger触发 ComfyUI 生成任务
POST/shutdown关闭桥接器(仅本地可用)

🔧 快速测试连通性:

curl http://127.0.0.1:8765/status

故障排查常见问题

❌ 节点显示“桥接器离线”?
→ 检查服务是否运行,/status 是否可访问。

❌ 前端打不开 / 图标缺失?
→ 确认 CC_FRONTEND_DIR 指向正确静态资源目录。

❌ 点击“生成”无反应?
→ 确保 Edit 节点已至少加载一次(用于存储 graph 数据);
→ 若更改了地址,在浏览器控制台执行:

localStorage.setItem('cc_bridge_origin', 'http://127.0.0.1:8765')
location.reload()

❌ 输出图像未显示?
→ 检查是否已将最终 IMAGE 连接到 Comfy Canvas - Output 节点;
→ 访问 /get/output 应返回 200 和有效 PNG。

❌ 桥接器无法启动?
→ 检查 8765 端口占用情况,或更换端口;
→ 安装依赖:pip install -r requirements.txt
→ 查看终端报错信息。

© 版权声明

相关文章

暂无评论

none
暂无评论...