Initial implementation of Character Browser & Generator: Gallery, ComfyUI integration, progress tracking, and batch processing.
This commit is contained in:
67
README.md
Normal file
67
README.md
Normal file
@@ -0,0 +1,67 @@
|
||||
# Character Browser & Generator
|
||||
|
||||
A local web-based GUI for managing character profiles (JSON) and generating consistent images using ComfyUI.
|
||||
|
||||
## Features
|
||||
|
||||
- **Character Gallery**: Automatically scans your `characters/` folder and builds a searchable, sortable database.
|
||||
- **Granular Prompt Control**: Every field in your character JSON (Identity, Wardrobe, Styles) has a checkbox. You decide exactly what is sent to the AI.
|
||||
- **ComfyUI Integration**:
|
||||
- **SDXL Optimized**: Designed for high-quality SDXL workflows.
|
||||
- **Localized ADetailer**: Automated Face and Hand detailing with focused prompts (e.g., only eye color and expression are sent to the face detailer).
|
||||
- **LoRA Support**: Automatically detects and applies LoRAs specified in your character sheets.
|
||||
- **Real-time Progress**: Live progress bars and queue status via WebSockets (with a reliable polling fallback).
|
||||
- **Batch Processing**:
|
||||
- **Fill Missing**: Generate covers for every character missing one with a single click.
|
||||
- **Refresh All**: Unassign all current covers and generate a fresh set for the whole collection.
|
||||
- **Advanced Generator**: A dedicated page to mix-and-match characters with different checkpoints (Illustrious/Noob support) and custom prompt additions.
|
||||
- **Smart URLs**: Sanitized, human-readable URLs (slugs) that handle special characters and slashes gracefully.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
1. **Python 3.10+**
|
||||
2. **ComfyUI** running locally (default: `http://127.0.0.1:8188`).
|
||||
3. **ComfyUI Custom Nodes**:
|
||||
- [ComfyUI-Impact-Pack](https://github.com/ltdrdata/ComfyUI-Impact-Pack) (Required for FaceDetailer).
|
||||
4. **Models**:
|
||||
- Ensure your Checkpoints are in the folders defined in `app.py`.
|
||||
- Face detection model: `bbox/face_yolov9c.pt` (or update `comfy_workflow.json`).
|
||||
- Hand detection model: `bbox/hand_yolov8s.pt`.
|
||||
|
||||
## Setup & Installation
|
||||
|
||||
1. **Clone the repository** to your local machine.
|
||||
2. **Configure Paths**: Open `app.py` and update the following variables to match your system:
|
||||
```python
|
||||
app.config['COMFYUI_URL'] = 'http://127.0.0.1:8188'
|
||||
app.config['ILLUSTRIOUS_MODELS_DIR'] = '/path/to/your/Illustrious/models'
|
||||
app.config['NOOB_MODELS_DIR'] = '/path/to/your/Noob/models'
|
||||
```
|
||||
3. **Launch**: Simply run the launch script. It will handle the virtual environment and dependencies automatically.
|
||||
```bash
|
||||
chmod +x launch.sh
|
||||
./launch.sh
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
### Gallery Management
|
||||
- **Rescan**: Use the "Rescan Character Files" button if you've added new JSON files or manually edited them.
|
||||
- **Save Defaults**: On a character page, select your favorite prompt combination and click "Save as Default Selection" to remember it for future quick generations.
|
||||
|
||||
### Generation
|
||||
- **Preview**: Generates an image and shows it to you without replacing your current cover.
|
||||
- **Replace**: Generates an image and sets it as the character's official gallery cover.
|
||||
- **Clean Start**: If you want to wipe the database and all generated images to start fresh:
|
||||
```bash
|
||||
./launch.sh --clean
|
||||
```
|
||||
|
||||
## File Structure
|
||||
|
||||
- `/characters`: Your character JSON files.
|
||||
- `/static/uploads`: Generated images (organized by character subfolders).
|
||||
- `/templates`: HTML UI using Bootstrap 5.
|
||||
- `app.py`: Flask backend and prompt-building logic.
|
||||
- `comfy_workflow.json`: The API-format workflow used for generations.
|
||||
- `models.py`: SQLite database schema.
|
||||
Reference in New Issue
Block a user