Commit Graph

1529 Commits (fb2f9ea650a1c2c7432f41cd74c03be4e6e62d31)

Author SHA1 Message Date
vladmandic 4e1c1a6844 add secrets manager
Signed-off-by: vladmandic <mandic00@live.com>
2026-03-17 13:56:55 +01:00
vladmandic 742eeb8691 new server settings section
Signed-off-by: vladmandic <mandic00@live.com>
2026-03-17 10:07:48 +01:00
Vladimir Mandic 76a20cf43d cleanup 2026-02-19 11:39:03 +01:00
Vladimir Mandic 4006b3e093 pylint 2026-02-19 11:36:20 +01:00
Vladimir Mandic e5c494f999 cleanup logger 2026-02-19 11:09:13 +01:00
Vladimir Mandic a3074baf8b unified logger 2026-02-19 09:46:42 +01:00
Vladimir Mandic bfe014f5da modernize typing 2026-02-19 09:15:37 +01:00
vladmandic ccd3e2e489 cleanup settings
Signed-off-by: vladmandic <mandic00@live.com>
2026-02-12 10:30:39 +01:00
Vladimir Mandic 41f206dec9
Merge pull request #4637 from CalamitousFelicitousness/refactor/remove-face-restoration
Refactor/remove face restoration
2026-02-11 11:12:34 +01:00
CalamitousFelicitousness 76aa949a26 refactor: integrate sharpfin for high-quality image resize
Vendor sharpfin library (Apache 2.0) and add centralized wrapper
module (images_sharpfin.py) replacing torchvision tensor/PIL
conversion and resize operations throughout the codebase.

- Add modules/sharpfin/ vendored library with MKS2021, Lanczos3,
  Mitchell, Catmull-Rom kernels and optional Triton sparse acceleration
- Add modules/images_sharpfin.py wrapper with to_tensor(), to_pil(),
  pil_to_tensor(), normalize(), resize(), resize_tensor()
- Add resize_quality and resize_linearize_srgb settings
- Add MKS2021 and Lanczos3 upscaler entries
- Replace torchvision.transforms.functional imports across 18 files
- to_pil() auto-detects HWC/BHWC layout, adds .round() before uint8
- Sparse Triton path falls back to dense GPU on compilation failure
- Mixed-axis resize splits into two single-axis scale() calls
- Masks and non-sRGB data always use linearize=False
2026-02-11 09:57:37 +01:00
CalamitousFelicitousness bf7a72f12e fix(caption): remove dead min_length param, split Florence/PromptGen prompts, fix gaze detection
- Remove caption_openclip_min_length from settings, API models, endpoints, and UI
  (clip_interrogator library has no min_length support; parameter was never functional)
- Split vlm_prompts_florence into base Florence prompts and PromptGen-only prompts
  (GENERATE_TAGS, Analyze, Mixed Caption require MiaoshouAI PromptGen fine-tune)
- Add 'promptgen' category to /vqa/prompts API endpoint
- Fix gaze detection: move DETECT_GAZE check before generic 'detect ' prefix
  to prevent "Detect Gaze" matching as detect target="Gaze"
- Update test suite: remove min_length tests, fix min_flavors to use mode='best',
  add acceptance-only notes, fix thinking trace detection, improve bracket/OCR tests,
  split Florence/PromptGen test coverage
2026-02-11 02:48:11 +00:00
CalamitousFelicitousness 61b031ada5 refactor: update imports for caption module rename
Update all imports from modules.interrogate to modules.caption across:
- modules/shared.py, modules/shared_legacy.py
- modules/ui_caption.py, modules/ui_common.py
- modules/ui_control.py, modules/ui_control_helpers.py
- modules/ui_img2img.py, modules/ui_sections.py
- modules/ui_symbols.py, modules/ui_video_vlm.py
2026-02-11 02:47:41 +00:00
CalamitousFelicitousness 385532154f Merge remote-tracking branch 'origin/dev' into refactor/remove-face-restoration
# Conflicts:
#	.pylintrc
#	.ruff.toml
2026-02-10 14:38:14 +00:00
Vladimir Mandic e3ca883cbd
Revert "Mark public re-exports" 2026-02-09 18:30:18 +01:00
vladmandic 0d2e9fbf62 cleanup and update changelog
Signed-off-by: vladmandic <mandic00@live.com>
2026-02-09 18:20:10 +01:00
CalamitousFelicitousness d01f45519f refactor: remove face restoration from processing pipeline
- Remove CodeFormer/GFPGAN import and setup from webui.py initialize()
- Remove face_restorers list, codeformer/gfpgan model path settings,
  and face restore UI settings section from shared.py
