comfyEz README

The project's README from github.com/amirrezasalimi/comfyEz. As one markdown file: README.md.

ComfyEz

ComfyEz is a modern, feature-rich web interface designed to interact with a local ComfyUI instance.

It abstracts the complex node-based graph into a sleek, professional "Playground" UI (similar to commercial AI generators) while retaining the flexibility of ComfyUI through a powerful Workflow & Node Mapping system. It also integrates LLM capabilities for prompt engineering and complex inpainting tools.

ComfyEz

✨ Key Features

🎨 Core Generation

🧠 Workflow System

🤖 AI-Powered Prompting (LLM Integration)

Integrates with OpenAI-compatible APIs (OpenRouter, OpenAI, local LLMs) to supercharge creativity:

🖌️ Advanced Inpainting

A dedicated, fully-featured inpainting editor:

⚡ Smart Queue & History

💾 Persistence


🛠️ Technology Stack


🚀 Getting Started

Prerequisites

  1. ComfyUI: You must have ComfyUI running locally.
    • Default address: http://127.0.0.1:8188
    • CORS Note: You may need to run ComfyUI with --enable-cors-header * if accessing from a different origin.
  2. Bun: You'll need Bun installed.
    • macOS & Linux:
      curl -fsSL https://bun.com/install | bash
      
    • Windows:
      powershell -c "irm bun.sh/install.ps1|iex"
      

Installation

  1. Clone the repository:

    git clone https://github.com/amirrezasalimi/comfyEz.git
    cd comfyEz
    
  2. Install dependencies:

    bun install
    
  3. Start the development server:

    bun dev
    

⚙️ Configuration

connecting to ComfyUI

  1. Click the Settings (Gear) icon in the sidebar.
  2. Set Host URL to your ComfyUI instance (e.g., http://127.0.0.1:8188).

Setting up LLM Features

  1. In Settings, enable LLM Config.
  2. API Host: Defaults to https://openrouter.ai/api/v1 (or use https://api.openai.com/v1).
  3. API Key: Enter your key (stored locally in browser).
  4. Model: Click "Fetch List" to grab available models or type one manually (e.g., google/gemini-2.0-flash, gpt-4o).

🧩 How Workflow Mapping Works

This app allows you to use any ComfyUI workflow by "mapping" generic UI controls to specific Node IDs.

  1. Open the Workflow Editor (Fork icon in sidebar).
  2. Import a ComfyUI JSON file (Save as API Format from ComfyUI).
  3. The JSON Editor on the right shows the raw graph.
  4. The Mapping Column on the right allows you to select which node corresponds to:
    • Prompt Node: Where the positive text goes.
    • Model Node: Where the checkpoint is loaded.
    • Seed/Steps/CFG: Usually the KSampler node.
    • Preview Node: The final image output node.
  5. Save the preset. The UI will now control that specific workflow.

⌨️ Shortcuts & Tips

🤝 Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.


🙏 Thanks

Made In AI Studio with Gemini 3

📄 License

MIT

comfyEz (amirrezasalimi/comfyEz)

inpainting
Searching Database…

What is this?A web interface for a local ComfyUI instance: it wraps the node graph in a sleek Playground-style UI like commercial AI generators, adding LLM-powered prompt tools and a dedicated inpainting editor.
So do I install a desktop app, or how does this fit alongside ComfyUI?It's a standalone React web app you run yourself and open in your browser. There's no backend — it talks to your local ComfyUI directly through its API, and all data stays in the browser.
How do I get it running?Install Bun, clone the repo, run bun install, then start the dev server. In the app, open Settings (the gear icon) and set the Host URL to your ComfyUI instance.
What needs to be in place before it will work?A locally running ComfyUI (at its default address) and Bun. If you serve the UI from a different origin, start ComfyUI with --enable-cors-header or the browser will block requests.
Can I use my existing ComfyUI workflows with it?Yes — import any workflow JSON saved in ComfyUI's API format and map UI controls (prompt, checkpoint, KSampler seed/steps/CFG, preview) to node IDs without touching code. SDXL, SD1.5, Flux, and custom workflows all work once mapped.
Where do my generated images and API keys end up?Nowhere external: images, history, and queue state sit in IndexedDB in your browser, while preferences, workflow picks, and API keys live in localStorage. No external database is involved.
Will my generation queue survive a page refresh?Yes — the queue persists in IndexedDB across reloads, and after a refresh the app automatically resumes checking status for pending jobs. You can also reorder, delete, or clear queue items.
Can I reproduce an image I liked from the history gallery?Yes, via Remix: clicking any history item instantly restores all parameters, workflows, and seeds used to generate it, with full metadata kept per image.
Does it support stacking multiple LoRAs?Yes — LoRAs load dynamically and can be stacked; the backend automatically chains their Model and CLIP nodes sequentially in the workflow.
Can it upscale the output?Yes, upscaling is toggleable, with methods like Lanczos and Bicubic and custom scale factors.
Size
0.9 MB
Stars
77
Updated
CommitDec 10
Age
10mo
Commits · 90 Days