Files
ketle-manandClaude Opus 5.5 f6ce112ade release: v0.9.6 — MiniMax-H3-Image, Settings Switches column
- GenerateUI/Metadata/I tab: MiniMax H3 Image (T2I and Edit) support
- GenerateUI Settings tab: Switches column for true/false and two-choice
  on/off inputs, toggled instantly
- Fix ImageCompare failing validation (compare_view missing)
- Manual v0.9.6 (ja/en) and EPUB edition on Google Drive

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 18:28:10 +09:00

20 KiB
Raw Permalink Blame History

README Index — ComfyUI-Workflow-Studio

Condensed index of README.md: intro summary, feature names per tab (full descriptions live in the excluded README.md), and the installation/usage/requirements/project-structure sections verbatim. Exists so graphify can extract this without feeding the full README (with its screenshot table) to the local Ollama model. Regenerate with python tools/generate_doc_index.py readme whenever README.md changes.

ComfyUI-Workflow-Studio

A comprehensive workflow, asset management, and generation UI plugin for ComfyUI.

📁 Management — organize all your assets in one studio

  • Workflow, model, image, and prompt management
  • AI-powered prompt writing assistance, translation, and tag generation
  • File drop & Gallery-linked metadata viewing — inspect and reuse generation settings instantly
  • Semantic image search in the Gallery — find images by describing them, or list images similar to a selected one

⚡ GenerateUI — a productivity-focused generation tab connected to every other tab

  • Batch generation across models, samplers, prompts, and workflows
  • Image Feeder for continuous folder-based generation
  • Lab: experimental I2I batch generation with independent per-iteration keyframes for Model (Checkpoint/LoRA Single/VAE)/Prompt/KSampler

📚 Workflow Studio Library — a multi-function side panel for smooth ComfyUI integration

  • Drag & drop models, nodes, prompts, and workflows straight onto the canvas
  • Send to Canvas: click "Send to Canvas" (Workflow tab) or "Copy & Send Canvas" (Gallery tab) to send the workflow directly to the ComfyUI canvas — UI and API formats both supported
  • View metadata from images / JSON, then drop the detected models and prompts onto the canvas
  • Built-in AI tools (translation and more)

Workflow Studio Version

Features (tab -> feature names)

Workflow Tab

Thumbnail / Table views, Thumbnail side panel, Badge filtering, Search, Side panel tabs, Badge management, AI summary, Import / Export, Side panel toolbar buttons, Default view setting, Search clear (✕), Clear all filters (✕ Clear), Sort, GenerateUI Check

Canvas Snapshot (v0.1.2)

One-click capture, Auto-save as thumbnail, Embedded workflow metadata, Auto-import

GenerateUI Tab (v0.3.5)

6-tab layout, Save button, Input tab, Multi-image I2I for Comic Creator, Model tab, Settings tab, Always-visible Raw JSON, Bypass/Mute node handling, One-click generation, Seed control, Style selector, Create Catalog / Catalog buttons, Batch type selector, Batch tab, UI-to-API conversion, Video workflow support, Eagle integration, Qwen Image 2.1 support, Ming Image support, P-H3 Image support, MiniMax-H3-Image support

Feeder subtab (v0.3.5 / v0.3.42)

ImageFeeder node control, Image library, Selection management, Presets, Continuous Run loop, Index sync, Seed, WFS_GalleryFeeder node, Node & group selector, Image grid, After Gen modes, Run / Stop controls

Lab subtab (v0.3.87 – v0.9.5)

Setting / Results / Plan JSON sub-panels, Per-column keyframes, Model column — Checkpoint / LoRA Single / VAE, Empty state when no matching node exists, Wildcards, Prompt cell extras, Keyframe #1 live-reflect, Bypass checkbox, LoRA node bypass & prompt injection, T2I workflow support, Use generated image for next, Workflow recall, Plan files, Plan Load, Plan JSON tab, Save index image to Output on Run, Index images are self-contained plan files, Eagle integration, Select vs. edit, and keyframe reordering, PG — apply a Prompt tab preset group, Video workflow support, Use generated image for next, now video-aware, Plans from a story

Prompt Tab

3-column layout, AI chat assistant, Image attachment, Translation, Prompt presets, Preset Manager, Group management, Clipboard copy, GenUI Set, Wildcard/Style tab bar, Wildcard input toolbar, Wildcard file manager, Style manager, Form / Table toggle, Table view — Presets / Presets Group / Wildcards / Style

Settings Tab

2-column layout, Collapsible sections, Theme selection, Theme customization, Workflows directory, Gallery output directory, Eagle connection, CivitAI Host, CivitAI API Key, Default workflow, Default Checkpoint, VRAM Management (Ollama), Video Playback Volume, Data Management, Text Size, RAW JSON Colors, GenerateUI Model Tab Highlight, Wildcard Integration, G'MIC-Qt Integration, Language