- Remove restore_faces parameter from StableDiffusionProcessing
- Remove face_restoration import and restore_faces processing block
  from processing.py
2026-02-08 22:59:00 +00:00
CalamitousFelicitousness 935a4fcb03 feat: add Nunchaku group to reference
Replace manual Model/TE checkboxes in Quantization Settings with a
dedicated "Nunchaku" tab in the Extra Networks menu where users can
directly select nunchaku-quantized model variants. Detection is now
using a +nunchaku path marker for disambiguation.
2026-02-07 22:27:05 +00:00
awsr c288f0de14
Explicitly mark additional items as re-exported 2026-02-06 14:16:46 -08:00
awsr 8e4aa8dbe1
Add comment 2026-02-06 13:42:37 -08:00
awsr 1e668fe86d
Mark public re-exports
See: https://typing.python.org/en/latest/spec/distributing.html#import-conventions
2026-02-06 13:28:21 -08:00
Vladimir Mandic 4db4ff00ca
Merge pull request #4625 from awsr/gallery-auto-refresh
Gallery: Add auto-update setting and functionality
2026-02-06 13:07:41 +01:00
awsr ade7c2e5f9
Add auto-update setting and functionality 2026-02-06 00:50:04 -08:00
awsr 8bfa612902
Fix typo 2026-02-05 16:43:37 -08:00
vladmandic cc03ebc584 move vae to subfolder
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-30 11:34:25 +01:00
vladmandic c1f3fc594e cleanup
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-25 12:59:14 +01:00
vladmandic a7c32caae3 relocate all jsons to data
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-24 13:54:40 +01:00
Disty0 50c65ed990 Update OpenVINO to 2025.4.1 2026-01-23 14:43:42 +03:00
Vladimir Mandic a47e2ff62f
Merge pull request #4569 from CalamitousFelicitousness/feat/wd14-tagger
feat(caption): add WD14 tagger with Booru Tags tab
2026-01-23 09:17:19 +01:00
Oleksandr Liutyi 4a089fb6e4 Qwen layered settings typo 2026-01-21 19:12:43 +00:00
CalamitousFelicitousness 6b10f0df4f refactor(caption): address PR review feedback
Rename WD14 module and settings to WaifuDiffusion:
- Rename wd14.py to waifudiffusion.py
- Rename WD14Tagger class to WaifuDiffusionTagger
- Rename WD14_MODELS constant to WAIFUDIFFUSION_MODELS
- Rename settings: wd14_model -> waifudiffusion_model,
  wd14_character_threshold -> waifudiffusion_character_threshold
- Update all log messages from "WD14" to "WaifuDiffusion"

Code quality improvements:
- Simplify threshold parameter defaulting using `or` operator
- Extract save_output logic into _save_tags_to_file() helper with
  isolated error handling to prevent single file failures from
  impacting entire batch
- Fix timing log format consistency (remove 's' suffix)
2026-01-21 11:56:07 +00:00
CalamitousFelicitousness becb19319d refactor(caption): unify tagger settings and reorganize Caption Tab UI
Consolidate WD14 and DeepBooru tagger settings into unified options:
- Merge wd14_general_threshold + deepbooru_score_threshold → tagger_threshold
- Merge wd14_include_rating + deepbooru_include_rating → tagger_include_rating
- Rename interrogate_score → tagger_show_scores
- Rename tagger_escape → tagger_escape_brackets
- Rename CLiP → OpenCLiP in caption type choices

UI reorganization:
- Add Interrogate tab to Caption Tab with default caption type selector
- Move interrogate_offload to Model Offloading section as "Offload caption models"
- Hide Interrogate settings section (all settings now in Caption Tab UI)
- Update locale_en.json for OpenCLiP naming

Code improvements:
- DeepBooru tag_multi() now accepts same parameters as WD14 for unified interface
- Fix setting references in interrogate.py for consolidated settings
- Add comprehensive tagger test suite (cli/test-tagger.py)
2026-01-21 11:56:07 +00:00
CalamitousFelicitousness 656e86a962 refactor(caption): consolidate interrogate settings into Caption Tab UI
Hide all CLiP, VLM, and Tagger settings from Settings > Interrogate page
while keeping them in shared.opts for persistence. Caption Tab UI becomes
the single control point with change handlers that save directly to config.

