WorkflowUIPlugin

WorkflowUIPlugin
★ 1

媒体服务文件管理WorkflowUI集成运行元数据
为WorkflowUI提供后端接口,支持媒体查看与压缩预览、删除输出文件、文件列表浏览及能力/版本检测,助力将工作流转为结构化应用并组织生成内容。
💡 将ComfyUI工作流转为可管理的WorkflowUI应用,提供媒体与文件操作。
🍴 1 Forks💻 Python🔄 2026-03-25
📦
网盘下载
复制链接后前往夸克网盘下载
https://pan.quark.cn/s/1367205d7779
📄 README

WorkflowUI Plugin

A ComfyUI custom node that adds HTTP API endpoints for media (output/input/temp) so the WorkflowUI application can delete files on the ComfyUI server, browse media, and serve images with optional previews—without adding any graph nodes to the ComfyUI UI.

⚠️ This custom node is a plugin for: WorkflowUI


Features

  • Delete media — Remove output/input/temp files by filename and subfolder (used when deleting remote run images from WorkflowUI).
  • View media — Serve image, video, and audio files with caching; optional compressed image previews (WebP/JPEG or custom size).
  • List & browse — Flat file list or one-level folder tree (JSON metadata only, no binary data) for building file-manager UIs.
  • Capabilities & version info — Endpoints to detect the plugin and report installed custom node modules/versions for run metadata.

  • Installation

  • Copy the WorkflowUIPlugin folder into your ComfyUI custom_nodes directory:
  • “`

    ComfyUI/custom_nodes/WorkflowUIPlugin/

    ├── __init__.py

    ├── routes.py

    ├── version_info.py

    └── README.md

    “`

  • Restart ComfyUI. A startup banner confirms the plugin loaded.

  • API Reference

    | Method | Path | Description |

    |——–|——|————-|

    | POST | /delete | Delete a file by filename / subfolder / type. Same as namespaced path below. |

    | POST | /workflowui/media/delete | Delete a file (JSON body: filename, optional subfolder, type). |

    | GET | /workflowui/media/view | Serve file bytes (images, video, audio). Query: filename, subfolder, type; optional preview=webp \| jpeg \| 256 for image previews. |

    | GET | /workflowui/media/list | Flat list of files in a folder (JSON: filename, size, mtime). Query: type, subfolder. |

    | GET | /workflowui/media/tree | One-level tree: folders and files for browsing. Query: type, subfolder. |

    | GET | /workflowui/media/capabilities | Returns supported features (e.g. workflowui_plugin, delete, list, tree, view, view_preview). |

    | GET | /workflowui/version_info | Plugin version and list of installed custom node modules/versions for run metadata. |

    Delete (POST)

    Request body (JSON):

  • filename (required) — e.g. ComfyUI_00001_.png
  • subfolder (optional) — e.g. "" or "audio"
  • type (optional) — "output" (default), "input", or "temp"
  • Response: 200 with {"ok": true} on success; 400 / 404 / 500 with {"ok": false, "error": "..."} on failure.

    View & preview

  • View — Serves the file from disk with Cache-Control: public, max-age=3600.
  • Preview (images only) — Add &preview=webp, &preview=jpeg, or &preview=256 (or any size 64–2048) for a resized/compressed image. Non-image files ignore preview and return the original.
  • List & tree

  • List — Flat list of files with filename, size, mtime (newest first).
  • Tree — One level: folders (subfolder names) and files (with filename, size, mtime). Use for file-manager style browsing.

  • Security

  • Paths are restricted to ComfyUI’s output/input/temp roots via folder_paths.get_directory_by_type().
  • subfolder and filename are validated to prevent directory traversal (.., path separators in filename).

  • Compatibility

  • ComfyUI — Uses folder_paths.get_directory_by_type() and PromptServer.instance.routes.
  • WorkflowUI — Works with the existing backend that calls POST /delete with the same JSON shape; no backend change required when the plugin is installed.

  • License

    See repository license.