Commit Graph

8091 Commits (0e0b607cfaabf59167e3ab2a44d491b4e4e1b08e)

Author SHA1 Message Date
CalamitousFelicitousness 66607c48e1 fix(ui): handle null description in network info JSON
Use both default parameter and `or ''` fallback to handle missing
keys and explicit null values in LoRA info JSON files.
2026-01-19 01:26:44 +00: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
Vladimir Mandic 857083ff49
Merge pull request #4560 from CalamitousFelicitousness/docs/lora-settings-hints
docs(i18n): improve LoRA settings hints and labels
2026-01-18 07:10:17 +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
awsr d49c484af4
Use correct import for `piexif.helper` 2026-01-17 03:57:53 -08:00
awsr 1f3ee826ed
Fix pyright: reportOptionalMemberAccess 2026-01-17 03:31:48 -08:00
awsr bcc889d257
Fix and update layout switching 2026-01-17 03:31:07 -08:00
awsr 182bbc36a3
Avoid mixing types 2026-01-17 03:29:12 -08:00
Vladimir Mandic d934920c23 cleanup
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-01-16 17:34:34 +00:00
Vladimir Mandic 05b919f35b ltx2 improvements
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-01-16 17:31:56 +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
vladmandic b3d65f4559 logging cleanup
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-16 11:32:09 +01:00
vladmandic 952696ab20 more cleanup
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-16 10:58:09 +01:00
vladmandic 32b8b082e2 cleanup logging
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-16 10:36:02 +01:00
vladmandic 66fc59ceb7 load error trace
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-16 10:06:02 +01:00
vladmandic 680fddc036 disable fallback on models with custom loaders
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-16 09:59:42 +01:00
vladmandic 0d90d95bf6 lint and safeguard glm
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-16 09:40:48 +01:00
vladmandic f444679fc1 lint
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-16 08:56:30 +01:00
CalamitousFelicitousness eaa8dbcd42 fix: correct comments and cleanup model descriptions
- Fix Klein text encoder comment to specify correct sizes per variant
- Lock TAESD decode logging behind SD_PREVIEW_DEBUG env var
- Fix misleading comment about FLUX.2 128-channel reshape (is fallback)
- Remove VRAM requirements from model descriptions in reference files
2026-01-16 03:24:39 +00:00
CalamitousFelicitousness 5e2bc01367 fix(taesd): remove unused variable warning 2026-01-16 03:06:48 +00:00
CalamitousFelicitousness c605a1bb62 feat(taesd): add FLUX.2 preview support
Enable live preview during FLUX.2 and FLUX.2 Klein image generation
using the TAE FLUX.2 decoder from madebyollin/taesd.

- Add dedicated TAE entries (FLUX.1, FLUX.2, SD3) that auto-select
  based on model type, making the dropdown only affect SD/SDXL models
- Add FLUX.2 latent unpacking in callback to convert packed
  [B, seq_len, 128] format to spatial [B, 32, H, W] for preview
- Support FLUX.2's 32 latent channels (vs 16 for FLUX.1/SD3)
2026-01-16 03:01:52 +00:00
CalamitousFelicitousness fe99d3fe5d feat: add FLUX.2 Klein model support
Add support for FLUX.2 Klein distilled models (4B and 9B variants):

- Add pipeline loader for Flux2KleinPipeline
- Add model detection for 'flux.2' + 'klein' patterns
- Add pipeline mapping in shared_items
- Add shared Qwen3ForCausalLM text encoder handling:
  - 4B variants use Z-Image-Turbo's Qwen3-8B
  - 9B variants use FLUX.2-klein-9B's Qwen3-14B
- Add reference entries for distilled (4B, 9B) and base models
- Update diffusers commit for Flux2KleinPipeline support
2026-01-16 01:35:20 +00:00
Aleri Kaisattera 12098eea15
Fix 2026-01-15 16:49:18 +06:00
Aleri Kaisattera 4edcb6bec1
Add Kandinsky Image 5 and CogView 2026-01-15 16:48:27 +06:00
Aleri Kaisattera f3948b6244
Merge branch 'dev' into taesd-expand 2026-01-15 16:42:40 +06:00
Vladimir Mandic 30da7803b5 futureproof
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-01-15 09:29:26 +00:00
vladmandic 71d3482168 cleanup model types
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-15 08:30:48 +01:00
vladmandic 387b3c7c36 split reference.json
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-15 08:23:07 +01:00
Vladimir Mandic d35658536b
Merge pull request #4548 from CalamitousFelicitousness/feat/glm-image-support
add GLM-Image pipeline support
2026-01-15 08:01:32 +01:00
Aleri Kaisattera b262d1445a
Expand TAESD previews to a few more models 2026-01-14 22:00:29 +06:00
Disty0 c2bc47e0c1 SDNQ expose Dyn quant on settings 2026-01-14 16:54:50 +03:00
Disty0 034b0844fe register sdnq classes 2026-01-14 16:25:56 +03:00
Disty0 784cda80aa update sdnq 2026-01-14 16:23:26 +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
Vladimir Mandic ff06011349
Merge pull request #4547 from awsr/typing
Typing and related
2026-01-14 08:38:21 +01:00
CalamitousFelicitousness 3f259cff9a add GLM-Image pipeline support
- Add GLM-Image (zai-org/GLM-Image) model detection and loading
- Custom pipeline loader with proper component handling:
  - ByT5 text encoder (cannot use shared T5 due to different hidden size)
  - Vision-language encoder (9B AR model)
  - DiT transformer (7B)
