README
🚀 图像生成工具
本项目是一个借助ComfyUI和MCP框架构建的图像生成工具。它允许用户输入特定提示词来生成对应图像,并且提供对生成图像的分析功能,为用户带来便捷的图像创作与分析体验。
🚀 快速开始
1. 初始化项目
git clone https://github.com/username/repo.git
cd repo
pip install -r requirements.txt
2. 配置环境变量
在项目的config.py文件中添加必要的配置:
# config.py
COMFYUI_API_KEY = "your_api_key_here"
HUGGINGFACE_TOKEN = "your_huggingface_token_here"
OLLAMA_BINARY_PATH = "/path/to/ollama"
3. 启动服务
运行主脚本启动MCP服务器:
python main.py
✨ 主要特性
- 图像生成
- 支持通过英文提示词(特别是Danbooru标签)生成高质量图像。生成的图片链接可以通过
格式直接在Markdown中显示。
- 支持通过英文提示词(特别是Danbooru标签)生成高质量图像。生成的图片链接可以通过
- 图像分析
- 提供获取图像captions的功能,帮助用户理解图片内容。
- 可以提取并展示图片的14chan(WD14)标签信息,便于分析图片的主题和元素。
- 自动优化提示词
- 系统会根据生成结果与原始提示词的匹配程度进行多次迭代优化,最终生成最符合用户意图的图像。
- 最多可进行8次生成和优化,确保输出质量。
📚 详细文档
项目结构
核心组件
ComfyUI:一个功能强大的图像生成界面,支持多种模型和自定义节点。MCP (Magic Command Parser):用于解析和执行特定命令的框架,是这个工具的核心运行机制。
主要接口
- 图像生成
@mcp.tool("image://generate")
def generate_image(
prompt: str,
negative_prompt: Optional[str] = None,
width: int = DEFAULT_WIDTH,
height: int = DEFAULT_HEIGHT,
samples: int = DEFAULT_SAMPLES,
num_inference_steps: int = DEFAULT_STEPS,
) -> str:
"""图像生成接口"""
return image_url
- 图像分析
@mcp.tool("image://analyze")
def analyze_image(
url: str,
) -> Tuple[str, List[str]]:
"""获取图片的captions和WD14标签"""
pass
- 提示词优化
@mcp.resource("optimizer://prompt")
def optimize_prompt(prompt: str) -> str:
"""根据之前的生成结果优化新的提示词"""
pass
示例流程
- 用户输入日文或中文的提示词。
- 系统将其自动翻译为英文,并附加必要的Danbooru标签(如:"masterpiece, best quality, newest,")。
- 调用ComfyUI生成图像,并获取返回的图片链接。
- 使用
get_caption和get_tag工具分析图片内容。 - 对比原始提示词与生成结果,若不匹配则优化提示词并重复生成过程。
项目依赖
| 属性 | 详情 |
| ---- | ---- |
| 依赖库 | mcp[cli] >=1.6.0:MCP服务器框架;requests >=2.32.3:HTTP请求处理;huggingface - hub >=0.25.2:Hugging Face模型访问;numpy >=2.1.2:数值计算库;ollama >=0.3.3:本地LLM支持;onnxruntime >=1.19.2:ONNX模型运行环境;pandas >=2.2.3:数据分析库 |
📄 许可证
本项目遵循MIT许可证,详细信息请参考LICENSE文件。
👨💻 作者
- rerofumi:GitHub - rero2@yuumu.org
⚠️ 重要提示
WD1.4标签解析部分使用了SmilingWolf开发的wd - tagger的源代码和模型数据。模型数据会在第一次运行时自动下载。
Scan to contact