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
Wagner Bruna
f7f05fb185
chore: avoid setting GGML_MAX_NAME when building against external ggml ( #751 )
...
An external ggml will most likely have been built with the default
GGML_MAX_NAME value (64), which would be inconsistent with the value
set by our build (128). That would be an ODR violation, and it could
easily cause memory corruption issues due to the different
sizeof(struct ggml_tensor) values.
For now, when linking against an external ggml, we demand it has been
patched with a bigger GGML_MAX_NAME, since we can't check against a
value defined only at build time.
2025-08-03 01:24:40 +08:00
Wagner Bruna and one-lithe-rune
7eb30d00e5
feat: add missing models and parameters to image metadata ( #743 )
...
* feat: add new scheduler types, clip skip and vae to image embedded params
- If a non default scheduler is set, include it in the 'Sampler' tag in the data
embedded into the final image.
- If a custom VAE path is set, include the vae name (without path and extension)
in embedded image params under a `VAE:` tag.
- If a custom Clip skip is set, include that Clip skip value in embedded image
params under a `Clip skip:` tag.
* feat: add separate diffusion and text models to metadata
---------
Co-authored-by: one-lithe-rune <skapusniak@lithe-runes.com >
2025-07-28 22:00:27 +08:00
Wagner Bruna
6d84a30c66
feat: overriding quant types for specific tensors on model conversion ( #724 )
2025-07-08 00:11:38 +08:00
Wagner Bruna
76c72628b1
fix: fix a few typos on cli help and error messages ( #714 )
2025-07-04 22:15:41 +08:00
Wagner Bruna
0d8b39f0ba
fix: avoid crash on sdxl loras ( #658 )
...
Some SDXL LoRAs (eg. PCM) can exceed 12k nodes.
2025-06-30 23:29:32 +08:00
Wagner Bruna
b1fc16b504
fix: allow resetting clip_skip to its default value ( #697 )
2025-06-30 23:23:21 +08:00