Output / ImagePrompt / Style_Catalog / Metadata sub-tabs, Image browser, Folder tree root label, Thumbnail / Table views, Folder management, File operations, Download, MP4 video support, MP4 embedded metadata, WebM support, Embedded metadata reading fixes, Audio support, File conversion, Move To folder filter, Semantic Search, Audio waveform colors, Info tab: dimensions & duration, Multi-select, Image Compare, Prompt search, Server-side filtering, Group management, Thumbnail F button, Favorites, Detail panel, Prompt tab, Nanobanana tab, Gemini / Nano Banana nodes, MOSS-Image in GenerateUI, Faster GenerateUI Check / conversion, Partner API nodes in GenerateUI, Workflow viewer, GenUI button, Image Edit button, Send GenUI Image button, Send to LI node button, Send to LV node button, Send CC Layout / Send CC Image buttons, Search clear (✕), Clear all filters (✕ Clear), Workflow auto-save, Output folder configurable, SVG file support, PSD file support, 3D model support, Performance

Visual prompt library, 3-column layout, Prompt builder (right pane), Plain-text prompt storage, ponyxlWildcardsVault format support, Seed data importer

Visual Style picker, 3-column layout, Positive/Negative panel, Select as Style button, Load in GenerateUI / Open in Metadata Tab buttons, Double-click to enlarge

Now inside Gallery, 3-column layout, File drop, MP4 embedded metadata, Settings section, Nanobanana section, Model extraction, LoRA extraction, Prompt extraction, Prompt actions, Format support, Format note

Nodes Tab (v0.1.7)

Node Browser, Search & Filter, Package badges, Node detail panel, Node Sets, Right-click context menu, Multi-select, Search clear (✕), Clear all filters (✕ Clear)

Models Tab (v0.2.3)

Model Browser, Thumbnail / Table views, Table column sort, Search & Filter, User-defined badges, Side panel tabs, CivitAI integration, CivitAI panel — Info / Sample sub-tabs, CivitAI panel states, Batch CivitAI fetch, Detail modal, GenUI Model button, Group management, Table view memo, Preview images, Enable / Disable models, Multi-select & bulk operations, Search clear (✕), Clear all filters (✕ Clear)

Tagger Tab (v0.3.38)

3 sub-tabs, Model support, Threshold sliders, VLM tagging, Single tab, Single output options, Batch tab, DB tab, Dependencies

TagSpace Tab (v0.9.0)

Choose tags visually in a 3D latent space, Build / Update, Choosing tags, Explore, Search with a card's or Gallery image's tags, Make a prompt, Tagger fill, Glow / Twinkle, Hover preview, Requirements

Image Edit Tab (v0.3.65)

Layer-based image editor, Loading images, Open PSD button, Close button, New button, Tools, Layer panel, Duplicate layer (⧉), Layer lock, Text quality, Export, Canvas navigation, Undo / Redo

Video Tab (v0.5.0 – v0.7.4)

Dedicated video generation UI, independent of GenerateUI, Plan subtab, Base settings row, Edit subtab, Edit: Multi-track, Edit: Audio / BGM, Edit: Text overlays, Edit: Crop, Edit: Convert audio, Edit: Undo / Redo, Edit project persistence, Asset subtab, Project subtab, Two center previews, Register as Asset, First Frame / Last Frame are both optional, Semantic node lookup, not hardcoded IDs, Field highlight color, Load in Video, Frame tab, GIF tab, Playback volume

AI TOOL Tab (v0.3.14 – v0.9.5)

4-pane layout, Translation pane, Chat pane, Chat pane — image generation via Tool Calling, Chat pane — generate_image extra parameters, TOOLS pane (VLM), TOOLS pane — shared Chat attachment, TOOLS pane (Wildcards), Chat pane — image-to-image (I2I), Chat pane — SVG generation, no ComfyUI workflow involved, Chat pane — Skills, Chat pane — Skills v2, Built-in skills, Chat pane — Image check & refine loop, Chat pane — Workflow Doctor, Chat pane — Storyboard to Lab, Chat pane — Agent Skills folders, TOOLS pane — OCR, Collapsible Translation / Settings panes, Settings pane, Unsloth backend, Decision API client, Settings pane — Chat Image Generation, Settings pane — Chat I2I Generation, Settings pane — Generation, Model unload, Settings shared, Backend support, URL security, Lemonade's other endpoints (not integrated)

Workflow Studio Library (ComfyUI Side Panel) (v0.3.9)

Tab layout (W / N / P / M / I / A), W — Workflows tab, N — Nodes tab, M — Models tab, P — Prompts tab, I — Information tab, A — AI TOOL tab, Drag & drop workflows, Drag & drop nodes, Drag & drop prompts, Send to Canvas, Copy prompts, Double-click, Search, ⚙ Theme settings

