1 个不稳定版本
0.0.1 | 2024年4月4日 |
---|
#8 in #stable-diffusion
在autogpt中使用
46KB
650 代码行
📸 GetImg
📸 GetImg: 一个 CLI 和 SDK,用于与 GetImg API 交互,通过各种端点实现图像生成和操作。
📖 目录
🚀 安装
要安装 getimg
CLI,请使用以下 Cargo 命令
cargo install --locked getimg --all-features
✨ 功能
- 从命令行界面与 GetImg API 交互。
- 使用各种端点生成和操作图像。
- 执行文本到图像和图像到图像的生成。
- 根据提示重新绘制图像或生成编辑后的图像。
- 利用 ControlNet 条件进行图像生成。
用法
在使用 getimg
CLI 之前,请确保设置以下环境变量
export GETIMG_API_KEY=<your_getimg_api_key>
从 GetImg 控制台 生成 API 密钥。
⌨ 作为 CLI 使用
生成编辑后的图像
getimg edit -p "A man riding a horse on Mars." -i image.jpg -s 25 -g 7.5 -e 25 -y 1.5 -o png -n "Disfigured, cartoon, blurry" -c ddim
重新绘制图像
getimg paint -p "An image of a cityscape with neon lights." -i image.png -m edited_image.png -w 512 -a 512 -e 50 -s 5 -g 10.0 -o jpeg -c euler -f 1 -n "Disfigured, cartoon, blurry"
从文本生成图像
getimg t2i -p "A colorful sunset over the ocean." -w 512 -a 512 -s 5 -e 42 -o png -n "Disfigured, cartoon, blurry"
从另一图像生成图像
getimg i2i -p "Add a forest in the background." -i generated_image.png -s 6 -e 512 -o jpeg -f 0.5 -n "Disfigured, cartoon, blurry"
使用 ControlNet 条件生成图像
getimg cnet -p "A painting of a landscape." -i generated_image.png -f 1.0 -w 512 -a 512 -s 25 -g 7.5 -e 512 -c lms -o png -r canny-1.1 -n "Disfigured, cartoon, blurry"
🎨 选项
选项 | 描述 |
---|---|
--api-key |
指定访问 GetImg API 的 API 密钥。 |
--model |
指定用于图像生成的模型。 |
🛠 子命令
子命令 | 描述 |
---|---|
edit |
生成编辑后的图像。 |
paint |
根据提示重新绘制图像。 |
t2i |
从文本生成图像。 |
i2i |
从另一图像生成图像。 |
cnet |
使用 ControlNet 条件生成图像。 |
✨ 作为 Crate 使用
-
添加
getimg
Crate[dependencies] getimg = "0.0.1"
-
使用提供的结构和方法在与 Rust 项目交互中使用 GetImg API。
use anyhow::Result; use getimg::client::Client; use getimg::utils::save_image; use std::env; #[tokio::main] async fn main() -> Result<()> { // Example usage let api_key = env::var("GETIMG_API_KEY").unwrap_or_default().to_owned(); let text_prompt = "a kanban-style task board with three columns: To Do, In Progress, and Done. Each column contains a list of tasks, with the To Do column having the most tasks and the Done column having the fewest. The tasks are color-coded, with the To Do tasks being red, the In Progress tasks being yellow, and the Done tasks being green. The board also has a header that includes the title \"To Do List\" and a search bar."; let negative_prompt = Some("Disfigured, cartoon, blurry"); // Create a new instance of the GetIMG Client let mut client = Client::new(&api_key, "lcm-realistic-vision-v5-1"); println!("{:?}", client); // Generate image from text prompt let text_response = client .generate_image_from_text( text_prompt, 1024, 1024, 4, "jpeg", negative_prompt, Some(512), ) .await?; // Save text response image to file save_image(&text_response.image, "text_response.jpg")?; // Generate image from image prompt let image_response = client .generate_image_from_image( "a photo of an astronaut riding a horse on mars", &text_response.image, 4, 512, "jpeg", negative_prompt, Some(0.5), ) .await?; // Save image response image to file save_image(&image_response.image, "image_response.png")?; let controlnet_response = client .generate_image_using_controlnet( "softedge-1.1", "a photo of an astronaut riding a horse on mars", "Disfigured, cartoon, blurry", &image_response.image, 1.0, 512, 512, 25, 7.5, 512, "euler", "png", ) .await?; save_image(&controlnet_response.image, "controlnet_response.png")?; // Generate repainted image let repainted_image_response = client .generate_repainted_image( text_prompt, negative_prompt, &text_response.image, &image_response.image, Some(1.0), 512, 512, 25, 7.5, 512, "euler", "png", ) .await?; // Save repainted image to file save_image(&repainted_image_response.image, "repainted_image.png")?; // Generate edited image let edited_image_response = client .generate_edited_image( text_prompt, negative_prompt, &repainted_image_response.image, 1.5, 25, 7.5, 54, "ddim", "png", ) .await?; // Save edited image to file save_image(&edited_image_response.image, "edited_image.png")?; Ok(()) }
📄 许可证
本项目根据 MIT 许可证 许可。
依赖项
~6–17MB
~252K SLoC