StableDiffusion.NET

StableDiffusion.NET

C# Wrapper for StableDiffusion.cpp

Stars: 60

Visit
 screenshot

StableDiffusion.NET is a tool for creating images from text prompts using stable diffusion models. It allows users to build models with various configurations and options, supporting GPU acceleration for faster processing. The tool provides flexibility in choosing backends and integrating native libraries. Users can easily convert text prompts into images with default or custom parameters, and save the resulting images in PNG format. Additionally, users can extend the tool's functionality by writing custom extensions or installing pre-built extension sets like HPPH.System.Drawing and HPPH.SkiaSharp.

README:

StableDiffusion.NET

GitHub release (latest by date) Nuget GitHub GitHub Repo stars

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

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for StableDiffusion.NET

Similar Open Source Tools

For similar tasks

For similar jobs