Help & Support Tab (v0.1.3)

Sidebar navigation, Support, Feature list, Keyboard Shortcuts

Installation

Search for Workflow Studio in ComfyUI Manager and install.

Manual Installation

cd ComfyUI/custom_nodes
git clone https://github.com/ketle-man/ComfyUI-Workflow-Studio.git

Restart ComfyUI after installation.


Sample Workflows

Sample workflows are included in the workflows/ folder. You can open them directly in ComfyUI via drag & drop, or load them from the Workflow tab.

Samples for the Feeder tab: ws_sdxl_image_feeder_i2i / ws_dwpose_image_feeder (Image Loop mode, require the comfyui-image-feeder custom node) and ws_sdxl_gallery_feeder_i2i (v0.8.3, SDXL I2I with the bundled WFS_GalleryFeeder node — no extra custom node needed; put images in the __Feeder__ Gallery group and use the Feeder tab's Gallery mode).

Note: Some sample workflows require additional custom nodes. If a node is shown as missing (red/unknown) after loading, install the required custom nodes via ComfyUI Manager or by cloning the repository from GitHub into your ComfyUI/custom_nodes/ directory.

cd ComfyUI/custom_nodes
git clone <repository-url>

After installation, restart ComfyUI to activate the new nodes.


Manual

A beginner-oriented manual (covers v0.9.6, text-only edition without screenshots) is available in docs/manual/:

  • English: docs/manual/en/ — ZIP: Workflow_Studio_Manual_v0.9.6_en.zip
  • 日本語: docs/manual/ — ZIP: Workflow_Studio_Manual_v0.9.6.zip

An EPUB edition with screenshots (Japanese and English, v0.9.6) is available on Google Drive.


Usage

Launch

Click the W button in the ComfyUI top menu bar, or navigate to:

http://127.0.0.1:8188/wfm

Tip: Shift+Click the W button to open in a new window.

Canvas Snapshot

Click the camera icon (next to the W button) in ComfyUI's top bar to capture the current workflow canvas as a thumbnail. The image is automatically saved to the workflow data folder and appears in Workflow Studio's workflow list.

Quick Start

  1. Workflow Tab — Your workflows from ComfyUI/user/default/workflows/ are automatically listed
  2. Click a workflow — View thumbnail, JSON details, and metadata in the side panel
  3. Load in GenerateUI — Click the button to load a workflow into the generation interface
  4. Adjust parameters — Modify prompts, models, seeds, and settings via the auto-generated UI
  5. Generate — Hit the Generate button to queue the prompt

Requirements

  • ComfyUI — any recent version (v1.33.9+ recommended for action bar integration)
  • Python 3.10+
  • Jinja2 — pip install jinja2 (usually included with ComfyUI)

Optional

  • Ollama — for AI chat assistant, translation, and VLM features
  • LM Studio — alternative backend for translation and VLM (OpenAI-compatible API)
  • Lemonade Server — alternative backend for translation, chat, and VLM (OpenAI-compatible API)
  • Unsloth — alternative backend for translation, chat, and VLM (OpenAI-compatible API); needs an API key set via UNSLOTH_API_KEY in a .env file, or Unsloth's Keyless API access → "Chat and inference" turned on — pip install -r requirements.txt for python-dotenv
  • Gemini API key / EmbeddingGemma 2 (v0.8.2) — only for the Gallery's Semantic Search: either set GEMINI_API_KEY in the plugin's .env (key from Google AI Studio; free tier available, paid beyond it), or use the local EmbeddingGemma 2 in Ollama (no key; ollama pull embeddinggemma-2:740m or embeddinggemma-2:440m)
  • Eagle — for auto-saving generated images with metadata
  • comfyui-mask-editor-one (v0.1.9+) — enables BiRefNet background removal, SAM3 text-prompt segmentation, and ABR stamp-brush library in the Image Edit Mask tool; birefnet.safetensors must be placed in ComfyUI/models/background_removal/ for BiRefNet
  • psd-tools (v0.6.0) — enables all PSD (Photoshop) features: Gallery bulk "Create PSD" export, Gallery browsing/thumbnails for .psd files, and Image Edit's Save PSD / Open PSD buttons; pip install -r requirements.txt (ships prebuilt wheels, no C compiler required); without it, PSD-related actions show an error toast with the install command instead of failing silently

Backend connection security (v0.7.12)

Server-side proxies for Ollama, LM Studio, Lemonade, Unsloth, the Tagger VLM and Eagle only connect to localhost / 127.0.0.1 / ::1 (any port); http(s) only, no credentials in the URL, and redirects are never followed. To use a backend on another machine (e.g. an Ollama server on your LAN), list it in the WFS_ALLOWED_BACKEND_HOSTS environment variable (comma-separated host or host:port, e.g. 192.168.1.20:11434,gpu-box) and restart ComfyUI. If you start ComfyUI with --listen, anyone who can reach it can use these routes, so only do that on a trusted network.


Supported Languages

Language Status
English Full
Japanese Full
Chinese Full

Project Structure

ComfyUI-Workflow-Studio/
├── __init__.py                  # ComfyUI entry point
├── py/
│   ├── wfm.py                   # Main class & route registration
│   ├── config.py                # Path configuration
│   ├── nodes/
│   │   ├── prompt_text.py       # WFS_PromptText custom node (positive/negative prompt)
│   │   └── gallery_feeder_node.py  # WFS_GalleryFeeder custom node (gallery group → IMAGE)
│   ├── routes/
│   │   ├── workflow_routes.py   # Workflow CRUD & analysis API
│   │   ├── nodes_routes.py      # Nodes metadata & node sets API
│   │   ├── models_routes.py     # Model metadata, preview, CivitAI API
│   │   ├── prompts_routes.py    # Prompt presets CRUD API
│   │   ├── settings_routes.py   # Settings API
│   │   ├── ollama_routes.py     # Ollama proxy API
│   │   ├── eagle_routes.py      # Eagle integration API
│   │   ├── gallery_routes.py    # Gallery tab API (Output + ImagePrompt + Style_Catalog sub-tabs)
│   │   └── tagspace_routes.py   # TagSpace tab API (build / space / search / neighbors)
│   └── services/
│       ├── workflow_service.py  # Workflow file operations
│       ├── nodes_service.py     # Node metadata & node sets
│       ├── models_service.py    # Model metadata & preview images
│       ├── civitai_service.py   # CivitAI API integration & cache
│       ├── prompts_service.py   # Prompt presets persistence
│       ├── workflow_analyzer.py # Model/node detection
│       ├── settings_service.py  # Settings persistence
│       ├── png_extractor.py     # PNG metadata extraction
│       ├── gallery_service.py   # Gallery image scanning, .txt sidecar & ponyxlWildcardsVault prompt resolution
│       └── gallery_metadata.py  # Gallery per-image metadata store (favorites/tags/memo/groups)
├── templates/
│   └── index.html               # SPA template (Workflow/GenerateUI/Prompt/Metadata/Gallery/Nodes/Models/Settings/Help/AI)
├── static/
│   ├── favicon.svg              # Browser tab icon (W+S Wave)
│   ├── css/main.css             # Styles
│   └── js/
│       ├── app.js               # App initialization & routing
│       ├── workflow-tab.js      # Workflow browser
│       ├── generate-tab.js      # Generation UI
│       ├── feeder-tab.js        # Feeder subtab (Image Loop + Gallery modes)
│       ├── gallery-tab.js       # Gallery tab: Output sub-tab (image browser, groups, metadata) + sub-tab switching
│       ├── image-prompt-tab.js  # Gallery tab: ImagePrompt sub-tab (visual prompt builder)
│       ├── style-catalog-tab.js # Gallery tab: Style_Catalog sub-tab (visual Style picker)
│       ├── tagger-tab.js        # Tagger tab (WD Tagger, DeepDanbooru, Ollama VLM)
│       ├── prompt-tab.js        # AI assistant & presets
│       ├── metadata-tab.js      # Metadata extraction & display (PNG/WebP/JSON)
│       ├── settings-tab.js      # Settings panel
│       ├── comfyui-client.js    # ComfyUI WebSocket/API client
│       ├── nodes-tab.js          # Node browser & node sets
│       ├── models-tab.js         # Model browser & CivitAI integration
│       ├── ai-tab.js             # AI TOOL tab (Translation | Chat | TOOLS/VLM | Settings)
│       ├── comfyui-workflow.js  # UI-to-API format conversion
│       ├── comfyui-editor.js    # Dynamic parameter editor
│       ├── json-highlight.js    # JSON syntax highlighting
│       ├── util.js              # Shared utilities (escapeHtml, readJsonStorage, getSettings)
│       └── i18n.js              # Internationalization
├── web/comfyui/
│   ├── top_menu_extension.js    # ComfyUI menu bar integration
│   ├── node_sets_menu.js        # Workflow Studio Library side panel
│   └── gallery_feeder_extension.js  # WFS_GalleryFeeder canvas widgets (After Gen / Run / Stop)
├── tools/
│   └── import_style_prompt_seed.py  # Dev tool: pre-process a wildcards-vault source into ws_image_prompt (not run by the plugin itself)
└── data/                        # Fallback data dir (used when ComfyUI user/default/ is not found)

License

MIT License


Acknowledgements