Wagner Bruna
766ce0ec4e
perf: replace qkv materialized chunks with views ( #2335 )
2026-11-12 23:10:48 +08:00
Wagner Bruna
f977addf06
fix: disable batch_cfg for Metal when building with upstream ggml ( #2311 )
2026-11-09 22:10:12 +08:00
Wagner Bruna
8cbe905fdd
refactor: use a distinct version id for Chroma ( #2237 )
2026-10-28 22:02:18 +08:00
Wagner Bruna
d234ac62fa
feat: print sigma values before inference ( #2205 )
2026-10-25 15:58:35 +08:00
Wagner Bruna
0886f11b6b
fix: skip reference image VAE encoding when latents have no consumer ( #2207 )
2026-10-25 05:19:32 +08:00
Wagner Bruna
530fa39073
fix: prevent z-image crash with reference images ( #2185 )
2026-10-22 22:57:44 +08:00
Wagner Bruna
20050815ac
chore: clean up include paths ( #2175 )
2026-10-20 22:58:52 +08:00
Wagner Bruna
c150a6bafe
fix: correct step count adjustment for custom sigmas list ( #2084 )
2026-10-06 17:55:00 +08:00
Wagner Bruna and leejet
f4b5326da7
feat: support for merging LoRA weights on model conversion ( #2079 )
...
Co-authored-by: leejet <leejet714@gmail.com >
2026-10-06 17:50:16 +08:00
Wagner Bruna
b8248a869c
fix: avoid passing ggml logs as format strings ( #2002 )
2026-09-21 00:50:52 +08:00
Wagner Bruna
008ca5b492
feat: restore legacy fp8 handling when building with upstream ggml ( #2001 )
2026-09-21 00:48:30 +08:00
Wagner Bruna
07a85c74cb
feat: support Brownian tree noise in all noise injection samplers ( #1899 )
2026-09-15 02:37:31 +08:00
Wagner Bruna
d04e8950c1
fix: correct SDXL embeddings loading ( #1939 )
2026-09-08 00:23:08 +08:00
Wagner Bruna
88b044be7f
fix: mark graph cuts with both a prefix and a suffix ( #1883 )
2026-08-19 22:27:48 +08:00
Wagner Bruna
af92790ffc
feat: allow customizing the alpha and beta parameters of the beta scheduler ( #1834 )
2026-07-30 21:24:51 +08:00
Wagner Bruna
b8bf67615c
fix: correct dangling pointer to empty image reference vector ( #1813 )
2026-07-24 21:20:33 +08:00
Wagner Bruna
2961182365
chore: add missing override declarations ( #1800 )
2026-07-21 22:49:52 +08:00
Wagner Bruna
45714b1069
feat(sdapi): report generation parameters through the info field ( #1426 )
2026-07-05 16:11:37 +08:00
Wagner Bruna
ec4cb8104b
fix: correct TAEHV encoding for image models ( #1711 )
2026-06-27 01:23:18 +08:00
Wagner Bruna and leejet
39f7962d69
ci: adopt dynamic cpu backends on released binaries ( #1704 )
...
Co-authored-by: leejet <leejet714@gmail.com >
2026-06-26 09:31:13 +08:00
Wagner Bruna
e8e012eef2
fix: workaround for Anima with Vulkan and Flash Attention ( #1678 )
2026-06-22 00:20:00 +08:00
Wagner Bruna
710bc91c8f
fix: correct conversion from sd_type_t to ggml_type ( #1519 )
2026-06-16 23:54:42 +08:00
Wagner Bruna and leejet
5a34bc7f6e
feat: support for cancelling generations ( #1124 )
...
* feat: support for canceling the ongoing generation
* return partial image batches on cancel
---------
Co-authored-by: leejet <leejet714@gmail.com >
2026-06-16 00:36:38 +08:00
Wagner Bruna
81abfb2548
chore: rename and reformat gits_noise.inl ( #1617 )
2026-06-07 22:30:20 +08:00
Wagner Bruna and leejet
02f06370a7
refactor: call CPU backend functions dynamically ( #1591 )
...
Co-authored-by: leejet <leejet714@gmail.com >
2026-06-01 23:41:21 +08:00
Wagner Bruna
b54bd83a3f
fix: explicitly exclude f8, f64 and i64 tensors from mmap ( #1575 )
2026-05-30 18:31:08 +08:00
Wagner Bruna
0e4ee04488
fix: correct tae for models that use the flux2 vae ( #1571 )
2026-05-28 09:13:16 +08:00
Wagner Bruna
f683c88a28
feat: make negative max_vram control the amount of spare vram ( #1503 )
2026-05-18 23:00:06 +08:00
Wagner Bruna
e7eb92fd84
feat: add Gradient Estimation sampler ( #1484 )
2026-05-17 22:54:28 +08:00
Wagner Bruna
fd1a2794f3
refactor: unify Euler, Euler Ancestral and DDIM implementations ( #1474 )
2026-05-16 16:13:28 +08:00
Wagner Bruna
686856edca
chore: do not report the fake VAE "allocation" as an error ( #1494 )
2026-05-16 16:08:31 +08:00
57ff2eb0f4
feat: support for memory-mapping model weights ( #1414 )
...
Co-authored-by: Piotr Wilkin <piotr.wilkin@syndatis.com >
Co-authored-by: Junmo Kim <me@junmo.kim >
Co-authored-by: leejet <leejet714@gmail.com >
2026-05-15 00:30:03 +08:00
Wagner Bruna
586b6f1481
feat: adapt res samplers for flow models for eta > 0 ( #1436 )
2026-05-06 21:49:06 +08:00
b8079e253d
feat: transition from compile-time to runtime backend discovery ( #1448 )
...
Co-authored-by: Stéphane du Hamel <stephduh@live.fr >
Co-authored-by: Cyberhan123 <255542417@qq.com >
Co-authored-by: leejet <leejet714@gmail.com >
2026-04-29 23:26:57 +08:00
Wagner Bruna
331cfa5387
fix: release VAE compute buffer after tiled encoding ( #1465 )
2026-04-29 22:25:30 +08:00
Wagner Bruna
7023fc4cfb
fix: correct image to image DDIM and TCD ( #1410 )
2026-04-19 17:51:28 +08:00
Wagner Bruna
e77e4c46bf
feat: adapt LCM for flow models ( #1413 )
2026-04-19 17:49:46 +08:00
Wagner Bruna
f3f69e2fbe
feat: add DPM++ (2S) Ancestral implementation for flow models ( #1428 )
2026-04-18 15:05:09 +08:00
Wagner Bruna
2bcff67480
fix: correct dpm++2s_a second model call ( #1435 )
2026-04-18 14:54:41 +08:00
Wagner Bruna
ee5bf956b0
chore: allow building the embedded UI header separately ( #1415 )
2026-04-15 22:07:31 +08:00
Wagner Bruna and professor-moody
118489eb5c
chore: harden safetensors and gguf loading code ( #1404 )
...
Co-authored-by: professor-moody <keys@nimbus.lan >
2026-04-11 17:19:57 +08:00
Wagner Bruna
be9f51b25c
refactor: simplify DiscreteFlowDenoiser ( #1405 )
2026-04-11 17:18:23 +08:00
Wagner Bruna
dd753729cc
fix: correct double increment on flow denoisers sigma calculations ( #1372 )
2026-04-08 23:13:05 +08:00
Wagner Bruna and leejet
687a81f251
chore: make libwebp optional and support system libwebp ( #1387 )
...
Co-authored-by: leejet <leejet714@gmail.com >
2026-04-05 23:52:05 +08:00
Wagner Bruna and leejet
99c1de379b
feat: ancestral sampler implementations for flow models ( #1374 )
...
* feat: add support for the eta parameter to ancestral samplers
* feat: Euler Ancestral sampler implementation for flow models
* refine flow ancestral sampling and normalize eta defaults
---------
Co-authored-by: leejet <leejet714@gmail.com >
2026-04-02 01:35:29 +08:00
Wagner Bruna
4fe7a35939
feat(server): add generation metadata to png images ( #1217 )
2026-03-31 23:06:27 +08:00
Wagner Bruna
02dd5e5dd2
refactor: move VAE tiling parameters to SDGenerationParams ( #1261 )
2026-03-30 23:09:38 +08:00
Wagner Bruna
6293ab5aaf
docs: update Spectrum info about DiT models ( #1360 )
2026-03-30 00:12:57 +08:00
Wagner Bruna
630ee03f23
refactor: move all cache parameter defaults to the library ( #1327 )
2026-03-15 16:43:46 +08:00
Wagner Bruna
f6968bc589
chore: remove SD_FAST_SOFTMAX build flag ( #1338 )
2026-03-15 16:42:47 +08:00
Wagner Bruna
39d54702a6
feat: accept legacy image parameter on v1/images/edits ( #1270 )
2026-03-01 22:00:50 +08:00
Wagner Bruna
60889bc9a1
fix: correct sdapi LoRA file handling ( #1276 )
2026-03-01 21:57:06 +08:00
Wagner Bruna and leejet
b314d80ad0
feat: turn flow_shift into a generation parameter ( #1289 )
...
* feat: turn flow_shift into a generation parameter
* format code
* simplify set_shift/set_parameters
* fix sd_sample_params_to_str
* remove unused variable
* update docs
---------
Co-authored-by: leejet <leejet714@gmail.com >
2026-02-26 00:26:04 +08:00
Wagner Bruna
adea272225
feat(server): use image and command-line dimensions by default on server ( #1262 )
2026-02-11 00:42:50 +08:00
Wagner Bruna
c7ccafbd6f
fix: correct sdapi handling of cfg_scale and steps ( #1260 )
2026-02-09 23:34:19 +08:00
Wagner Bruna
329571131d
chore: clarify warning about missing model files ( #1219 )
2026-01-21 22:34:11 +08:00
Wagner Bruna and leejet
61659ef299
feat: add basic sdapi support to sd-server ( #1197 )
...
* feat: add basic sdapi support to sd-server
Compatible with AUTOMATIC1111 / Forge.
* fix img2img with no mask
* add more parameter validation
* eliminate MSVC warnings
---------
Co-authored-by: leejet <leejet714@gmail.com >
2026-01-19 00:21:11 +08:00
Wagner Bruna
fbce16e02d
fix: avoid undefined behavior on image mask allocation failure ( #1198 )
2026-01-18 01:14:56 +08:00
Wagner Bruna
48d3161a8d
feat: add sd-server API support for steps, sampler and scheduler ( #1173 )
2026-01-14 00:34:27 +08:00
Wagner Bruna
c5602a676c
feat: prioritize gguf and safetensors formats for embeddings and LoRAs ( #1169 )
2026-01-05 23:58:09 +08:00
Wagner Bruna
d0d836ae74
feat: support mmap for model loading ( #1059 )
2025-12-28 22:38:29 +08:00
Wagner Bruna
cc107714d7
fix: consistently pass 2nd-order samplers half steps as negatives ( #1095 )
2025-12-27 15:54:18 +08:00
Wagner Bruna
7c88c4765c
chore: give feedback about cfg values smaller than 1 ( #1088 )
2025-12-19 23:41:52 +08:00
Wagner Bruna and leejet
78e15bd4af
feat: default to LCM scheduler for LCM sampling ( #1109 )
...
* feat: default to LCM scheduler for LCM sampling
* fix bug and attempt to get default scheduler for vid_gen when none is set
---------
Co-authored-by: leejet <leejet714@gmail.com >
2025-12-18 21:43:39 +08:00
Wagner Bruna
e687913bf1
chore: remove lora_model_dir parameter ( #1100 )
2025-12-16 22:37:45 +08:00
Wagner Bruna
200cb6f2ca
fix: avoid crash with VAE tiling and certain image sizes ( #1090 )
2025-12-15 23:51:40 +08:00
Wagner Bruna
a3a88fc9b2
fix: avoid crash loading LoRAs with bf16 weights ( #1077 )
2025-12-12 22:36:54 +08:00
Wagner Bruna
e72aea796e
feat: embed version string and git commit hash ( #1008 )
2025-12-09 22:38:54 +08:00
Wagner Bruna
118683de8a
fix: correct preview method selection ( #1038 )
2025-12-04 22:43:16 +08:00
Wagner Bruna
99e17232a4
fix: prevent NaN issues with Z-Image on certain ROCm setups ( #1034 )
2025-12-03 22:19:34 +08:00
Wagner Bruna
e4c50f1de5
chore: add sd_ prefix to a few functions ( #967 )
2025-12-01 22:43:52 +08:00
Wagner Bruna
673dbdda17
fix: add missing line cleanup for s/it progress display ( #891 )
2025-11-30 11:45:30 +08:00
Wagner Bruna
0249509a30
refactor: add user data pointer to the image preview callback ( #1001 )
2025-11-30 11:34:17 +08:00
Wagner Bruna
45c46779af
feat: add LCM scheduler ( #983 )
2025-11-22 13:53:31 +08:00
Wagner Bruna and masamaru-san
b542894fb9
fix: avoid crash on default video preview path ( #997 )
...
Co-authored-by: masamaru-san
2025-11-22 12:46:27 +08:00
Wagner Bruna
199e675cc7
feat: support for --tensor-type-rules on generation modes ( #932 )
2025-11-16 17:07:32 +08:00
Wagner Bruna
e8eb3791c8
fix: typo in --lora-apply-mode help ( #972 )
2025-11-16 14:48:00 +08:00
Wagner Bruna
aa44e06890
fix: avoid crash with LoRAs and type override ( #974 )
2025-11-16 14:47:36 +08:00
Wagner Bruna
945d9a9ee3
docs: add Koboldcpp as an available UI ( #930 )
2025-11-02 02:03:01 +08:00
Wagner Bruna
353e708844
docs: update ggml and llama.cpp URLs ( #931 )
2025-11-02 02:02:44 +08:00
Wagner Bruna
8a45d0ff7f
chore: clean up stb includes ( #919 )
2025-10-28 23:25:45 +08:00
Wagner Bruna
64a7698347
chore: report number of Qwen layers as info ( #901 )
2025-10-18 23:22:01 +08:00
Wagner Bruna
c64994dc1d
fix: better progress display for second-order samplers ( #834 )
2025-10-13 22:12:48 +08:00
Wagner Bruna
5436f6b814
fix: correct canny preprocessor ( #861 )
2025-10-13 22:02:35 +08:00
Wagner Bruna
9727c6bb98
fix: resolve VAE tiling problem in Qwen Image ( #873 )
2025-10-12 23:45:53 +08:00
Wagner Bruna
aa68b875b9
refactor: deal with default img-cfg-scale at the library level ( #869 )
2025-10-12 23:17:52 +08:00
Wagner Bruna and leejet
5b261b9cee
feat: add a stand-alone upscale mode ( #865 )
...
* feat: add a stand-alone upscale mode
* fix prompt option check
* format code
* update README.md
---------
Co-authored-by: leejet <leejet714@gmail.com >
2025-10-12 23:10:02 +08:00
Wagner Bruna
f3140eadbb
fix: tensor loading thread count ( #854 )
2025-09-25 00:26:38 +08:00
Wagner Bruna
513f36d495
docs: include Vulkan compatibility for LoRA quants ( #845 )
2025-09-25 00:01:10 +08:00
Wagner Bruna and leejet
171b2222a5
fix: avoid segfault for pix2pix models without reference images ( #766 )
...
* fix: avoid segfault for pix2pix models with no reference images
* fix: default to empty reference on pix2pix models to avoid segfault
* use resize instead of reserve
* format code
---------
Co-authored-by: leejet <leejet714@gmail.com >
2025-09-18 00:11:38 +08:00
Wagner Bruna
c607fc3ed4
feat: use Euler sampling by default for SD3 and Flux ( #753 )
...
Thank you for your contribution.
2025-09-14 12:34:41 +08:00
Wagner Bruna
b54bec3f18
fix: do not force VAE type to f32 on SDXL ( #716 )
...
This seems to be a leftover from the initial SDXL support: it's
not enough to avoid NaN issues, and it's not not needed for the
fixed sdxl-vae-fp16-fix .
2025-09-14 12:19:59 +08:00
Wagner Bruna
5869987fe4
fix: make weight override more robust against ggml changes ( #760 )
2025-09-14 12:15:53 +08:00
Wagner Bruna
48956ffb87
feat: reduce CLIP memory usage with no embeddings ( #768 )
2025-09-14 12:08:00 +08:00
Wagner Bruna
ddc4a18b92
fix: make tiled VAE reuse the compute buffer ( #821 )
2025-09-14 11:41:50 +08:00
Wagner Bruna
ac5a215998
fix: use {} for params init instead of memset ( #781 )
2025-09-10 21:49:29 +08:00
Wagner Bruna
abb36d66b5
chore: update flash attention warnings ( #805 )
2025-09-10 21:38:21 +08:00
Wagner Bruna
ff4fdbb88d
fix: accept NULL in sd_img_gen_params_t::input_id_images_path ( #809 )
2025-09-10 21:22:55 +08:00
Wagner Bruna
2eb3845df5
fix: typo in the verbose long flag ( #783 )
2025-09-04 00:49:01 +08:00
Wagner Bruna
eea77cbad9
feat: throttle model loading progress updates ( #782 )
...
Some terminals have slow display latency, so frequent output
during model loading can actually slow down the process.
Also, since tensor loading times can vary a lot, the progress
display now shows the average across past iterations instead
of just the last one.
2025-09-01 21:32:01 +08:00