# 🎯 DebugPadawan's ComfyUI Essentials *Essential custom nodes for ComfyUI workflows* [![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)](https://python.org) [![ComfyUI](https://img.shields.io/badge/ComfyUI-Compatible-green.svg)](https://github.com/comfyanonymous/ComfyUI) [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![GitHub Stars](https://img.shields.io/github/stars/DebugPadawan/DebugPadawans-ComfyUI-Essentials.svg)](https://github.com/DebugPadawan/DebugPadawans-ComfyUI-Essentials/stargazers)
--- ## ✨ Features
🔤 Text Processing Split, join, and manipulate text strings with precision
📦 Data Conversion Convert between text and JSON formats easily
🐛 Debug Tools Print and inspect values during workflow execution
⏱️ Timing Control Add delays and timing control to your workflows
🔧 Utilities Essential helpers for workflow optimization
--- ## 🚀 Installation ```bash # Navigate to your ComfyUI custom nodes directory cd ComfyUI/custom_nodes # Clone the repository git clone https://github.com/DebugPadawan/DebugPadawans-ComfyUI-Essentials.git # Restart ComfyUI ``` --- ## 📦 Available Nodes ### 🔤 Text Processing
📝 Text Splitter - Split text strings by delimiter **Category:** `DebugPadawan/Text` Splits a text string at a specified delimiter and returns a list of strings. **📥 Inputs:** - `text` *(String)*: The text to split (supports multiline input) - `delimiter` *(String)*: The character(s) to split by (default: `","`) - `strip_whitespace` *(Boolean, optional)*: Remove leading/trailing whitespace (default: `True`) - `remove_empty` *(Boolean, optional)*: Remove empty strings from result (default: `True`) **📤 Outputs:** - `text_list` *(List)*: The split list of strings - `count` *(Integer)*: Number of elements in the list **💡 Example:** ``` Input: "apple, banana, orange" Delimiter: "," Output: ["apple", "banana", "orange"] and 3 ``` Process CSV-like data, split tag lists, separate coordinates, create filename lists, parse prompt components.
🔗 Text Joiner - Combine strings with custom delimiters **Category:** `DebugPadawan/Text` Combines a list of strings into a single text string with a customizable delimiter. **📥 Inputs:** - `text_list` *(List)*: List of strings to join - `delimiter` *(String)*: Character(s) to join with (default: `", "`) - `prefix` *(String, optional)*: Text to add at the beginning - `suffix` *(String, optional)*: Text to add at the end **📤 Outputs:** - `joined_text` *(String)*: The combined text string **💡 Example:** ``` Input: ["red", "green", "blue"] Delimiter: " | " Prefix: "Colors: " Suffix: " - end" Output: "Colors: red | green | blue - end" ``` Combine prompt parts, convert lists to readable text, create metadata tags, build filenames, format output strings.
--- ### 📦 Data Conversion
🗃️ TextToJSON - Convert text to JSON **Category:** `DebugPadawan/JSON` Converts a valid JSON string into a JSON object, enabling further data processing or integration with other nodes. **📥 Inputs:** - `text` *(String)*: The text to parse as JSON **📤 Outputs:** - `json` *(JSON/Object)*: The parsed JSON object **💡 Example:** ``` Input: '{"name": "Alice", "age": 30}' Output: { "name": "Alice", "age": 30 } ``` Use this node to quickly transform JSON-formatted text into a usable data structure for your ComfyUI workflows.
--- ### 🐛 Debug Tools
🖨️ Debug Print - Console output for debugging **Category:** `DebugPadawan/Debug` Prints values to the console without interrupting the workflow. Perfect for debugging and monitoring data values during execution. **📥 Inputs:** - `value` *(Any)*: Any value to print to console (supports all data types) - `label` *(String, optional)*: Label for the debug output (default: `"Debug"`) **📤 Outputs:** - `passthrough` *(Any)*: The same value passed through unchanged **💻 Console Output:** ``` [MyLabel] list: ['Element1', 'Element2', 'Element3'] [Debug] str: Hello World [Checkpoint] int: 42 [Data Flow] dict: {'key': 'value', 'count': 5} [Boolean Test] bool: True [Float Value] float: 3.14159 ``` Monitor values during execution, debug complex workflows, verify data types, set checkpoints, troubleshoot unexpected results.
--- ### ⏱️ Timing Control
⏳ Wait - Add delays to workflow execution **Category:** `DebugPadawan/Timing` Pauses workflow execution for a specified duration. Useful for rate limiting, timing control, or debugging workflow sequences. **📥 Inputs:** - `value` *(Any)*: Any value to pass through after the delay - `delay_seconds` *(Float)*: Duration to wait in seconds (default: `1.0`) - `label` *(String, optional)*: Label for console output (default: `"Wait"`) **📤 Outputs:** - `passthrough` *(Any)*: The same value passed through after delay **💻 Console Output:** ``` [Wait] Waiting for 2.5 seconds... [Wait] Wait completed. [Custom Timer] Waiting for 5.0 seconds... [Custom Timer] Wait completed. ``` Rate limit API calls, debug timing issues, control workflow execution speed, add pauses between operations, synchronize parallel processes. **⚠️ Note:** Use with caution in production workflows as it will genuinely pause execution.
--- ### 🔧 Utility Nodes
📊 List Info - Analyze list properties **Category:** `DebugPadawan/Utilities` Analyzes a list and returns useful information about it. **📥 Inputs:** - `input_list` *(List)*: The list to analyze **📤 Outputs:** - `count` *(Integer)*: Number of elements - `first_item` *(String)*: First element (as string) - `last_item` *(String)*: Last element (as string) Validate list processing results, get quick statistics, check if lists are empty, extract boundary values.
🔀 Conditional String - Boolean-based string selection **Category:** `DebugPadawan/Logic` Returns one of two strings based on a boolean condition. **📥 Inputs:** - `condition` *(Boolean)*: The condition to evaluate - `true_string` *(String)*: String to return if True (default: `"True"`) - `false_string` *(String)*: String to return if False (default: `"False"`) **📤 Outputs:** - `result` *(String)*: The selected string Conditional prompt modification, dynamic filename generation, workflow branching, status message generation.
--- ## 🎨 Quick Start Examples ### Basic Text Processing ``` "apple,banana,orange" → Text Splitter → ["apple", "banana", "orange"] ↓ ["apple", "banana", "orange"] → Text Joiner → "apple | banana | orange" ``` ### Text to JSON Conversion ``` '{"foo": "bar"}' → TextToJSON → { "foo": "bar" } ``` ### Debug Workflow ``` Input Data → Debug Print ("Input") → Processing Node → Debug Print ("Output") → Result ``` ### Timed Processing ``` Data → Wait (2.0s) → Processing → Wait (1.0s) → Output ``` --- ## 📋 Node Categories | Category | Nodes | Purpose | |----------|-------|---------| | **DebugPadawan/Text** | Text Splitter, Text Joiner | Text manipulation and processing | | **DebugPadawan/JSON** | TextToJSON | Text to JSON conversion | | **DebugPadawan/Debug** | Debug Print | Debugging and monitoring | | **DebugPadawan/Timing** | Wait | Timing control and delays | | **DebugPadawan/Utilities** | List Info | Data analysis helpers | | **DebugPadawan/Logic** | Conditional String | Conditional operations | --- ## 🤝 Contributing We welcome contributions! Feel free to: - 🐛 Report bugs - 💡 Suggest new features - 🔧 Submit pull requests - 📖 Improve documentation --- ## 📄 License This project is licensed under the [MIT License](LICENSE). ---
**Made with ❤️ by [DebugPadawan](https://github.com/DebugPadawan)**