Skip to main content
ComfyTV 每个 stage 的 workflow 下拉框,背后都是一个普通的 ComfyUI 工作流(GUI 格式)。接入自己的工作流有三条路——都不用改 Python 代码 Link Workflow 对话框 每个 stage 的 workflow 下拉框下面都有一个 🔗 Link workflow 按钮。点开是 ComfyUI 自己的工作流库(你在 ComfyUI 工作流面板里保存的那些),以可搜索的目录树呈现。在某个工作流旁点 Link,它立刻出现在下拉框里并被选中。 为什么推荐这条路:
  • 实时编辑。 stage 引用的是工作流文件本身,不是副本。在 ComfyUI 里打开工作流、正常编辑、保存——下次 Run 时 ComfyTV 自动读到最新版。不用重导出、不用重导入、不用重启。
  • 单一事实源。 工作流继续放在 ComfyUI 的库里、按你原来的习惯管理;ComfyTV 只是指过去。
  • 已链接的条目在对话框里带 Linked 徽章,也可以在那里 Unlink 解除(只删除条目和绑定,不动文件)。
文件必须是 GUI 格式工作流(普通的 Workflow → Save不是 “Save (API Format)”)。

⬆ Upload workflow

Link 按钮旁边的 ⬆ Upload workflow 从磁盘导入一个 .json。工作流被复制进 ComfyTV 的库并立刻出现在下拉框里——不用重启。适合别人发给你的文件;如果是你自己会持续迭代的工作流,优先用 Link。

把文件放进库目录

ComfyTV 的工作流库在 ComfyUI 的 user 目录下:
目录决定 kind。 把 JSON 拷进去,重启 ComfyUI(或在侧边栏触发 rescan),它就会出现在对应 stage 的下拉框里。自带工作流在启动时会播种到这个目录;随 ComfyTV 发布的条目带 builtin 徽章,你改过的文件永远不会被更新覆盖。 kind 全集:text, image, shot-images, video, audio, speech, storyboard, panorama, timeline, upscale, outpaint, inpaint, erase, image-edit, multiangle, cutout, multiview, sequence, audio-vocal, audio-bg, model, split-part, material-estimate, speech-to-text 每个自带 kind 的 JSON 旁都有一个 README.md,写明运行时输入和工作流通常需要的节点。先读对应 kind 的 README:

给 stage 输入接线

工作流进来之后(Link、Upload 或手动拷贝),通常还要告诉 ComfyTV:哪个节点收 stage 的提示词、哪个 LoadImage 吃上游图片、种子从哪来,等等。 用侧边栏:点画布上的 stage,在左侧 ComfyTV 侧边栏里逐项填。改动即时生效,不用重启。编辑器界面见 sidebar-config-editor.zh.md 要分享给别人:侧边栏底部有 ⇩ Export preset.json 按钮,把当前绑定打包成 <name>_preset.json。连同工作流 JSON 一起发出去;对方第一次加载时绑定自动生效。
通常不用手写 _preset.json——在侧边栏配置好再导出分享。想看原始 JSON 结构的话,参考自带示例:workflows/inpaint/flux-fill-inpaint_preset.jsonworkflows/video/local-ltx-2.3-t2v_preset.json

更新工作流

Linked 工作流:直接在 ComfyUI 里改、保存即可。ComfyTV 发现文件变了,下次 Run 自动重读——别的什么都不用做。 Upload / 手动拷贝的工作流:覆盖 user/comfytv/workflows/<kind>/ 下的 JSON。ComfyTV 检测到文件修改时间变化,下次使用时重读。 无论哪种方式,只要绑定引用的节点 ID 还在,绑定就继续有效。如果你重命名或删除了节点,runner 会报错:
inputs references missing workflow node "X" — did the API workflow get re-exported with different node ids?
打开侧边栏,把绑定改指到新 ID 即可。