2 个稳定版本

1.0.1 2023 年 3 月 25 日
1.0.0 2023 年 3 月 24 日

#520 in 图像

每月 21 次下载

MIT 许可证

3MB
156

karlo-rs

cargo install karlo-rs

Karlo 是卡卡奥开发的一项功能,可以根据用户输入的文本和图像创建新图像。

生成型人工智能(AI) Karlo 通过对 1 亿 8 千万张图像-文本学习,理解用户描述的内容,

并完全以像素为单位创建新的图像。

此外,Karlo 还支持物体、背景、照明、构图和多种画风,使用户可以按照想要的构思进行创作。

在 B^EDIT 中,可以轻松体验使用 Karlo 创建图像的功能。

在线 B^EDIT 体验

使用方法

提示

提示(Prompt)是使用 Karlo API 生成图像所需的输入信息。

提示由描述生成图像的提示语或句子组成,可以根据需要包含原始图像等附加信息。

在利用指南中可以查看如何有效地构建提示以及各种示例。

支持语言:仅支持英文提示语。Karlo 可以理解从简单单词列表到长篇描述的各种内容,因此即使英语不流利,任何人也可以轻松使用。

创建图像

根据输入的文本生成图像。

构建描述要生成图像的提示语并将其传递,Karlo 将根据提示语的提示创建新的图像。

可以指定反映季节等时间特征的提示语,或指定使用特定作家的风格。

示例

use dotenv::dotenv;
use karlo_rs;
use std::env;
use tokio;

#[tokio::main]
async fn main() {
    dotenv().ok();
    let api_key = env::var("API_KEY").expect("API_KEY not set in .env file");

    // Generate images based on prompt text
    let text = "A newyork home, steampunk, snowy";
    let output_name = "sample_img/output"; // will be png
    let batch_size = Some(2); // or Some(value) where value is between 1 and 8

    match karlo_rs::generate_image(text, output_name, &api_key, batch_size).await {
        Ok(_) => println!("Image saved to {}", output_name),
        Err(e) => eprintln!("Error: {}", e),
    }

    // Generate images based on input image.
    let input_path = "sample_img/output_1.png";
    let output_name = "sample_img/output_variation"; // will be png
    let batch_size = None; // or Some(value) where value is between 1 and 8

    match karlo_rs::generate_variations(input_path, output_name, &api_key, batch_size).await {
        Ok(_) => println!("Variation image saved to {}", output_name),
        Err(e) => eprintln!("Error: {}", e),
    }
}

以上执行结果

提示:纽约家庭,蒸汽朋克,雪

output_1 output_2

变体

output_variation_1

依赖项

~18–31MB
~326K SLoC