Fooocus-API简介
Fooocus-API是一个开源项目,旨在为Fooocus提供REST API接口。Fooocus是一款基于Stable Diffusion的AI图像生成软件,它结合了Stable Diffusion的开源特性和Midjourney的简单易用性,让用户只需专注于提示词和图像本身,而无需调整复杂的技术参数。Fooocus-API的出现,使得开发者可以更方便地在各种编程语言和应用中调用Fooocus的强大功能。
主要特性
Fooocus-API具有以下主要特性:
- 基于FastAPI框架开发,提供高性能的REST API接口
- 支持Fooocus的所有主要功能,包括文本生成图像、图像放大或变换、图像修复或扩展等
- 提供详细的API文档和示例代码,方便开发者快速上手
- 支持Docker部署,简化安装和运行过程
- 可通过Replicate平台快速使用,无需本地部署
安装与使用
使用Replicate平台
最简单的使用方式是通过Replicate平台。Fooocus-API在Replicate上提供了以下模型:
- konieshadow/fooocus-api:基础模型
- konieshadow/fooocus-api-anime:动漫风格模型
- konieshadow/fooocus-api-realistic:真实风格模型
本地部署
如果需要本地部署,可以按照以下步骤进行:
- 确保Python版本 >= 3.10
- 克隆项目仓库:
git clone https://github.com/mrhan1993/Fooocus-API.git
- 创建并激活虚拟环境:
conda env create -f environment.yaml conda activate fooocus-api
- 运行应用:
python main.py
默认情况下,服务器将在http://127.0.0.1:8888
上运行。
Docker部署
对于喜欢使用Docker的开发者,可以使用以下命令快速启动Fooocus-API:
docker run -d --gpus=all \
-e NVIDIA_DRIVER_CAPABILITIES=compute,utility \
-e NVIDIA_VISIBLE_DEVICES=all \
-p 8888:8888 konieshadow/fooocus-api
请注意,在使用GPU版本的Docker镜像之前,需要先安装NVIDIA Container Toolkit。
API接口概览
Fooocus-API提供了丰富的API接口,主要包括:
- 文本生成图像(Text to Image)
- 图像放大或变换(Image Upscale or Variation)
- 图像修复或扩展(Image Inpaint or Outpaint)
- 图像提示(Image Prompt)
详细的API文档可以在这里找到。
示例代码
以下是一个使用Python调用Fooocus-API生成图像的简单示例:
import requests
import json
url = "http://localhost:8888/v1/generation/text-to-image"
payload = json.dumps({
"prompt": "A beautiful landscape with mountains and a lake",
"negative_prompt": "ugly, blurry",
"image_size": {
"width": 1024,
"height": 1024
},
"num_inference_steps": 30,
"guidance_scale": 7.5
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
这个示例展示了如何使用文本生成图像的API。开发者可以根据自己的需求调整参数,实现更复杂的功能。
高级功能:图像增强接口
Fooocus-API还提供了强大的图像增强接口,允许用户对生成的图像进行进一步处理。以下是使用图像增强接口的参数示例:
{
"enhance_input_image": "",
"enhance_checkbox": true,
"enhance_uov_method": "Vary (Strong)",
"enhance_uov_processing_order": "Before First Enhancement",
"enhance_uov_prompt_type": "Original Prompts",
"save_final_enhanced_image_only": true,
"enhance_ctrlnets": [
{
"enhance_enabled": true,
"enhance_mask_dino_prompt": "face",
"enhance_prompt": "beautiful face",
"enhance_negative_prompt": "ugly, deformed",
"enhance_mask_model": "sam",
"enhance_mask_sam_model": "vit_b",
"enhance_inpaint_engine": "v2.6",
"enhance_inpaint_strength": 1
}
]
}
这个示例展示了如何使用图像增强接口来改进特定区域(如人脸)的细节。
版本更新与变更日志
Fooocus-API 项目持续更新中,目前最新版本为 v0.5.0.1。开发者可以在变更日志中查看详细的更新内容。
结语
Fooocus-API 为开发者提供了一种便捷的方式来集成 Fooocus 的强大图像生成能力。无论是通过 Replicate 平台快速使用,还是在本地部署自己的服务,Fooocus-API 都为 AI 图像生成应用的开发提供了灵活的选择。随着项目的不断更新和社区的持续贡献,我们期待看到更多基于 Fooocus-API 构建的创新应用。
开发者们,让我们一起探索 AI 图像生成的无限可能吧!🚀✨