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:
Aodhan Collins
2026-02-26 21:25:23 +00:00
parent 0d7d4d404f
commit 0b8802deb5
334 changed files with 9437 additions and 3772 deletions

View File

@@ -2,39 +2,37 @@
"action_id": "caught_masturbating_illustrious",
"action_name": "Caught Masturbating Illustrious",
"action": {
"full_body": "character receiving a sudden shock while in a private moment of self-pleasure, body freezing or jerking in surprise",
"head": "face flushed red with deep blush, expression of pure panic and embarrassment, mouth gaped open in a gasp",
"eyes": "wide-eyed stare, pupils dilated, locking eyes with the intruder (viewer)",
"arms": "shoulders tensed, one arm frantically trying to cover the chest or face, the other halted mid-motion near the crotch",
"hands": "one hand stopping mid-masturbation typically under skirt or inside panties, other hand gesturing to stop or hiding face",
"torso": "leaning back onto elbows or pillows, clothing disheveled, shirt lifted",
"pelvis": "hips exposed, underwear pulled down to thighs or ankles, vulva accessible",
"legs": "legs spread wide in an M-shape or V-shape, knees bent, trembling",
"feet": "toes curled tightly in tension",
"additional": "context of an intruded private bedroom, messy bed sheets, atmosphere of sudden discovery and shame"
},
"participants": {
"solo_focus": "true",
"orientation": "F"
"full_body": "standing in doorway, confronting viewer",
"head": "looking down or at viewer, surprised expression, blushing",
"eyes": "wide open, looking away or at penis",
"arms": "arms at sides or covering mouth",
"hands": "relaxed or raised in shock",
"torso": "facing viewer",
"pelvis": "standing straight",
"legs": "standing, legs together",
"feet": "standing on floor",
"additional": "male pov, male masturbation in foreground, open door background"
},
"lora": {
"lora_name": "Illustrious/Poses/Caught_Masturbating_ILLUSTRIOUS.safetensors",
"lora_weight": 1.0,
"lora_triggers": "Caught_Masturbating_ILLUSTRIOUS"
"lora_weight": 0.75,
"lora_triggers": "caught, male pov, male masturbation, girl walking in door, standing in doorway"
},
"tags": [
"pov",
"male_masturbation",
"penis",
"erection",
"walk-in",
"caught",
"masturbation",
"embarrassed",
"blush",
"doorway",
"open_door",
"standing",
"surprised",
"open mouth",
"looking at viewer",
"panties down",
"hand in panties",
"skirt lift",
"sweat",
"legs spread",
"panic"
"blush",
"looking_at_penis",
"looking_at_viewer",
"wide_shot",
"indoors"
]
}