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,32 +2,32 @@
"action_id": "res_facial",
"action_name": "Res Facial",
"action": {
"full_body": "upper body portrait shot, character is leaning slightly forward toward the camera",
"head": "facing directly at the viewer, chin slightly tucked",
"eyes": "intense gaze, looking directly into the camera",
"arms": "bent upwards at the elbows",
"hands": "palms resting gently against cheeks or framing the face to emphasize the expression",
"torso": "upper torso visible, facing forward",
"pelvis": "not visible",
"legs": "not visible",
"feet": "not visible",
"additional": "soft lighting highlighting facial contours"
},
"participants": {
"solo_focus": "true",
"orientation": "MF"
"full_body": "1girl, 2boys, restrained, forced",
"head": "head_grab, hand_on_another's_face, head_back",
"eyes": "eyes_closed",
"arms": "arms_behind_back",
"hands": "bound_wrists",
"torso": "upper_body",
"pelvis": "standing",
"legs": "standing",
"feet": "standing",
"additional": "facial, bukkake, cum, cum_on_hair, penis"
},
"lora": {
"lora_name": "Illustrious/Poses/res_facial.safetensors",
"lora_weight": 1.0,
"lora_triggers": "res_facial"
"lora_weight": 0.8,
"lora_triggers": "restrained_facial"
},
"tags": [
"close-up",
"portrait",
"looking_at_viewer",
"face_focus",
"touching_face",
"detailed_eyes"
"restrained",
"forced",
"head_grab",
"hand_on_another's_face",
"grabbing_from_behind",
"facial",
"bukkake",
"cum_on_hair",
"eyes_closed",
"2boys"
]
}