ComfyUI-JNodes

python and web UX improvements for ComfyUI

Acknowledgement

thank you to:

  • Kosinkadink for the original work in VHS on which SaveVideo and UploadVideo are based
  • pythongosssss for the original ImageFeed element on which ImageDrawer is based
  • Kijai for various code snippets that went into scripts such as statusTitle

Python Nodes

  • Token count node

    image

  • png_info manipulation nodes (add positive prompt, add negative prompt, targeting a1111-style png_info)

  • Synced string literals with external text files

  • Parameter lists (set parameters by text to control variables and nodes in your prompt)

  • Save Video (minor improvements over VHS Video Combine for adding meta data to gif/webp, file name control)

  • Yet another dynamic prompts implementation with randomization controls

  • Yet another Wildcards implementation

  • Commenting out prompts support (just add # decorator before each line you want to be ignored or encapsulate specific text on a line with ## on either side "## Commented text ##"). Decorator is configurable.

    image

  • Prompt Editor (search and replace text in any text, intended for prompts to change certain trigger words, for example an embedding named '3mb3dd1n4' can be changed to 'embedding')

  • Selector nodes that can be randomized based on seed (e.g. to select a random checkpoint name)

  • Get Temp Directory, Get Output Directory

Web Features

  • ImageDrawer (image feed, lora picker, image history, etc) with search (crawling png_info)

  • Lora Picker: a context option in ImageDrawer that displays your loras in a grid something like in a1111 and allows you to search for and copy the lora command in a1111 format (use Coziness or something similar to support text loras) as well as the trained words. Click tag words to automatically search for similar local loras. Works best with loras downloaded with Civit Downloader.

    image

  • Drag and drop from lora picker to canvas to add lora loaders (for people who don't want to use text loras)

  • EditAttention improvements (undo/redo support, remove spacing)

  • Status (progress) indicators (percentage in title, custom favicon, progress bar on floating menu)

    image

  • Font control for textareas (see ComfyUI settings > JNodes)

  • Mouse over images in feed and history to see exif/png_info

Caveats

There are some incompatibilities with some Comfy extensions and some popular extensions. They can be optionally disabled with this suite. Please use the JNodes Extension Management setting in Settings > JNodes > Extension Management to disable the following extensions by unchecking them:

  • pysssss.ImageFeed should be disabled as ImageDrawer relaces it entirely.

  • mtb.ImageFeed can be disabled if you don't want to see it in addition to ImageDrawer. mtb.ImageFeed is designed to only load if pysssss.ImageFeed is not loaded.

  • pysssss.FaviconStatus can be disabled if you'd like to use your own custom favicons or see the progress percentage in the title or tab. This is optional.

  • Comfy.DynamicPrompts can be disabled if you're using another dynamic prompts solution, such as the one included with this suite. If this is enabled, the included solution can't operate.

  • Comfy.EditAttention can be disabled if you would prefer to use a similar system included in this suite (which supports undo/redo).

    image

Future updates

  • Implementation of more contexts in ImageDrawer
  • Slideshow for images
  • Squashing UI bugs
  • Improving general UX
  • Civit.ai integration (maybe)
  • Plugin support (maybe)

Issues and Pull Requests

Feel free to add them, but please do not expect regular updates or responses. This project is just for fun. I will add features and fix bugs when I have free time and when they are important for my needs. I'll review pulls of course and integrate anything that looks good.

Support

Open an issue if you have any problems, but keep in mind I probably won't have a lot of time to look into them. For the most part, a lot of stuff is just not yet implemented, like most of the contexts in ImageDrawer. If something doesn't work, assume I haven't implemented it yet.

Data Collection and Privacy Policy

Your data is your own. This suite of nodes and web features does not collect any data from you or your machine.

ComfyUI Manager Support

It'll happen when I've implemented more contexts and features. For now I'm not interested in showcasing the suite since it's only about halfway done.

S
Description
No description provided
Readme MIT
1.6 MiB
Languages
JavaScript 75.5%
Python 24.4%