Files
TKRLAB-ComfyUI_Prompt_List_…/README.md
T
2024-12-21 15:37:12 +02:00

94 lines
3.3 KiB
Markdown

# ComfyUI Custom Node: Prompt List JSON
This repository provides a custom node for [ComfyUI](https://github.com/comfyanonymous/ComfyUI) that allows managing positive and negative prompts in a structured JSON format. The node supports adding, updating, and logging prompts, ensuring seamless integration into your workflow.
## Features
- 📂 **JSON-based prompt management**: Prompts are stored in a single `list.json` file for easy editing and retrieval.
- 🔄 **Add or update prompts**: Supports both creating new prompts and overwriting existing ones.
- 🖥️ **Console logging**: Optionally logs prompt details for debugging or verification.
- 🛠️ **Automatic file management**: Creates necessary directories and files automatically if they do not exist.
## Installation
1. Clone or download this repository to your ComfyUI custom node directory:
```bash
git clone https://github.com/TKRLAB/ComfyUI_Prompt_List_JSON.git
```
2. Restart ComfyUI to load the custom node.
## Usage
![node on manager](https://github.com/TKRLAB/ComfyUI_Prompt_List_JSON/blob/master/images/node_on_manager.png)
### Node Inputs
- **Prompt Name** (required): A unique name for the prompt.
- **Positive Prompt** (required for new prompts): The positive description of the prompt.
- **Negative Prompt** (optional): The negative description of the prompt.
- **Overwrite** (boolean, default `False`): Whether to overwrite an existing prompt with the same name.
- **Console log** (boolean, default `False`): Prints prompt details to the console for debugging.
### Node Outputs
- **Positive Prompt**: The saved or retrieved positive prompt.
- **Negative Prompt**: The saved or retrieved negative prompt.
### Example Workflow
1. Add or update a prompt with the following inputs:
- **Prompt Name**: `SunsetScene`
- **Positive Prompt**: `A breathtaking sunset over the mountains`
- **Negative Prompt**: `Low quality, blurry`
- **Overwrite**: `True`
- **Console log**: `True`
![node](https://github.com/TKRLAB/ComfyUI_Prompt_List_JSON/blob/master/images/node.png)
2. The prompt will be saved to the JSON file, and its details will appear in the console if logging is enabled.
### File Structure
Prompts are stored in `list.json` in the following format:
```json
{
"SunsetScene": {
"positive": "A breathtaking sunset over the mountains",
"negative": "Low quality, blurry"
}
}
```
### Adding Prompts Programmatically
You can also use this node programmatically. Here's an example:
```python
from your_module import ComfyUI_Prompt_JSON
manager = ComfyUI_Prompt_JSON()
positive, negative = manager.process(
**{
"Prompt Name": "SunsetScene",
"Positive Prompt": "A breathtaking sunset over the mountains",
"Negative Prompt": "Low quality, blurry",
"Overwrite": True,
"Console log": True
}
)
```
### Error Handling
- Raises a `ValueError` if a required field (e.g., `Prompt Name` or `Positive Prompt`) is missing.
![error prompt name](https://github.com/TKRLAB/ComfyUI_Prompt_List_JSON/blob/master/images/node_err1.png)
![error positive prompt](https://github.com/TKRLAB/ComfyUI_Prompt_List_JSON/blob/master/images/node_err2.png)
## License
This project is licensed under the GNU General Public License v3.0. See the [LICENSE](LICENSE) file for details.
---
Enjoy using the **Prompt List JSON** node with ComfyUI! 🎨