#diffusion #api #image #create #request #client #token

diffusion_to

Rust 用于与diffusion.to API交互的crate

2个不稳定版本

0.2.0 2023年10月2日
0.1.0 2023年9月29日

#4 in #diffusion


用于 diffusion_to_cli

MIT 许可证

16KB
316

diffusion_to

Rust 用于与diffusion.to API交互的crate。

使用crate

首先,将crate添加到项目中。

cargo add diffusion_to

实例化一个客户端,创建一个图像请求,并发送。等待图像创建并下载。

let client = DiffusionClient::new(args.api_key)?;

let request = ImageRequest::new(args.prompt)
    .update_steps(args.steps.try_into()?)
    .update_model(args.model.try_into()?)
let token = client.request_image(request).await?;

// wait for up to five minutes
let image = client
    .check_and_wait(token, Some(Duration::from_secs(300)))
    .await?;

println!("{}", image.raw)

lib.rs:

diffusion_to

diffusion_to 是一个用于与diffusion.to API交互的库。此API使创建AI生成的图像并将其以base64格式下载变得容易,以便按需使用。UI中所有可用的选项都可通过库获得,尽可能使用枚举来防止发出无效请求。

示例

基本使用

let client = DiffusionClient::new(args.api_key)?;

let request = ImageRequest::new(args.prompt)
    .update_steps(args.steps.try_into()?)
    .update_model(args.model.try_into()?)
let token = client.request_image(request).await?;

// wait for up to five minutes
let image = client
    .check_and_wait(token, Some(Duration::from_secs(300)))
    .await?;

println!("{}", iamge.raw)

依赖项

~4–18MB
~247K SLoC