mirror of
https://github.com/DarthAffe/StableDiffusion.NET.git
synced 2025-12-12 13:28:35 +00:00
Fixed wrong free of upscaled images
StableDiffusion.NET
Based on https://github.com/leejet/stable-diffusion.cpp
Usage
Setup
Install the StableDiffusion.NET-Nuget and at least one of the Backend-Packages.
If GPU-support is available it will prefer this over CPU.
If you want to add your own native-libraries or need more control over which backend to load, check the static Backends class.
Example
1. Create a model
stable diffusion:
using DiffusionModel model = ModelBuilder.StableDiffusion(@"<path to model")
.WithVae(@"<optional path to vae>")
.WithMultithreading()
.Build();
flux:
using DiffusionModel model = ModelBuilder.Flux(@"<path to flux-model.gguf>",
@"<path to clip_l.safetensors>",
@"<path to t5xxl_fp16.safetensors>",
@"<path to ae.safetensors>")
.WithMultithreading()
.Build();
2. create image
with default parameters:
IImage<ColorRGB> image = model.TextToImage("<prompt>");
with custom parameters:
IImage<ColorRGB> image = model.TextToImage("<prompt>", model.GetDefaultParameter().WithSeed(1234).WithSize(1344, 768));
3. (optional) save the image (requires System.Dawing or SkiaSharp extension)
File.WriteAllBytes("output.png", image.ToPng());
To process the resulting image further you can write your own extensions or install one of the HPPH-extension sets:
HPPH.System.Drawing
HPPH.SkiaSharp
Languages
C#
91.7%
C
7.3%
Batchfile
1%