ComfyUI-DataSet
Data Research, Preparation, and Manipulation Nodes for Model Trainers, Artists, Designers, and Animators.
Installation
Using comfy-cli (https://github.com/yoland68/comfy-cli)
comfy node registry-install ComfyUI-DataSet- https://registry.comfy.org/publishers/daxcay/nodes/comfyui-dataset
Manual Method
- Go to your Comfyui > Custom Nodes folder
- Run CMD from folder path box or right click on empty area and click open in terminal.
- Copy and Paste this command
git clone https://github.com/daxcay/ComfyUI-DataSet.git - Then go inside ComfyUI-DataSet with cmd or open new.
- and type
pip install -r requirements.txtto install the requirements.
Automatic Method with Comfy Manager
-
Inside ComfyUI > Click Manager Button on Side.
-
Click
Custom Nodes Managerand Search forDataSetand Install this node: -
Restart ComfyUI and it should be good to go
Recommended Plugin
- ComfyUI-JDCN (https://github.com/daxcay/ComfyUI-JDCN)
You can find DataSet under this category:
DataSet_Visualizer
The DataSet_Visualizer node is designed to visualize datasets by generating a word cloud, a network graph, and a frequency table from tag contents provided in text files.
Inputs
- TextFileContents: (STRING, required) - The contents of the text file to be processed.
- Seperator: (['comma', 'colon', 'space', 'pipe'], required) - The delimiter used to separate tags in the text file. Acceptable values are: 'comma' for
,'colon' for;'space' for a'pipe' for| - WordCloudTop: (INT, default: 1, min: 1, max: 9999, required) - The number of top tags to include in the word cloud visualization.
- NetworkGraphTop: (INT, default: 1, min: 1, max: 9999, required) - The number of top tag co-occurrences to include in the network graph visualization.
- FrequencyGraphTop: (INT, default: 1, min: 1, max: 9999, required) - The number of top tags to include in the frequency table.
Outputs
- GraphsPaths: (STRING, list) - The file paths of the generated visualizations. It includes paths for: Word cloud image, Network graph image, Frequency table image
- GraphsImages: (IMAGE, list) - The generated images for the visualizations.
DataSet_CopyFiles
The DataSet_CopyFiles node provides a methods to copy files from a source folder to a destination folder based on different copying modes: blind copy and copy by matching destination files.
Inputs
- source_folder: (STRING, default: "directory path", required) - The path of the source folder containing files to be copied.
- destination_folder: (STRING, default: "directory path", required) - The path of the destination folder where files will be copied.
- copy_mode: (['BlindCopy', 'CopyByDestinationFiles'], required) - The mode of copying files:
- 'BlindCopy': Copies all files from the source to the destination folder.
- 'CopyByDestinationFiles': Copies files from the source folder to the destination only if there is a matching file (based on the base name) already present in the destination.
DataSet_TriggerWords
The DataSet_TriggerWords node is designed to identify and extract trigger words or phrases from text file contents. Trigger words are identified based on the presence of digits within the words.
Inputs
- TextFileContents: (
STRING, required) - The contents of the text file(s) to be processed. - search: (
['trigger_word_only', 'trigger_word_phrase'], required) - The mode of searching for trigger words:'trigger_word_only': Extracts individual trigger words containing digits.'trigger_word_phrase': Extracts entire phrases up to the next comma if any word in the phrase contains a digit.
Outputs
- Words: (
STRING, list) - The extracted trigger words or phrases from the text file(s).
DataSet_TextFilesLoadFromList
The DataSet_TextFilesLoadFromList node is designed to load and read contents from a list of text file paths. It extracts file names, file names without extensions, file paths, and file contents.
Inputs
- TextFilePathsList: (
STRING, required) - A list of file paths to the text files to be loaded. Only paths ending with.txtwill be processed.
Outputs
- TextFileNames: (
STRING, list) - The names of the text files. - TextFileNamesWithoutExtension: (
STRING, list) - The names of the text files without their extensions. - TextFilePaths: (
STRING, list) - The file paths of the text files. - TextFileContents: (
STRING, list) - The contents of the text files.
DataSet_TextFilesLoad
The DataSet_TextFilesLoad node is designed to load and read contents from text files within a specified directory. It extracts file names, file names without extensions, file paths, and file contents.
Inputs
- directory: (
STRING, required) - The directory path where the text files are located. The path should be specified as a string.
Outputs
- TextFileNames: (
STRING, list) - The names of the text files in the directory. - TextFileNamesWithoutExtension: (
STRING, list) - The names of the text files without their extensions. - TextFilePaths: (
STRING, list) - The file paths of the text files in the directory. - TextFileContents: (
STRING, list) - The contents of the text files in the directory.
DataSet_TextFilesSave
Overview
The DataSet_TextFilesSave node is designed to save text file contents to a specified directory with various saving modes. It supports overwriting, merging, creating new files, and merging before saving new files.
Inputs
- TextFileNames: (
STRING, required) - The names of the text files to be saved. - TextFileContents: (
STRING, required) - The contents of the text files to be saved. - destination: (
STRING, required) - The directory path where the text files will be saved. - save_mode: (['Overwrite', 'Merge', 'SaveNew', 'MergeAndSaveNew'], required) - The mode of saving the files:
Overwrite: Overwrites existing files with the same name.Merge: Appends content to existing files with the same name.SaveNew: Saves new files with a unique name if a file with the same name already exists.MergeAndSaveNew: Merges content with existing files and then saves as a new file with a unique name if a file with the same name already exists.
Outputs
- This class does not produce any output types.
DataSet_FindAndReplace
The DataSet_FindAndReplace node facilitates finding and replacing specific text patterns within text file contents.
Inputs
- TextFileContents: (
STRING, required) - The contents of the text file(s) where the search and replace operation will be performed. - SearchFor: (
STRING, default: "concept", required) - The text pattern to search for within theTextFileContents. Supports multiline input. - ReplaceWith: (
STRING, default: "concept", required) - The replacement text for theSearchForpattern. Supports multiline input.
Outputs
- TextFileContents: (
STRING, list) - The modified contents of the text file(s) after performing the find and replace operation.
DataSet_PathSelector
The DataSet_PathSelector node is designed to search for files with specific extensions in one directory and then select files with matching names (excluding extensions) from another directory.
Inputs
- search_in_directory: (
STRING, required) - The directory to search for files. - search_for_extensions: (
STRING, required) - The extensions of files to search for, separated by commas (e.g.,.txt, .csv). - select_from_directory: (
STRING, required) - The directory to select matching files from. - select_extensions: (
STRING, required) - The extensions of files to select, separated by commas (e.g.,.txt, .csv).
Outputs
- SelectedNamesWithExtension: (
STRING, list) - The names of the selected files with their extensions. - SelectedNamesWithoutExtension: (
STRING, list) - The names of the selected files without their extensions. - SelectedPaths: (
STRING, list) - The full paths of the selected files.
DataSet_ConceptManager
The DataSet_ConceptManager node is designed to manage concepts within text file contents. It allows adding or removing specified concepts at defined positions.
Inputs
- TextFileContents: (
STRING, required) - The contents of the text file(s) to be processed. - Mode: (
STRING, required) - The mode of operation:'add'to add concepts or'remove'to remove concepts. - Concepts: (
STRING, required) - The concepts to add or remove, formatted as text-position pairs (e.g.,"concept1 0, concept2 2"for adding,"concept1, concept2"for removing).
Outputs
- TextFileContents: (
STRING, list) - The modified contents of the text file(s) after adding or removing concepts.
DataSet_OpenAIChat
The DataSet_OpenAIChat node integrates with the OpenAI API to generate responses based on given prompts using various GPT models.
Inputs
- model: (STRING, required) - The OpenAI model to use for generating responses. Options include
"gpt-4","gpt-4-32k","gpt-3.5-turbo", and others. - api_url: (STRING, default:
"https://api.openai.com/v1") - The base URL of the OpenAI API. - api_key: (STRING, required) - The API key required for authentication with the OpenAI API.
- prompt: (STRING, default: "") - The prompt to start the conversation or generate responses.
- token_length: (INT, default: 1024) - The maximum number of tokens (words) in the generated response.
Outputs
- STRING: The generated response from the OpenAI model based on the provided prompt.
DataSet_LoadImage
The DataSet_LoadImage node provides functionality to load and process images from a specified directory using Pillow and numpy.
Inputs
- image: (STRING, required) - The name of the image file to load from the input directory.
Outputs
- IMAGE: The loaded image.
- MASK: The mask associated with the image.
- STRING: The name of the image file.
- STRING: The name of the image file without extension.
- STRING: The full path of the image file.
- STRING: The directory path of the image file.
DataSet_SaveImage
The DataSet_SaveImage node facilitates batch saving of images to a specified directory with optional PNG metadata using Pillow and numpy.
Inputs
- Images: (IMAGE, required) - List of images to save.
- ImageFilePrefix: (STRING, default: "Image") - Prefix for the saved image filenames.
- destination: (STRING) - Directory path where images will be saved.
Hidden Parameters
- prompt: (PROMPT) - Optional prompt metadata for PNG files.
- extra_pnginfo: (EXTRA_PNGINFO) - Additional metadata information in dictionary format for PNG files.
Outputs
- None
DataSet_OpenAIChatImage
The DataSet_OpenAIChatImage node integrates image input with OpenAI's chat API for generating text-based responses.
Inputs
- image: (IMAGE, required) - Image to be processed.
- image_detail: (STRING, default: "high") - Detail level of the image ("low" or "high").
- prompt: (STRING, default: "") - Text prompt for the AI model.
- model: (STRING, default: "gpt-4o") - OpenAI model to use ("gpt-4o", "gpt-4", etc.).
- api_url: (STRING, default: "https://api.openai.com/v1") - OpenAI API endpoint URL.
- api_key: (STRING) - OpenAI API key for authentication.
- token_length: (INT, default: 1024) - Maximum token length for the generated response.
Outputs
- STRING: Text-based response generated by the AI model.
DataSet_OpenAIChatImageBatch
The DataSet_OpenAIChatImageBatch class extends the functionality of DataSet_OpenAIChatImage to process batches of images with OpenAI's chat API for generating text-based responses.
Inputs
- images: (IMAGE, required) - List of images to be processed.
- image_detail: (STRING, default: "high") - Detail level of the images ("low" or "high").
- prompt: (STRING, default: "") - Text prompt for the AI model.
- model: (STRING, default: "gpt-4o") - OpenAI model to use ("gpt-4o", "gpt-4", etc.).
- api_url: (STRING, default: "https://api.openai.com/v1") - OpenAI API endpoint URL.
- api_key: (STRING) - OpenAI API key for authentication.
- token_length: (INT, default: 1024) - Maximum token length for the generated response.
Outputs
- STRING: List of text-based responses generated by the AI model for each input image.
Credits
🔶 Daxton Caylor - ComfyUI Node Developer
- Discord - daxtoncaylor
- Email - daxtoncaylor@gmail.com
- Discord server: https://discord.gg/Z44Zjpurjp
- Commission Status: 🟢 Open 🟢
🔶 https://github.com/rafstahelin
- Node Request & Testing
Support for DataSet ❤️
- Buy me a coffee: https://buymeacoffee.com/daxtoncaylor
- If you like to suppport me you can donate me on paypal: https://paypal.me/daxtoncaylor