1 个不稳定版本
0.1.0 | 2023 年 8 月 25 日 |
---|
#26 在 #text-image
58KB
1K SLoC
stabilityai
stability.ai 的 Rust 库
概述
stabilityai
是 stability.ai 的非官方 Rust 库
- 它基于 OpenAPI 规范
- 当前功能
- 用户
- 引擎
- 生成
该库从环境变量 STABILITY_API_KEY
中读取 API 密钥。
# On macOS/Linux
export STABILITY_API_KEY='sk-...'
# On Windows Powershell
$Env:STABILITY_API_KEY='sk-...'
- 访问 示例 以获取完整示例。
- 访问 docs.rs/stabilityai 以获取文档。
文本到图像示例
use stabilityai::{
error::StabilityAIError,
types::{ClipGuidancePreset, Sampler, StylePreset, TextToImageRequestBodyArgs},
Client,
};
use std::error::Error;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
// create client, reads STABILITY_API_KEY environment variable for API key.
let client = Client::new();
let request = TextToImageRequestBodyArgs::default()
.text_prompts(
"A banner with ocean background having a cute \
red cartoon crab on beach and boats in the ocean",
)
.samples(1)
.steps(30_u32)
.clip_guidance_preset(ClipGuidancePreset::FastBlue)
.sampler(Sampler::KDpmpp2sAncestral)
.width(1216_u16)
.height(832_u16)
.style_preset(StylePreset::ThreeDModel)
.build()?;
let artifacts = client
.generate("stable-diffusion-xl-1024-v1-0")
.text_to_image(request)
.await?;
// Create directory if doesn't exist and save images
let paths = artifacts.save("./data").await?;
paths
.iter()
.for_each(|path| println!("Image saved at {}", path.display()));
Ok(())
}
贡献
感谢您抽出时间来贡献和改进项目,我将非常高兴有您的加入!
一个好的起点可能是现有的 开放问题。
许可证
本项目采用 MIT 许可证。
依赖关系
~7–21MB
~344K SLoC