- Fix EOS token early stopping in AR generation
- Add AR token generation progress tracking with terminal progress bar
- Fix uninitialized audio variable in processing
- Add TAESD support for GLM-Image (using f1 variant)
2026-01-14 03:33:49 +00:00
awsr 494dd1c4b1
Remove unnecessary typing 2026-01-13 16:54:17 -08:00
awsr 6335130ca5
Rewrite to satisfy type checker 2026-01-13 16:44:54 -08:00
awsr b2798b15db
Improved Options init 2026-01-13 16:08:58 -08:00
awsr 071ba20cc3
Trim leading and trailing space from doc 2026-01-13 15:41:30 -08:00
awsr 56d90b629c
Reorder imports 2026-01-13 15:33:29 -08:00
awsr de52f6bfda
Update ui_models.py 2026-01-13 15:33:18 -08:00
awsr 1dffdc17a9
Revert classvar removal. Simplify and update 2026-01-13 14:30:34 -08:00
Vladimir Mandic 8500156888 improve queue management
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-01-13 12:58:14 +00:00
awsr cf41ba15d9
More robust type enforcement 2026-01-13 04:10:35 -08:00
awsr 3654d0fa18
Update typing, remove incorrect typing 2026-01-13 04:09:58 -08:00
awsr 6cec9828e8
Fix OptionInfo typing
Warning: This effectively disables type checking for `shared.opts`
2026-01-13 04:08:48 -08:00
awsr 08c871e8d1
Remove unused class vars 2026-01-13 04:08:48 -08:00
awsr a30229c6f0
Type update and minor consolidation 2026-01-13 02:23:19 -08:00
awsr ec86e52ded
Correct type enforcement 2026-01-13 02:11:58 -08:00
awsr 2394a7fac1
Ignore false positives with static typing 2026-01-13 02:10:38 -08:00
awsr 1a083a54f4
Use generic type 2026-01-13 02:08:11 -08:00
Vladimir Mandic e7809b11cd reapply offload hooks on diffusers lora load
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-01-13 10:07:30 +00:00
vladmandic f21a943028 gallery save/delete checks
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-13 09:57:22 +01:00
awsr 3c9e349176
Explicit conversion to `list` 2026-01-12 14:39:36 -08:00
awsr 8932f11837
Use `cast` to resolve type error
No impact during runtime
2026-01-12 14:38:30 -08:00
Vladimir Mandic 33e0d0f9ed ltx2 vae fix
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2026-01-12 18:40:25 +00:00
vladmandic 5e4ed9c9bb fix ltx2
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-12 17:12:13 +01:00
vladmandic 280da2c10b cleanup
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-12 16:14:32 +01:00
CalamitousFelicitousness ca3aecef2d Revert: btn_generate.click call removal 2026-01-12 14:12:44 +00:00
CalamitousFelicitousness 9f6e34371f revert: restore state tracking in control/run.py 2026-01-12 14:12:44 +00:00
CalamitousFelicitousness 2fd52ae230 fix(control): ensure state cleanup runs reliably
Fix control tab getting stuck in running state
after generation completes.
2026-01-12 14:12:44 +00:00
vladmandic e4e863fd6d lint and update diffusers
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-12 12:31:29 +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
CalamitousFelicitousness 0659759e90 fix(vqa): improve unload logging consistency
Add before/after debug messages when unloading VQA model to match
the pattern used in prompt enhance for better debugging visibility.
2026-01-12 00:17:20 +00:00
Vladimir Mandic c1f9646eaa
Merge pull request #4541 from awsr/save-update
Update config saving
2026-01-11 13:05:29 +01:00
awsr 418134b820
Update default filename handling 2026-01-10 14:53:07 -08:00
awsr 7e947e8150
Update saving 2026-01-10 13:58:13 -08:00
awsr 0faabffc14
Simplify options init/save/load 2026-01-10 13:27:38 -08:00
Disty0 fa2917a6be cleanup 2026-01-10 20:48:36 +03:00
Disty0 f4d87d6cdf fix ltx2 fp64 on alchemist 2026-01-10 20:46:03 +03:00
vladmandic a6a5b9ff54 ltx image cond
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-10 12:56:42 +01:00
vladmandic ffe1e2a861 cleanup
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-10 11:32:32 +01:00
vladmandic 85332594fc triton test reduce verbosity
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-10 10:32:13 +01:00
vladmandic 2cba0d8fe0 explictly disable hires for detailer pass
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-10 10:26:51 +01:00
vladmandic b386675c06 ltx-2 prototype
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-10 09:31:59 +01:00
vladmandic 9261b65beb add Qwen-Image-2512-SDNQ-4bit-dynamic
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-10 08:47:28 +01:00
vladmandic ec007a3018 add laplace beta scheduler
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-10 08:41:27 +01:00
CalamitousFelicitousness 1aab61aa47
Cleanup 2026-01-10 03:08:22 +00:00
CalamitousFelicitousness 9fe9d9521c fix(cloud): support three Google GenAI auth modes, use UI settings only 2026-01-09 00:30:55 +00:00
Disty0 47dcab3522 update sdnq 2026-01-09 00:34:32 +03:00
vladmandic 49e09e625c update diffusers
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-08 09:27:49 +01:00
vladmandic 899514c5b8 lint update
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-08 08:51:35 +01:00
vladmandic 7fe09db97e cleanup offload calls
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-08 08:35:25 +01:00
vladmandic a36cd157ec force move to device if offload=none
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-08 08:18:41 +01:00
Ryan Meador c1c4d6e0ee prevent accelerate from recreating keys such as and so that the VAE decode will progress. resolves #4526 2026-01-07 22:19:11 -05:00
vladmandic 8d03d7c5b2 hidiffusion tracing
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-07 15:27:14 +01:00
vladmandic 1a39b82fea switch processing class not restoring params
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-07 11:35:13 +01:00
Seunghoon Lee fa85b267a5
clean up 2026-01-07 15:01:39 +09:00
Seunghoon Lee 9195116e46
zluda init 2026-01-07 14:59:42 +09:00
Seunghoon Lee 7426386c09
clean up 2026-01-07 14:58:45 +09:00
Seunghoon Lee f71c11e5c1
hipblaslt log 2026-01-07 13:58:04 +09:00
vladmandic 3ec1f604d2 cleanup label
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-06 10:57:45 +01:00
vladmandic f08aaef7c2 auto-display input-media on send-to
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-06 10:29:58 +01:00
vladmandic 8e1b03b095 Merge branch 'dev' of https://github.com/vladmandic/sdnext into dev 2026-01-06 08:12:45 +01:00
vladmandic 18e141e6e4 add qwen-2512 prequants
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-06 08:07:22 +01:00
Seunghoon Lee f4b592ac3a
fix windows hipblaslt check 2026-01-06 11:32:04 +09:00
vladmandic 7f9cc66045 fix decode-image exception
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-05 20:07:33 +01:00
vladmandic a846a90fca exception handler
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-05 19:27:37 +01:00
vladmandic 458391eb5e Merge branch 'dev' of https://github.com/vladmandic/sdnext into dev 2026-01-05 15:10:55 +01:00
vladmandic e7e2063f67 fix image sizing
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-05 15:10:53 +01:00
Seunghoon Lee 91c4aa1ad4
handle rocm packages even on linux 2026-01-05 18:41:53 +09:00
vladmandic cfc620a08a force align width/height to vae scale factor
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-05 09:42:37 +01:00
Seunghoon Lee 1aac6baadd
check for hipblaslt when using rocm package 2026-01-05 14:03:50 +09:00
vladmandic 87429b19ca kanvas add send-to functionality
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-04 19:37:10 +01:00
vladmandic deb59c60fc add SD_VAE_DEFAULT
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-04 17:55:01 +01:00
awsr df9dad5c7e
Add attachment point for non-ModernUI 2026-01-04 00:37:43 -08:00
Seunghoon Lee 9dce5cac9f
clean up 2026-01-03 21:09:02 +09:00
Seunghoon Lee 49965dfda8
get_hip_arch_name -> get_hip_agent, use amdhip64_7.dll served within rocm package 2026-01-03 21:00:36 +09:00
Seunghoon Lee 0158e61814
minor fix 2026-01-03 20:43:22 +09:00
Seunghoon Lee 14aa94345c
use gfx1100-dgpu for dgpus 2026-01-03 20:41:54 +09:00
vladmandic b9c18452f2 unify hip get arch name
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-03 08:22:19 +01:00
vladmandic f6289206d8 startup sequence optimizations
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-03 07:54:05 +01:00
vladmandic 4e8b0f83b4 lint
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-01 16:33:49 +01:00
vladmandic 49578171c5 fix wildcards with folder specifier
Signed-off-by: vladmandic <mandic00@live.com>
2026-01-01 11:13:56 +01:00
Vladimir Mandic 2404a3cb85
Merge branch 'dev' into dev 2026-01-01 10:53:41 +01:00
Vladimir Mandic 6b1978406b
Merge pull request #4507 from awsr/ext-table
Extension table update
2026-01-01 10:28:52 +01:00
Tillerz f0d67ea816
Merge branch 'vladmandic:dev' into dev 2025-12-31 12:26:29 +01:00
Oliver Hertel 6985faf5f2 weighted wildcards fix: ignore token weights 2025-12-31 12:16:28 +01:00
awsr 4de810b15d
Minor cleanup of function for installing from URL 2025-12-31 00:33:51 -08:00
awsr 632cf64d70
Update regex 2025-12-30 16:35:32 -08:00
awsr a8bce14ee7
Remove unused icons 2025-12-30 16:26:49 -08:00
awsr d14c64caa2
UI update
- Remove headers for "enable" and "status"
- Set status icon width to 1rem
- Remove `if_modern()`
2025-12-30 16:24:47 -08:00
awsr 67c5384d97
Standardize SVG input to minimal format
- Remove newlines
- Convert multiple spaces to just a single space
- Remove space between tags
- Remove surrounding whitespace
2025-12-30 14:06:24 -08:00
vladmandic f7bb9f54fc Merge branch 'dev' of https://github.com/vladmandic/sdnext into dev 2025-12-30 22:15:12 +01:00
vladmandic 0a8f5f2aa3 fix todo metadata
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-30 22:15:09 +01:00
Oliver Hertel ab9d3332e9 allow weights for wildcards: {red:0.3|green:0.7} 2025-12-30 21:31:09 +01:00
Disty0 8e34866238 SDNQ fix outdated PyTorch 2025-12-30 21:29:41 +03:00
vladmandic 595b07aef4 update base models
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-30 18:36:02 +01:00
awsr cae3249757
Ensure styling works correctly with display:block 2025-12-30 00:41:52 -08:00
awsr 24da36282e
Update extension table layout
- Use icons on Modern UI to better fit being in a narrow sidebar. (Full labels kept for Standard UI)
- Swap Status and Enabled columns.
- Improve status and enabled element spacing on Standard UI.
- Minor readability improvements to extension information.
- *Internal*: Add `if_modern()`  function to `shared.py` to switch between two inputs depending on whether the Modern UI is being used or not.
2025-12-30 00:10:13 -08:00
awsr e22f807f93
Update `make_wrappable_html` function 2025-12-29 23:45:20 -08:00
awsr a5b7531d00
Update ui_symbols.py
- Fix wrong warning code in comment.
- Replace all instances of `currentColor` when stylizing.
- Enforce proper SVGSymbol usage.
2025-12-29 15:43:12 -08:00
awsr 69865cf620
Fix regex and lru_cache 2025-12-28 16:59:57 -08:00
awsr 811ff45f21
Set default svg_bullet display to block 2025-12-28 16:56:16 -08:00
awsr e1a4331a21
Update configurable symbols
- Support additional properties.
- Cached values.
2025-12-28 16:55:55 -08:00
awsr 0a20b58170
Merge branch 'dev' into ext-table 2025-12-28 14:28:51 -08:00
awsr 5df4b093d3
Make seconds optional and only show them in logs 2025-12-28 14:25:36 -08:00
Disty0 5e934a12a2 sdnq cleanup unused args 2025-12-28 20:08:58 +03:00
Vladimir Mandic 8bbe0aa239
Merge pull request #4505 from awsr/time-fixes
Functionality update to extensions handling
2025-12-28 15:06:06 +01:00
awsr 5a9a5d4f68
Add word break tags to snake_case and camelCase names
Otherwise these are not normally considered word-wrapping points.
2025-12-28 04:22:21 -08:00
awsr be954a9812
Use helper function 2025-12-28 03:21:28 -08:00
awsr 39e9bbed1b
Update message
Bad data message will be handled by a different update to `readfile`
2025-12-28 03:14:44 -08:00
awsr 7c01fd71de
Don't warn about file if not reading from a file
Leave that up to the other log messages
2025-12-28 03:10:22 -08:00
awsr 89fd729d74
Restore accidental deletion 2025-12-28 03:02:39 -08:00
awsr 66f55a7d7c
Better data handling 2025-12-28 02:59:51 -08:00
awsr 70081e0d74
Fix default value 2025-12-28 02:38:17 -08:00
awsr 691ace3543
Add warning messages 2025-12-28 02:25:43 -08:00
awsr 6761ebd2a7
Remove sending `force` argument
`git_fetch()` un-sets the `have_info_from_repo` flag so it's not needed
2025-12-28 02:01:20 -08:00
awsr f1414b0d61
Update log message 2025-12-28 01:33:11 -08:00
awsr 96e9cdae31
Fix update availability logic
Bug that was hidden by the other bug that was fixed on this line. (See PR https://github.com/vladmandic/sdnext/pull/4501)
2025-12-28 01:32:37 -08:00
awsr 885cbcd118
Finalize utility format and usage
- Renamed to `format_dt`
- Only show values in UTC and omit "UTC" display
2025-12-28 01:25:23 -08:00
awsr 4d3dfac0a0
Add timestamp-to-UTC datetime util 2025-12-28 00:10:35 -08:00
awsr d05ad24309
Fix reversed logic 2025-12-27 18:51:40 -08:00
awsr b25bfb6cba
More robust time string handling 2025-12-27 17:11:27 -08:00
awsr 214d84feea
Ensure information is actually updated
I'm assuming this is what was intended because otherwise there would be no reason to refresh information again after updating.
2025-12-27 16:44:20 -08:00
awsr 4bd9d20972
TZ-aware and time formatting 2025-12-27 16:44:19 -08:00
awsr 4649e7a865
Switch to type-safe file loading 2025-12-27 16:44:19 -08:00
awsr 1e4b1cbbae
Add helper functions 2025-12-27 16:44:19 -08:00
awsr 816d05b072
Use consistent default values/types 2025-12-27 16:44:19 -08:00
Disty0 259a38a2ed fix sdnq lora 2025-12-27 23:07:53 +03:00
Disty0 b852ff42ef SDNQ fix wrong fp8 mm type is set 2025-12-27 17:27:05 +03:00
Disty0 db59d2b507 SDNQ handle packed floats in fp mm 2025-12-27 16:29:18 +03:00
Vladimir Mandic 95eeeb614f
Merge pull request #4501 from awsr/time-fixes
Fix time comparison order
2025-12-27 08:50:28 +01:00
awsr 2e1e141a39
Add short version of checkpoint titles
Fixes compatibility with some extensions, including updated adetailer.
2025-12-26 20:54:49 -08:00
Disty0 448e7b7735 replace the default fp6 type 2025-12-27 02:10:12 +03:00
awsr 39fc355d2f
Fix time comparison order 2025-12-26 15:08:42 -08:00
Vladimir Mandic 9b891944b5
Merge pull request #4500 from awsr/js-import-fix
Fix incorrect variable check
2025-12-26 22:32:54 +01:00
Disty0 761fb82685 fix missing comma 2025-12-26 21:27:57 +03:00
Disty0 22b9e69a3e cleanup whitespace 2025-12-26 21:18:56 +03:00
Disty0 fd6c89a626 cleanup 2025-12-26 21:16:55 +03:00
awsr d58d109407
Fix incorrect variable check 2025-12-26 09:25:25 -08:00
Disty0 e7fa690321 cleanup 2025-12-26 20:10:55 +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 bb13aabe17 add ovis-image
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-26 08:05:25 +01:00
Disty0 f37fa88824 remove ModuleList and ModuleDict from no_split_module_classes 2025-12-25 14:30:37 +03:00
Vladimir Mandic 0b1e6d2d3c improve offloading
Signed-off-by: Vladimir Mandic <mandic00@live.com>
2025-12-25 10:24:02 +00:00
vladmandic 3a96c514c4 cleanup
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-24 15:10:43 +01:00
vladmandic 93e3658b8d cleanup auth login msg
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-24 10:50:39 +01:00
vladmandic fab224c4df zimage-controlnet-union initial code
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-24 10:42:42 +01:00
vladmandic a319a98e59 error handling of meta embeds
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-23 10:23:14 +01:00
Disty0 471b6dc1b7 SDNQ add siglip_embedder to ZImage skip keys 2025-12-23 04:32:54 +03:00
vladmandic 72b533a52a cleanup layered again
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-22 22:52:56 +01:00
vladmandic b5a5efaf62 cleanup
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-22 22:14:12 +01:00
vladmandic 4c43d9a1e6 cleanup qwen
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-22 22:08:49 +01:00
vladmandic 2a33d9f1a8 add qwen-image-layered
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-22 21:24:27 +01:00
vladmandic a78a99f0ff use balanced for auto-detected 4gb gpu
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-22 21:03:46 +01:00
vladmandic dde91321b9 genai exception handling and lint all
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-22 20:29:50 +01:00
vladmandic 4c35d3887e nvml warn once
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-22 09:17:15 +01:00
awsr dfe6e889d8
Fix imports 2025-12-20 01:42:03 -08:00
awsr 1a5f7ef642
Update OptionInfo import 2025-12-20 00:34:09 -08:00
awsr 148f16daed
Move LegacyOption back to shared_legacy.py
Seems like Python doesn't actually consider it a circular import in this instance.
2025-12-20 00:31:13 -08:00
awsr b0dc758099
Change Mapping type to dict 2025-12-19 23:52:47 -08:00
awsr 4d4cf0cef1
Update options typing 2025-12-19 21:22:50 -08:00
awsr 072cab438d
Use Any type for `default` for now 2025-12-19 19:17:52 -08:00
awsr e2c5fc0a21
Add simple docstring 2025-12-19 15:46:16 -08:00
awsr f8b812b68e
Add Callable type annotation to `onchange` 2025-12-19 00:30:11 -08:00
awsr 878f2f5aa6
Use True/False instead of True/None 2025-12-19 00:22:57 -08:00
awsr f20591ce5e
Use updated Callable import
Importing from `typing` is considered deprecated since it's literally just internally calling from `collections.abc`
2025-12-18 23:27:53 -08:00
awsr eeca45c7b2
Update type annotations 2025-12-18 18:09:32 -08:00
awsr 05f767cf5f
Keep option type definitions together...
and update type annotations.
- Since there's no literal for sets, and because functions usually shouldn't be used as parameter defaults, use None as default and then use `set()` as default during init.
2025-12-18 18:08:54 -08:00
awsr 2cd6600a38
Add type annotations to `options_section` 2025-12-18 17:04:59 -08:00
awsr e211b7bf39
Fix Extension type inference 2025-12-18 14:04:41 -08:00
awsr 3fa20d8fce
Add type assertion 2025-12-17 16:44:35 -08:00
awsr ab7ca7e303
Remove unused TypeGuard import 2025-12-17 16:44:09 -08:00
awsr dcb7164d30
Update `readfile` type safety 2025-12-17 16:43:54 -08:00
awsr 18bfa4b031
Fix type enforcement 2025-12-17 13:44:25 -08:00
awsr 6f00ad4643
Add type annotation to save queue 2025-12-17 13:38:42 -08:00
awsr 4816455a99
Don't try to read txt file as json 2025-12-17 13:18:48 -08:00
awsr 56fc36d944
More dict type safety opt in 2025-12-17 13:18:48 -08:00
awsr 41105c362a
Revert change incorrectly reported by Pyright as an error 2025-12-17 13:18:14 -08:00
awsr c34c42493e
Opt in to dict type safety 2025-12-17 13:18:14 -08:00
awsr 5206216487
Typing updates 2025-12-17 13:18:13 -08:00
awsr c22ca8d76e
Create and opt in to dict type safety from JSON
Opt in via the keyword-only argument `dict_only`
2025-12-17 13:18:13 -08:00
Vladimir Mandic 5ab228a495
Merge pull request #4477 from awsr/extension-status-fix
Fix and improve extension status icons
2025-12-17 10:32:46 +01:00
vladmandic e2fb70d4a1 detailer draw segmentation overlays
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-17 10:03:17 +01:00
awsr 2a95973767
Fix and improve extension status icons 2025-12-16 20:49:07 -08:00
awsr 13a04c2312
Add color-adjustable SVG string support 2025-12-16 20:48:12 -08:00
vladmandic a7956d0c5c detailer support for segmentation models and use of segmentation masks
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-16 22:51:52 +01:00
Disty0 0d45e851fb disable compile on balanced offload hooks 2025-12-16 16:43:43 +03:00
vladmandic 409ad8d2bd add longcat image and image-edit
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-16 08:58:22 +01:00
vladmandic 0706f46a91 alias pipeline output image/images
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-13 09:30:05 +01:00
Disty0 ce8b6d138c SDNQ remove forced uint4 from convs and cleanup 2025-12-13 01:32:52 +03:00
vladmandic 13b4dc8996 update google access methods
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-12 09:56:39 +01:00
Vladimir Mandic 8e02b87696
Merge pull request #4460 from CalamitousFelicitousness/pixtralpromptfix
fix(prompt): handle multi-modal processors in token counter
2025-12-11 07:45:43 +01:00
CalamitousFelicitousness 810c00eb12 fix(processing): convert vae_decode results to list in process_decode
The else branch in process_decode was returning a numpy array directly
from vae_decode, while the if branch properly converted results to a
list. This caused process_samples to return early with an empty infotext
list, and zip(numpy_array, []) produced zero iterations, resulting in
images=0 for detailer, inpainting, and img2img operations.

Bug introduced in 3e8dec929 (Dec 2024), exposed by 63a180be1 (Nov 2025).
2025-12-11 03:00:40 +00:00
CalamitousFelicitousness a19c795b49 fix(prompt): handle multi-modal processors in token counter
For FLUX2 models using Mistral3/PixtralProcessor, detect and use the
underlying text tokenizer instead of calling the processor directly,
which incorrectly tries to interpret text prompts as images.
2025-12-10 18:54:39 +00:00
Vladimir Mandic 29a3473772
Merge pull request #4458 from awsr/interrogate-icon
Change "interrogate" icon
2025-12-10 10:44:31 +01:00
vladmandic a72b98848c cleanup
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-10 10:17:37 +01:00
Vladimir Mandic 4558963b13
Merge pull request #4457 from awsr/cache-opt
Fix/update browser cache behavior
2025-12-10 09:05:34 +01:00
awsr 8aafaf2c8b
Change "interrogate" icon
Feels like it fits the action more and is more distinct from the resize icon.
2025-12-09 20:01:20 -08:00
awsr 9d8119b6ab
Fix/update browser cache behavior
It was partially ignoring the setting and writing to cache anyway.
2025-12-09 19:23:16 -08:00
CalamitousFelicitousness d277392103 feat(ui): caption tab label styling and CLIP analysis text output
Add clip_labels_text component for CLIP analysis results and standardize
label capitalization across VLM and CLiP sections for consistency.
2025-12-09 18:54:44 +00:00
vladmandic d0e0e91a16 Merge branch 'dev' of https://github.com/vladmandic/sdnext into dev 2025-12-09 19:14:12 +01:00
vladmandic 3a65d561a7 add google-veo-3.1
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-09 19:14:08 +01:00
Disty0 de5d4f0165 SDNQ fix sr not doing anything 2025-12-09 19:57:34 +03:00
Disty0 949ff04577 SDNQ fix fp16 mm with fp8 weights and improve stochastic rounding performance 2025-12-09 17:41:29 +03:00
vladmandic acca58f50c add kandinsky5
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-09 09:47:22 +01:00
vladmandic f91af19094 update video models
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-09 09:22:28 +01:00
Disty0 1c2a81ee2d Make SDNQDequantizer a dataclass 2025-12-08 22:29:45 +03:00
vladmandic 3f161b5532 lint moondream
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-08 18:16:00 +01:00
vladmandic 69f0d6bf5d lint
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-08 18:12:47 +01:00
Vladimir Mandic 5a1d60e1b9
Merge pull request #4448 from CalamitousFelicitousness/feat/vqa-prefill-thinking-moondream3
VQA Refactor
2025-12-08 17:43:48 +01:00
Disty0 d4e2cbb826 SDNQ fix torch.compile always being active 2025-12-08 18:15:08 +03:00
Disty0 3ae7ecdbad SDNQ fix quantization_device getting ignored on post load quant 2025-12-08 01:29:52 +03:00
Disty0 064b64c76c cleanup 2025-12-08 01:14:19 +03:00
Disty0 6e05a12a49 SDNQ post process pre-quants after load 2025-12-08 01:08:53 +03:00
Disty0 0835ca6f66 SDNQ add explicit model.quantization_method = QuantizationMethod.SDNQ 2025-12-08 00:46:40 +03:00
Disty0 7a6356f8eb SDNQ fix transformers v5 and check for torch._dynamo.config.disable 2025-12-08 00:36:15 +03:00
Disty0 4f90054bf7 SDNQ transformers v5 support 2025-12-07 21:37:41 +03:00
Vladimir Mandic 469962cc9c
Merge pull request #4453 from awsr/python-datetime-compat
Fix timestamp formatting for thumbnails
2025-12-07 06:49:38 +01:00
awsr f01e977695
Fix timestamp formatting for thumbnails 2025-12-06 18:34:15 -08:00
vladmandic 7bd04e0b5c add /detailers api endpoint
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-06 12:33:52 +01:00
CalamitousFelicitousness a51e1501d6 fix(vqa): no moondream3 compile during explicit load
- Initialize KV caches before moving model to device
- Disable flex_attention decoding to avoid torch.compile hang
- Remove unused compile step (controlled by cuda_compile setting)

The flex_attention's create_block_mask triggers torch compilation
which can hang the system when called during model preload.
2025-12-06 02:26:34 +00:00
CalamitousFelicitousness 7714f71994 feat(vqa): un/load support and extract detection
Make external VQA handlers (moondream3, joytag, joycaption, deepseek)
compatible with VQA load/unload mechanism for consistent model lifecycle.

- Added vqa_detection.py, add shared detection helpers
- Add load and unload functions to all external handlers
- Replace device_map="auto" with sd_models.move_model in joycaption
- Update dispatcher and moondream handlers to use shared helpers
2025-12-05 23:52:02 +00:00
CalamitousFelicitousness 5193285bc7 refactor(vqa): convert to class-based singleton
Refactor VQA module from module-level globals to a VQA class singleton
  pattern with self-contained per-model loading methods.

Changes:
- Add VQA class with model/processor state and detection data storage
- Extract load methods for clean model pre-loading via UI
- Interrogate to return string only; store detection data on instance
- Add vqa_draw.py for bounding box/point annotation utilities
    Stub, further transfer of drawing functions to follow
- Update moondream3.py to store detection data on VQA singleton
- Update endpoints.py and ui_caption.py for new return type
2025-12-05 20:53:18 +00:00
Disty0 1cfb61809f cleanup 2025-12-05 18:40:49 +03:00
Disty0 5b86bef796 SDNQ add longcat keys 2025-12-05 18:37:20 +03:00
CalamitousFelicitousness d1b1d574a6 fix(vqa): add graceful error for empty "Use Prompt" task
Replace silent fallback to "Describe the image" with explicit error
when user selects "Use Prompt" but leaves the prompt field empty.
Follows the same pattern as missing image validation.
2025-12-05 01:48:07 +00:00
CalamitousFelicitousness a8a9e6d836 fix(vqa): separate Moondream 2 and 3 task prompts
Moondream 3 does not support gaze detection (detect_gaze method),
so "Detect Gaze" task is now only shown for Moondream 2.
2025-12-05 01:38:28 +00:00
CalamitousFelicitousness 195161c436 fix(settings): hide VLM prefill/thinking settings from Settings UI
These settings are accessible from the Caption tab and can be saved
as defaults via "Set UI defaults", so they don't need to appear in
Settings > Interrogate.
2025-12-05 00:54:24 +00:00
CalamitousFelicitousness 2b6226b62b feat(vqa): persist thinking mode and improve reasoning output formatting
- Add interrogate_vlm_thinking_mode setting to save checkbox state
- Update ui_caption to restore Thinking Mode preference on load
- Add blank line before 'Answer:' label for visual separation
- Remove '\n\n' replacement in clean() that stripped blank lines
- Fix Qwen reasoning detection when <think> tag is in prompt, not response
- Add reasoning icon to Moondream 2 and 3 model names
2025-12-05 00:00:25 +00:00
CalamitousFelicitousness a4b5e84a13 feat(vqa): enhance Moondream 2 with reasoning mode, gaze detection, and annotations
- Add thinking_mode/reasoning parameter to enable reasoning mode
- Add Detect Gaze task with placeholder hint
- Parse point/detect results to return annotation data for visualization
- Handle keep_thinking setting: format as "Reasoning:\n...\nAnswer:\n..." or discard
- Add comprehensive debug logging throughout handler
2025-12-05 00:00:25 +00:00
CalamitousFelicitousness c75a09be83 fix(vqa): handle Moondream point and detect tasks
Add handlers for "Point at..." and "Detect..." tasks in moondream()
that were falling through to answer_question() and failing.
2025-12-05 00:00:25 +00:00
CalamitousFelicitousness 506515b018 feat(vqa): add load/unload model buttons to Caption tab
- Add load_model() function to pre-load VLM into memory
- Add unload_model() function to free VLM from memory
- Add Load/Unload buttons to Caption tab UI
2025-12-05 00:00:25 +00:00
CalamitousFelicitousness a90d85ddfd feat(ui): add dynamic task selection based on VLM model
- Rename "Predefined question" to "Task"
- Task dropdown updates choices when model changes
- Prompt placeholder updates based on selected task
- Model-specific tasks: Florence-2 gets detection tasks, Moondream gets point/detect
2025-12-05 00:00:25 +00:00
CalamitousFelicitousness 4df6aa7944 fix(ui): set prefill text to empty by default 2025-12-05 00:00:25 +00:00
CalamitousFelicitousness 0d88fcd396 feat(ui): add prefill and thinking controls to Caption tab
Add minimal UI controls to expose new VQA functionality:
- Prefill Text input for guiding VLM responses
- Thinking Mode checkbox for reasoning models
- Keep Thinking Trace checkbox for output retention
- Keep Prefill checkbox for output retention
- Annotated Image output panel for detection visualization
- Updated button handlers to pass new parameters
2025-12-05 00:00:24 +00:00
CalamitousFelicitousness c2810dfee2 fix(api): update VQA API endpoint for tuple return format
Update interrogate API endpoint to handle the new (text, image)
tuple return format from VQA interrogate function.
2025-12-05 00:00:24 +00:00
CalamitousFelicitousness 27fa48cc99 feat(vqa): major VQA handler refactor with prefill, thinking, and visualization
Comprehensive overhaul of the VQA interrogation system including:
- Prefill text support for guiding VLM responses
- Thinking mode support with tag cleanup/retention
- Dynamic prompt/task selection based on model type
- Bounding box visualization for detection results
- Debug infrastructure (SD_VQA_DEBUG env var)
- New model support: MiMo-VL, Nidum Gemma, Allura Gemma
- Model-specific prompt lists (Florence, Moondream)
2025-12-05 00:00:24 +00:00
CalamitousFelicitousness 0a322c0faf feat(vqa): add Moondream 3 Preview handler
Add support for Moondream 3 Preview VLM with:
- Text query, caption, point, and detect capabilities
- Bounding box visualization for object detection
- Max pixels setting for resolution control
- Device offloading support
2025-12-05 00:00:24 +00:00
CalamitousFelicitousness c024c0c9c6 feat(settings): add VLM prefill and thinking retention options
Add new VLM configuration options:
- interrogate_vlm_keep_prefill: Keep prefill text in output
- interrogate_vlm_keep_thinking: Keep reasoning trace in output

Also adjust defaults:
- Change interrogate_clip_flavor_count: 16 -> 1024 with updated range
- Change interrogate_vlm_prompt default to first item ("Use Prompt")
2025-12-05 00:00:24 +00:00
CalamitousFelicitousness 85cd222793 fix(vqa): sort CLiP analysis results and add text output
Improvements to the OpenCLIP interrogation:
- Sort all ranking dicts by similarity score (descending)
- Add format_category() helper for text formatting
- Add formatted text output for CLIP labels textbox
- Return additional text update in analyze_image()
2025-12-02 21:48:09 +00:00
CalamitousFelicitousness eb832a4850 fix(vqa): respect offload setting in JoyCaption, add max_pixels
Two fixes for the JoyCaption handler:
- Only offload model if shared.opts.interrogate_offload is True
- Add max_pixels=1024*1024 to AutoProcessor for consistent image handling
2025-12-02 21:46:09 +00:00
CalamitousFelicitousness 766cb49928 feat(ui): add vision and reasoning symbols, fix dropdown fonts
Add new Font Awesome symbols for model capability indicators:
- vision symbol (eye icon) for vision-capable VLM models
- reasoning symbol (lightbulb icon) for thinking/reasoning models

Also fix dropdown font styling by adding NotoSans font-family.
2025-12-02 21:43:13 +00:00
vladmandic d3a2f6c7ed fix loading local prequant models
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-02 20:53:19 +01:00
vladmandic 0ad40d2b8b lint
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-02 12:25:04 +01:00
vladmandic 39bced0987 Merge branch 'dev' of https://github.com/vladmandic/sdnext into dev 2025-12-02 10:40:31 +01:00
vladmandic 903d47f9e6 add zimage and f2 to lora overrides
Signed-off-by: vladmandic <mandic00@live.com>
2025-12-02 10:40:27 +01:00
Vladimir Mandic 3b4f909862
Merge pull request #4436 from CalamitousFelicitousness/runai-update
Update runai-model-streamer logging integration
2025-12-02 03:59:38 -05:00
Vladimir Mandic 1673380b94
Merge pull request #4430 from awsr/fix_show_progress
show_progress requires "full", "minimal", or "hidden"
2025-12-02 03:50:34 -05:00
Vladimir Mandic de3ebf470d
Merge pull request #4428 from awsr/revert-for-now
Revert changes that require at least Python version 3.12
2025-12-02 03:49:20 -05:00
CalamitousFelicitousness 55c089ae48 Update runai-model-streamer logging integration
- Remove stdout redirect monkeypatch (fixed in runai v0.15.1 via PR #97)
- Add RUNAI_STREAMER_LOG_LEVEL controlled by SD_LOAD_DEBUG
- Add one-time runai config log when hijack is activated
- Add `loader=runai|default` to model loading logs
- Remove per-file logging clutter from sd_hijack_safetensors.py
2025-12-02 02:01:51 +00:00
Disty0 7aa1bfdc70 Add get_modules_to_not_convert from transformers v5 2025-12-02 01:01:51 +03:00
Disty0 d9bc31e7da Cleanup 2025-11-29 01:46:04 +03:00
Disty0 01a0f6b356 Warn and disable quantized matmul if triton is not available 2025-11-29 01:34:54 +03:00
Disty0 3e52009a4f SDNQ assert Triton for quantized matmul 2025-11-29 00:54:19 +03:00
Disty0 aaef4992c3 SDNQ fix svd + fp8 tw and fp16 mm 2025-11-28 22:31:09 +03:00
awsr 00d3be3dba show_progress requires "full", "minimal", or "hidden" 2025-11-28 02:27:19 -08:00
awsr 328eb95851 Revert changes due to min Python version being 3.12 2025-11-27 14:57:51 -08:00
awsr 62b959a229 Fix importlib.metadata 2025-11-27 14:47:56 -08:00
Disty0 a46f32b354 pull sdnq version from .common 2025-11-28 01:10:05 +03:00
Disty0 55cf627ac6 add version to sdnq 2025-11-28 00:45:24 +03:00
Disty0 368eb3103a cleanup 2025-11-27 18:40:15 +03:00
Disty0 73e4d1e379 Pass torch_dtype to sdnq loader 2025-11-27 18:37:35 +03:00
Disty0 7b2a8e3f87 cleanup 2025-11-27 18:26:14 +03:00
Disty0 ff4c254930 Auto handle tied weights with new transformers 2025-11-27 18:24:55 +03:00
CalamitousFelicitousness 9dd537072c Fix import path for SDNQ options and handle Qwen models in load_sdnq_model 2025-11-27 14:53:03 +00:00