Changes:
- Hide OpenCLiP, VLM, and Tagger settings with visible=False
- Add change handlers to save settings when UI controls change
- Rename "Booru Tags" tab to "Tagger", update choice labels
- Update interrogate.py to use unified tagger interface with all settings
2026-01-21 11:56:07 +00:00
CalamitousFelicitousness 09b8fe9761 feat(caption): integrate DeepBooru into unified Booru Tagger UI
Add DeepBooru as a model option alongside WD14 models in the Booru Tags
tab, with dynamic UI that disables inapplicable controls.

Changes:
- Create modules/interrogate/tagger.py as unified adapter module
- Add batch, load/unload, get_models functions to deepbooru.py
- Update ui_caption.py to use unified tagger interface
- Consolidate shared tagger settings in shared.py
- Add implementation plan for future settings consolidation

UI behavior:
- Model dropdown shows DeepBooru + all WD14 models
- Character threshold and include rating disabled for DeepBooru
- All controls re-enable when WD14 model selected
2026-01-21 11:56:07 +00:00
CalamitousFelicitousness db97c42320 feat(caption): add WD14 tagger with Booru Tags tab
Add SmilingWolf's WD14/WaifuDiffusion tagger models for anime/illustration
tagging as a new "Booru Tags" tab in the Caption panel.

- Support 9 models (v2 and v3 variants) via HuggingFace
- ONNX backend chosen due to safetensors v3 variants exhibiting
  unacceptable accuracy loss
- Separate thresholds for general/character tags
- Batch processing with progress bar
- Consolidate debug env var to SD_INTERROGATE_DEBUG
2026-01-21 11:56:07 +00:00
vladmandic b3a99274e2 enhance SD_DEVICE_DEBUG
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-20 18:12:05 +01:00
vladmandic 16293375dc lora native stack improvements
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-18 10:06:03 +01:00
vladmandic e0ea7c9d94 cleanup
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-18 07:25:54 +01:00
CalamitousFelicitousness 983e396f64 docs(i18n): improve LoRA settings hints and labels
- Add detailed hints explaining LoRA fuse behavior and model reload warning
- Add hints for force reload, diffusers fuse, and quantization precision options
- Improve clarity of auto-apply tags and hash metadata hints
- Comment out unimplemented lora_quant setting
2026-01-18 03:57:43 +00:00
CalamitousFelicitousness b4a3a117f1 fix(shared): truncate descriptions 2026-01-16 16:24:05 +00:00
CalamitousFelicitousness 761ea1c327 feat(settings): add base path support for output folders
Change "Images folder" and "Grids folder" settings to act as base paths
that combine with specific folder settings, rather than replacing them.

- Add resolve_output_path() helper function to modules/paths.py
- Update all output path usages to use combined base + specific paths
- Update gallery API to return resolved paths with display labels
- Update gallery UI to show short labels with full path on hover

Example: If base is "C:\Database\" and specific is "outputs/text",
the resolved path becomes "C:\Database\outputs\text"

Edge cases handled:
- Empty base path: uses specific path directly (backward compatible)
- Absolute specific path: ignores base path
- Empty specific path: uses base path only
2026-01-16 16:24:05 +00:00
Disty0 c2bc47e0c1 SDNQ expose Dyn quant on settings 2026-01-14 16:54:50 +03:00
vladmandic 4dbdee10e3 switch lora logic and improve ui networks filter
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-14 10:31:21 +01:00
CalamitousFelicitousness e881faa2fb feat(vlm): align default generation settings
Update default settings for both Prompt Enhance and VQA:
- max_tokens: 512 (prompt enhance)
- do_sample: True
- temperature: 0.8

These defaults provide better output quality with more creative
variation while maintaining coherent results.
2026-01-12 00:17:20 +00:00
awsr 0faabffc14
Simplify options init/save/load 2026-01-10 13:27:38 -08:00
Seunghoon Lee 9195116e46
zluda init 2026-01-07 14:59:42 +09:00
vladmandic f6289206d8 startup sequence optimizations
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-03 07:54:05 +01:00
Disty0 448e7b7735 replace the default fp6 type 2025-12-27 02:10:12 +03:00
Disty0 4a4784eafa SDNQ add new stack of custom floating point types and remove irrelevant qtypes from the ui list 2025-12-26 20:09:17 +03:00
vladmandic 2a33d9f1a8 add qwen-image-layered
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-22 21:24:27 +01:00
awsr dfe6e889d8
Fix imports 2025-12-20 01:42:03 -08:00