Add Checkpoints Gallery with per-checkpoint generation settings
- New Checkpoint model (slug, name, checkpoint_path, data JSON, image_path) - sync_checkpoints() loads metadata from data/checkpoints/*.json and falls back to template defaults for models without a JSON file - _apply_checkpoint_settings() applies per-checkpoint steps, CFG, sampler, base positive/negative prompts, and VAE (with dynamic VAELoader node injection for non-integrated VAEs) to the ComfyUI workflow - Bulk Create from Checkpoints: scans Illustrious/Noob model directories, reads matching HTML files, uses LLM to populate metadata, falls back to template defaults when no HTML is present - Gallery index with batch cover generation and WebSocket progress bar - Detail page showing Generation Settings and Base Prompts cards - Checkpoints nav link added to layout - New data/prompts/checkpoint_system.txt LLM system prompt - Updated README with all current galleries and file structure - Also includes accumulated action/scene JSON updates, new actions, and other template/generator improvements from prior sessions Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
15
models.py
15
models.py
@@ -99,10 +99,25 @@ class Detailer(db.Model):
|
||||
def __repr__(self):
|
||||
return f'<Detailer {self.detailer_id}>'
|
||||
|
||||
class Checkpoint(db.Model):
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
checkpoint_id = db.Column(db.String(255), unique=True, nullable=False)
|
||||
slug = db.Column(db.String(255), unique=True, nullable=False)
|
||||
name = db.Column(db.String(255), nullable=False)
|
||||
checkpoint_path = db.Column(db.String(255), nullable=False) # e.g. "Illustrious/model.safetensors"
|
||||
data = db.Column(db.JSON, nullable=True)
|
||||
image_path = db.Column(db.String(255), nullable=True)
|
||||
|
||||
def __repr__(self):
|
||||
return f'<Checkpoint {self.checkpoint_id}>'
|
||||
|
||||
class Settings(db.Model):
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
llm_provider = db.Column(db.String(50), default='openrouter') # 'openrouter', 'ollama', 'lmstudio'
|
||||
openrouter_api_key = db.Column(db.String(255), nullable=True)
|
||||
openrouter_model = db.Column(db.String(100), default='google/gemini-2.0-flash-001')
|
||||
local_base_url = db.Column(db.String(255), nullable=True)
|
||||
local_model = db.Column(db.String(100), nullable=True)
|
||||
|
||||
def __repr__(self):
|
||||
return '<Settings>'
|
||||
|
||||
Reference in New Issue
Block a user