WorkflowUIPlugin
This plugin adds features in order to enable full functionality of WorkflowUI Application to which turns your workflows into apps and provides structures for organizing your generations.
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
WorkflowUIPluginfolder into your ComfyUIcustom_nodesdirectory: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_.pngsubfolder(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 ignorepreviewand return the original.
List & tree
- List — Flat list of files with
filename,size,mtime(newest first). - Tree — One level:
folders(subfolder names) andfiles(withfilename,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(). subfolderandfilenameare validated to prevent directory traversal (.., path separators in filename).
Compatibility
- ComfyUI — Uses
folder_paths.get_directory_by_type()andPromptServer.instance.routes. - WorkflowUI — Works with the existing backend that calls
POST /deletewith the same JSON shape; no backend change required when the plugin is installed.
License
See repository license.