2 releases
new 0.1.1 | Nov 4, 2024 |
---|---|
0.1.0 | Nov 2, 2024 |
#138 in Graphics APIs
113 downloads per month
4MB
83K
SLoC
diffusion-rs
Rust bindings to https://github.com/leejet/stable-diffusion.cpp
Features Matrix
Windows | Mac | Linux | |
---|---|---|---|
vulkan | ✅️ | ✅️ | ✅️ |
metal | ❌️ | ✅️ | ❌️ |
cuda | ✅️ | ❌️ | ✅️ |
rocm | ❔️ | ❌️ | ✅️ |
sycl | ❔️ | ❌️ | ✅️ |
❔️: Not tested, should be supported
Usage
use diffusion_rs::{api::txt2img, preset::{Preset,PresetBuilder}};
let config = PresetBuilder::default()
.preset(Preset::SDXLTurbo1_0Fp16)
.prompt("a lovely duck drinking water from a bottle")
.build()
.unwrap();
txt2img(config).unwrap();
Troubleshooting
- Something other than Windows/Linux isn't working!
- I don't have a way to test these platforms, so I can't really help you.
- I get a panic during binding generation build!
- You can attempt to fix it yourself, or you can set the
DIFFUSION_SKIP_BINDINGS
environment variable. This skips attempting to build the bindings whatsoever and copies the existing ones. They may be out of date, but it's better than nothing.DIFFUSION_SKIP_BINDINGS=1 cargo build
- If you can fix the issue, please open a PR!
- You can attempt to fix it yourself, or you can set the
Roadmap
Ensure that the underline cpp library compiles on supported platformsBuild an easy to use library with model presetsAutomatic library publishing on crates.io by gh actions- Maybe prebuilt CLI app binaries
Dependencies
~1–14MB
~120K SLoC