no8d/ComfyUI-NO8D-controls
This is a set of high-efficiency custom nodes covering prompt writing to final image generation. By optimizing every link, it greatly reduces workflow complexity, enhances convenience and delivers more intuitive operations, so as to boost your work efficiency.
Overview
ComfyUI‑NO8D‑controls is a collection of custom nodes that extend the ComfyUI visual workflow engine for text‑to‑image generation. The pack redesigns common steps—prompt handling, LoRA stacking, image loading, generation, compositing, and dataset saving—so they can be assembled with fewer nodes and less manual wiring. It also ships a prompt‑generation node that talks to an LLM (OpenAI‑compatible or Ollama) to expand or create prompts from text, images, or both.
Key Features
| Area | What it does | Why it matters |
|---|---|---|
| Prompt libraries | Visual browser/editor for reusable prompt collections (TXT/CSV/XLSX/Google Sheets). Supports search, favorites, history, random selection, and export. | Keeps large prompt sets organized and reusable across projects. |
| Prompt merge | Concatenates prompts from multiple sources in a defined order. | Simple way to combine style, subject, and other cue strings. |
| LoRA stack | Loads a UNet model and lets you add, enable/disable, reorder, and set strengths for multiple LoRA weights without needing a CLIP input. | Makes multi‑LoRA experiments fast and UI‑driven. |
| NO8D‑Prompt | Sends text and/or a reference image to a configured LLM (OpenAI‑compatible or Ollama) and returns a full positive prompt. Supports separate text‑only, vision‑only, or multimodal modes, with style‑locking and length controls. | Automates prompt engineering and lets you leverage local or cloud LLMs. |
| Generation node | One‑stop node that combines sampler settings, canvas tools (in‑/out‑painting, lasso masks, opacity, etc.), and image preview. Auto‑switches between normal generation, inpainting, and outpainting based on canvas state. | Reduces the number of nodes needed for typical generation workflows. |
| Image composer & grid | Free‑form canvas editor for layering images, applying transforms, cut‑outs (via rembg), and then outputting a composited image. Grid node arranges multiple images into a tiled layout. |
Provides basic graphic‑design capabilities inside the workflow. |
| Dataset saver | Saves generated images together with captions, building filenames from configurable parts (date, size class, source name, etc.). | Streamlines creation of image‑text datasets for fine‑tuning. |
| Utility nodes | Load‑images, empty latent creator, A/B preview, title overlay, Krea2 reference‑latent helpers, etc. | Fill gaps in the standard ComfyUI node set. |
How to Use
- Install – Clone into
ComfyUI/custom_nodesand runpip install -r requirements.txt(or let ComfyUI‑Manager do it). Restart ComfyUI. - Configure LLM – In ComfyUI Settings → NO8D‑control → API Manager, add an OpenAI‑compatible endpoint or a local Ollama service, validate, and pick text/vision models.
- Build a workflow – Drag nodes from the
NO8D‑control(s)category. A typical pipeline might be:NO8D‑Load‑images→NO8D‑Prompt(LLM expands prompt) →NO8D‑Prompt‑view(optional edit) →NO8D‑LoRA stack→NO8D‑Generate→NO8D‑Image‑Grid/NO8D‑save.
- Run – Press the generate button on the
NO8D‑Generatenode; results flow downstream to preview, compositing, or saving nodes.
Who It’s For
- Artists & hobbyists who already use ComfyUI and want a tighter, more UI‑friendly prompt & LoRA workflow.
- Researchers building large prompt libraries or datasets and needing batch‑export tools.
- Anyone looking to plug a local LLM (via Ollama) into their image‑generation pipeline without writing custom code.
Limitations
- The LLM integration only works with services that expose an OpenAI‑compatible API; it does not include a built‑in model.
- Some nodes (e.g., automatic cut‑out in the Image Composer) require extra Python packages like
rembg. - The package is tightly coupled to ComfyUI – it cannot be used as a standalone library.
License
MIT – free for personal and commercial use, with attribution.
All information above is taken directly from the repository’s README; no external assumptions have been added.
Related
- Project
- Project
- Project