DiffuGen-集成MCP的高级本地图像生成器
Your AI art studio embedded directly in code. Generate, iterate, and perfect visual concepts through this powerful MCP server for Cursor, Windsurf, and other compatible IDEs, utilizing cutting-edge Flux and Stable Diffusion models without disrupting your development process.
⭐ 新:现在包括OpenAPI服务器支持和OpenWebUI OpenAPI工具(需要OWUI版本0.60.0)集成,用于在聊天界面中无缝生成和显示图像!OpenAPI与MCP服务器是分开的,允许您启动自己的项目!
📃 目录
- OpenAPI服务器使用情况 - 按型号列出的默认参数 - 要求法学硕士生成图像 - 参数参考 - 模型特定参数建议 - 默认参数更改 - 命令行使用说明
- 配置方法 - 环境变量覆盖 - 设置IDE特定配置 - 关键配置元素 - IDE特定选项 - 自定义默认参数 - 更新配置文件
🚀 介绍
DiffuGen是一个强大的基于MCP的图像生成系统,它将尖端的AI模型直接带入您的开发工作流程。它将Flux型号(Flux-Schnell、Flux-Dev)和Stable Diffusion变体(SDXL、SD3、SD1.5)无缝集成到一个统一的界面中,使您无需切换工具即可利用每个型号系列的独特优势。凭借全面的参数控制和多GPU支持,DiffuGen可以从中等硬件上的快速概念草图扩展到高性能系统上的生产质量视觉效果。
基于高度优化的 稳定扩散.cpp 在实施过程中,DiffuGen即使在普通硬件上也能提供卓越的性能,同时保持高质量的输出。
🧠 了解MCP和DiffuGen
什么是MCP?
MCP(模型上下文协议)是一种使LLM(大型语言模型)能够访问自定义工具和服务的协议。简单来说,MCP客户端(如Cursor、Windsurf、Roo Code或Cline)可以向MCP服务器发出请求,以访问它们提供的工具。
DiffuGen作为MCP服务器
DiffuGen作为一个MCP服务器,提供文本到图像的生成功能。它实现了MCP协议,允许兼容的IDE发送生成请求并接收生成的图像。
服务器公开了两个主要工具:
generate_stable_diffusion_image:使用稳定扩散模型生成generate_flux_image:使用Flux模型生成
技术架构
DiffuGen由几个关键组件组成:
- setup-diffugen.sh:完整的安装实用程序和模型下载器和管理器
- diffugen.py:实现MCP服务器功能并定义生成工具的核心Python脚本
- diffugen.sh:一个shell脚本启动器,用于设置环境并启动Python服务器
- 分歧。:MCP与各种IDE集成的模板配置文件(将复制到IDE的MCP配置中)
- 稳定扩散.cpp:用于实际图像生成的Stable Diffusion的优化C++实现
该系统的工作原理如下:
- 从MCP客户端接收提示和参数数据
- 通过Python服务器处理请求
- 使用适当的参数调用stable-diffusion.cpp二进制文件
- 将生成的图像保存到配置的输出目录
- 将生成的图像的路径和元数据返回给客户端
关于稳定扩散.cpp
稳定扩散.cpp 是稳定扩散算法的高度优化的C++实现。与Python参考实现相比,它提供了:
- 推理速度明显更快(快3-4x)
- 更低的内存使用率(适用于VRAM低至4GB的GPU)
- 针对NVIDIA GPU优化CUDA内核
- 支持多种采样方法和模型格式
- 支持模型量化以获得更好的性能
- 核心生成过程不依赖Python
这使得DiffuGen能够提供具有卓越性能的高质量图像生成,即使在适度的硬件设置上也是如此。
✨ 特性
- 多模型支持:使用各种模型生成图像,包括Flux Schnell、Flux Dev、SDXL、SD3和SD1.5
- MCP集成:与支持MCP的IDE无缝集成(Cursor、Windsurf、Roo Code、Cline等)
- OpenAPI服务器:用于直接HTTP访问图像生成功能的附加REST API接口
- 交叉平台的:适用于Linux、macOS和Windows(通过本机或WSL)
- 参数控制:通过以下控件微调您的世代:
- 图像尺寸(宽度/高度) - 采样步骤 - CFG 比例 - 种子值 - 负面提示(仅适用于SD型号,Flux不支持负面提示。) - 抽样方法
- CUDA加速:利用GPU加速更快地生成图像
- 自然语言接口:使用简单的自然语言命令生成图像
- 智能错误恢复:具有操作感知恢复程序的强大错误处理
- 用户友好的设置:改进了中断处理的交互式设置脚本
- 资源跟踪:会话感知资源管理,实现高效清理
- 可定制界面:支持自定义ANSI艺术徽标和视觉增强
💻 系统要求
最低要求:
- 中央处理器:4核处理器(英特尔i5/AMD Ryzen 5或同等处理器)
- 随机存取存储器:8GB系统内存
- 存储:5GB可用磁盘空间(SSD更适合更快的模型加载)
- python:3.8或更新版本
- 图形处理器:集成显卡或入门级专用GPU(可选)
- 网络:用于模型下载的宽带连接(5+Mbps)
推荐要求:
- 中央处理器:8+核心处理器(英特尔i7/i9或AMD Ryzen 7/9)
- 随机存取存储器:16GB+系统内存
- 图形处理器:配备6GB+VRAM的NVIDIA GPU(RTX 2060或更高版本可实现最佳性能)
- 存储:20GB+可用SSD空间
- python:3.10或更高版本(3.11提供最佳性能)
- 网络:高速连接(20+Mbps),可实现高效的模型下载
📥 安装
自动安装(推荐)
安装DiffuGen最简单的方法是使用提供的安装脚本:
git clone https://github.com/CLOUDWERX-DEV/diffugen.git
cd DiffuGen
chmod +x diffugen.sh
chmod +x setup_diffugen.sh
./setup_diffugen.sh按照交互式提示完成安装。
安装脚本将:
- 安装必要的依赖项
- 克隆并构建稳定扩散.cpp
- 设置Python虚拟环境
- 下载所选型号(注意:有些型号也需要Clip\\VAE型号)
- 为您的系统配置文件路径
手动安装
如果您更喜欢手动安装,请按照以下步骤操作:
- 克隆存储库:
git clone https://github.com/CLOUDWERX-DEV/diffugen.git
cd DiffuGen
git clone --recursive https://github.com/leejet/stable-diffusion.cpp- 构建稳定扩散.cpp:
cd stable-diffusion.cpp
mkdir -p build && cd build使用CUDA:
cmake .. -DCMAKE_BUILD_TYPE=Release -DSD_CUDA=ON
make -j$(nproc)
cd ../..没有CUDA:
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j$(nproc)
cd ../..- 创建并激活Python虚拟环境:
python3 -m venv diffugen_env
source diffugen_env/bin/activate # On Windows: diffugen_env\Scripts\activate
pip install -r requirements.txt- 下载所需型号(结构如下):
stable-diffusion.cpp/models/
├── ae.sft # VAE model
├── clip_l.safetensors # CLIP model
├── flux/
│ ├── flux1-schnell-q8_0.gguf # Flux Schnell model (default)
│ └── flux1-dev-q8_0.gguf # Flux Dev model
├── sd3-medium.safetensors # SD3 model
├── sdxl-1.0-base.safetensors # SDXL model
├── sdxl_vae-fp16-fix.safetensors # SDXL VAE
├── t5xxl_fp16.safetensors # T5 model
└── v1-5-pruned-emaonly.safetensors # SD1.5 model您可以从以下来源下载模型:
# Create model directories
mkdir -p stable-diffusion.cpp/models/flux
# Flux models
# Flux Schnell - Fast generation model (Q8 Quantized,requires t5xxl, clip-l, vae)
curl -L https://huggingface.co/leejet/FLUX.1-schnell-gguf/resolve/main/flux1-schnell-q8_0.gguf -o stable-diffusion.cpp/models/flux/flux1-schnell-q8_0.gguf
# Flux Dev - Development model with better quality (Q8 QUantized, requires t5xxl, clip-l, vae)
curl -L https://huggingface.co/leejet/FLUX.1-dev-gguf/resolve/main/flux1-dev-q8_0.gguf -o stable-diffusion.cpp/models/flux/flux1-dev-q8_0.gguf
# Required models for Flux
# T5XXL Text Encoder
curl -L https://huggingface.co/Sanami/flux1-dev-gguf/resolve/main/t5xxl_fp16.safetensors -o stable-diffusion.cpp/models/t5xxl_fp16.safetensors
# CLIP-L Text Encoder
curl -L https://huggingface.co/Sanami/flux1-dev-gguf/resolve/main/clip_l.safetensors -o stable-diffusion.cpp/models/clip_l.safetensors
# VAE for image decoding
curl -L https://huggingface.co/pretentioushorsefly/flux-models/resolve/main/models/vae/ae.safetensors -o stable-diffusion.cpp/models/ae.sft
# Stable Diffusion models
# SDXL 1.0 Base Model (requires sdxl-vae)
curl -L https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors -o stable-diffusion.cpp/models/sd_xl_base_1.0.safetensors
# SDXL VAE (required for SDXL)
curl -L https://huggingface.co/madebyollin/sdxl-vae-fp16-fix/resolve/main/sdxl_vae-fp16-fix.safetensors -o stable-diffusion.cpp/models/sdxl_vae-fp16-fix.safetensors
# Stable Diffusion 1.5 (standalone)
curl -L https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors -o stable-diffusion.cpp/models/v1-5-pruned-emaonly.safetensors
# Stable Diffusion 3 Medium (standalone)
curl -L https://huggingface.co/leo009/stable-diffusion-3-medium/resolve/main/sd3_medium_incl_clips_t5xxlfp16.safetensors -o stable-diffusion.cpp/models/sd3_medium_incl_clips_t5xxlfp16.safetensors注意:型号下载可能需要很长时间,具体取决于您的互联网连接。SDXL型号约为6GB,SD3约为13GB,SD1.5约为4GB,Flux型号各为8-13GB。
- 更新配置中的文件路径:
将shell脚本设置为可执行文件
chmod +x diffugen.sh配置方法: DiffuGen使用单个配置文件(diffugen.json)作为所有设置的真相来源。工作流程为:
- 编辑
diffugen.json在DiffuGen根目录中使用所需的设置 - 运行选项5 in
setup_diffugen.sh自动更新此文件中的路径 - 复制以下内容
diffugen.json到IDE的MCP配置文件
该文件包含所有必要的设置:
- 文件路径(命令、SD_CPP_PATH、models_dir、output_dir)
- 默认模型参数(步长、cfg_scale、采样方法)
- VRAM使用设置
- IDE集成元数据
{
"mcpServers": {
"diffugen": {
"command": "/home/cloudwerxlab/Desktop/Servers/MCP/Tools/DiffuGen/diffugen.sh",
"args": [],
"env": {
"CUDA_VISIBLE_DEVICES": "0",
"SD_CPP_PATH": "path/to/stable-diffusion.cpp",
"default_model": "flux-schnell"
},
"resources": {
"models_dir": "path/to/stable-diffusion.cpp/models",
"output_dir": "path/to/outputs",
"vram_usage": "adaptive"
},
"metadata": {
"name": "DiffuGen",
"version": "1.0",
"description": "Your AI art studio embedded directly in code. Generate, iterate, and perfect visual concepts through this powerful MCP server for Cursor, Windsurf, and other compatible IDEs, utilizing cutting-edge Flux and Stable Diffusion models without disrupting your development process.",
"author": "CLOUDWERX LAB",
"homepage": "https://github.com/CLOUDWERX-DEV/diffugen",
"usage": "Generate images using two primary methods:\n1. Standard generation: 'generate an image of [description]' with optional parameters:\n - model: Choose from flux-schnell (default), flux-dev, sdxl, sd3, sd15\n - dimensions: width and height (default: 512x512)\n - steps: Number of diffusion steps (default: 20, lower for faster generation)\n - cfg_scale: Guidance scale (default: 7.0, lower for more creative freedom)\n - seed: For reproducible results (-1 for random)\n - sampling_method: euler, euler_a (default), heun, dpm2, dpm++2s_a, dpm++2m, dpm++2mv2, lcm\n - negative_prompt: Specify elements to avoid in the image\n2. Quick Flux generation: 'generate a flux image of [description]' for faster results with fewer steps (default: 4)"
},
"cursorOptions": {
"autoApprove": true,
"category": "Image Generation",
"icon": "🖼️",
"displayName": "DiffuGen"
},
"windsurfOptions": {
"displayName": "DiffuGen",
"icon": "🖼️",
"category": "Creative Tools"
},
"default_params": {
"steps": {
"flux-schnell": 8,
"flux-dev": 20,
"sdxl": 20,
"sd3": 20,
"sd15": 20
},
"cfg_scale": {
"flux-schnell": 1.0,
"flux-dev": 1.0,
"sdxl": 7.0,
"sd3": 7.0,
"sd15": 7.0
},
"sampling_method": {
"flux-schnell": "euler",
"flux-dev": "euler",
"sdxl": "euler",
"sd3": "euler",
"sd15": "euler"
}
}
}
}
}🔧 IDE设置说明
使用光标进行设置
- 下载并安装 光标
- 转到光标设置>MCP,然后单击“添加新的全局MCP服务器”
- 复制DiffuGen的内容
diffugen.json文件 并将其粘贴到~/.cursor/mcp.json - 在“设置”>“MCP”中刷新MCP服务器
- 通过打开AI聊天面板(Ctrl+K或Cmd+K)并请求图像生成来使用DiffuGen
使用Windsurf进行设置
- 下载并安装 帆板运动
- 导航到Windsurf>设置>高级设置或命令面板>打开Windsurf设置页面
- 向下滚动到Cascade部分,然后单击“添加服务器”>“添加自定义服务器+”
- 复制DiffuGen的内容
diffugen.json文件 并粘贴到~/.codeium/windsurf/mcp_config.json - 通过Cascade聊天界面使用DiffuGen
使用Roo代码进行设置
- 下载并安装 Roo代码
- 找到Roo代码的MCP配置文件
- 复制DiffuGen的内容
diffugen.json文件 进入Roo Code的MCP配置 - 通过AI助手功能使用DiffuGen
与Cline建立联系
- 下载并安装 克莱恩
- 复制DiffuGen的内容
diffugen.json文件 进入Cline的MCP设置 - 通过AI聊天或命令界面使用DiffuGen
在Anthropic控制台中与Claude一起设置
如果您已将DiffuGen设置为系统上的MCP服务器,Claude可以使用它。当要求Claude生成图像时,请具体说明使用DiffuGen并提供要使用的参数。
🎮 用法
要手动启动DiffuGen服务器,请执行以下操作:
cd /path/to/diffugen
./diffugen.sh或者直接使用Python:
cd /path/to/diffugen
python -m diffugen您应该看到: DiffuGen ready 当服务器成功启动时。
OpenAPI服务器使用情况
OpenAPI服务器提供了一个REST API接口,用于通过HTTP直接访问DiffuGen的图像生成功能。这是MCP集成的补充,可用于:
- 直接HTTP API访问
- 与不支持MCP的其他工具集成
- 需要编程访问的自定义应用程序
有关详细的设置说明和高级配置选项,请参阅 OpenAPI集成指南.
要启动OpenAPI服务器:
python diffugen_openapi.py如果需要,可以将服务器配置为使用不同的主机或端口。默认情况下,它运行在:
- 主机:0.0.0.0
- 端口:8080
服务器将在以下时间可用http://0.0.0.0:8080交互式文档位于http://0.0.0.0:8080/docs.
生成的图像保存到 /output 默认情况下为目录。如果此目录不可访问,服务器将自动创建 output 当前工作目录中的目录。图像通过 /images 终点。
OpenWebUI集成
- 打开OpenWebUI设置(齿轮图标)
- 导航到“工具”部分
- 单击“+”按钮添加新的工具服务器
- 输入以下详细信息:
- 网址:http://0.0.0.0:5199 - API密钥:(保留为空)
- 点击“保存”
添加后,单击聊天界面中的工具图标时,DiffuGen将出现在可用工具列表中。以下端点将可用:
generate_stable_image_generate_stable_post:以稳定的扩散生成generate_flux_image_endpoint_generate_flux_post:使用通量模型生成list_models_models_get:列出可用型号
使用curl的示例:
curl -X POST "http://0.0.0.0:5199/generate/flux" \
-H "Content-Type: application/json" \
-d '{"prompt": "A beautiful sunset", "model": "flux-schnell"}'使用Python请求的示例:
import requests
response = requests.post(
"http://0.0.0.0:5199/generate/flux",
json={
"prompt": "A beautiful sunset",
"model": "flux-schnell"
}
)
result = response.json()按型号列出的默认参数
每个模型都有特定的默认参数,这些参数经过优化以获得最佳结果:
| 模型 | 默认步长 | 默认CFG比例 | 最适合 |
|---|---|---|---|
| 通量schnell | 8 | 1.0 | 快速草图,概念图像 |
| 通量dev | 20 | 1.0 | 更高质量的通量生成 |
| sdxl | 20 | 7.0 | 高质量详细图像 |
| sd3 | 20 | 7.0 | 最新一代,质量好 |
| sd15 | 20 | 7.0 | 经典基线模型 |
这些默认参数可以通过添加 default_params IDE MCP配置文件的部分:
"default_params": {
"steps": {
"flux-schnell": 12, // Customize steps for better quality
"sdxl": 30 // Increase steps for more detailed SDXL images
},
"cfg_scale": {
"sd15": 9.0 // Higher cfg_scale for stronger prompt adherence
}
}您只需指定要覆盖的参数,任何未指定的值都将使用内置默认值。
备注:有关特定于模型的命令行示例和建议,请参见 模型特定参数建议 部分。
要求法学硕士生成图像
以下是如何让AI助手使用DiffuGen生成图像的示例:
基本要求:
Generate an image of a cat playing with yarnCreate a picture of a futuristic cityscape with flying cars型号规格:
Generate an image of a medieval castle using the sdxl modelCreate a flux image of a sunset over mountains使用高级参数:
Generate an image of a cyberpunk street scene, model=flux-dev, width=768, height=512, steps=25, cfg_scale=1.0, seed=42Create an illustration of a fantasy character with model=sd15, width=512, height=768, steps=30, cfg_scale=7.5, sampling_method=dpm++2m, negative_prompt=blurry, low quality, distorted参数参考
DiffuGen可以从命令行使用以下基本语法:
./diffugen.sh "Your prompt here" [options]例子:
./diffugen.sh "A futuristic cityscape with flying cars"此命令使用默认参数(通量schnell模型、512x512分辨率等)生成图像,并将其保存到配置的输出目录中。
以下是可用于DiffuGen的参数(适用于MCP接口和命令行):
| 参数 | 说明 | 默认值 | 有效值 | 命令行标志 |
|---|---|---|---|---|
| 模型 | 用于生成的模型 | flux schnell/sd15 | flux schnel-dev、sdxl、sd3、sd15 | --模型 |
| width | 图像宽度(像素) | 512 | 256-2048 | --宽度 |
| height | 图像高度(像素) | 512 | 256-2048 | --高度 |
| 步骤 | 扩散步骤数 | 特定模型 | 1-100 | --步骤 |
| cfg_scale | 无分类器引导量表 | 特定模型 | 0.1-30.0 | --cfg量表 |
| 种子 | 用于再现的随机种子 | -1(随机) | -1或任何整数 | --种子 |
| 采样_方法 | 扩散采样法 | 欧拉 | 欧拉,euler_a,heun,dpm2,dpm++2s_a,dpm++2 m,dpm++2mv2,lcm | ——采样方法 |
| negative_prompt | 图像中要避免的元素 | “”(空) | 任何文本字符串 | --负数提示 |
| output_dir | 保存图像的目录 | 已定义配置 | 有效路径 | --输出目录 |
当要求AI助手生成图像或使用命令行界面时,可以指定这些参数。根据接口的不同,参数以不同的格式传递:
- 在MCP/AI助手中:
parameter=value(例如。,model=sdxl, width=768, height=512) - 在命令行中:
--parameter value(例如。,--model sdxl --width 768 --height 512)
选择默认值是为了在最短的等待时间内提供开箱即用的良好结果。对于更高质量的图像,可以考虑增加步长或切换到sdxl等模型。
模型特定参数建议
备注:这些建议建立在 按型号列出的默认参数 第节,并提供实例。
为了在通过命令行使用特定模型时获得最佳效果:
通量模型(通量schnell、通量dev)
# Flux-Schnell (fastest)
./diffugen.sh "Vibrant colorful abstract painting" \
--model flux-schnell \
--cfg-scale 1.0 \
--sampling-method euler \
--steps 8
# Flux-Dev (better quality)
./diffugen.sh "Detailed fantasy landscape with mountains and castles" \
--model flux-dev \
--cfg-scale 1.0 \
--sampling-method euler \
--steps 20标准SD型号(sdxl、sd3、sd15)
# SDXL (highest quality)
./diffugen.sh "Hyperrealistic portrait of a Celtic warrior" \
--model sdxl \
--cfg-scale 7.0 \
--sampling-method dpm++2m \
--steps 30
# SD15 (classic model)
./diffugen.sh "Photorealistic landscape at sunset" \
--model sd15 \
--cfg-scale 7.0 \
--sampling-method euler_a \
--steps 20默认参数更改
如果配置中没有另行指定,DiffuGen的命令行界面将使用以下默认值:
- 默认模型:如果未指定,则使用功能适当的模型(flux schnell用于flux功能,sd15用于SD功能)
- 默认采样方法:
euler(最适合Flux型号) - 默认CFG比例:
1.0对于Flux模型,7.0适用于标准SD型号 - 默认步骤:
8对于磁通量schnell,20对于其他型号 - 默认尺寸:512x512像素
使用命令行时,除非要覆盖默认值,否则不需要指定这些参数。如果您经常使用特定参数,请考虑将它们添加到配置文件中,而不是在每个命令行上指定它们。
命令行使用说明
- 生成的图像将保存到配置的输出目录中,文件名基于时间戳和参数
- 通过多次运行该命令,可以按顺序生成多个图像
- 对于批处理,考虑创建一个使用不同参数调用DiffuGen的shell脚本
- 要查看所有可用的命令行选项,请运行
./diffugen.sh --help - 同一引擎为MCP界面和命令行工具提供动力,因此质量和功能是相同的
⚙️ 配置
配置方法
DiffuGen使用以 diffugen.json 文件:
- 主配置文件:
diffugen.jsonDiffuGen根目录中的是所有设置的唯一真实来源 - IDE集成:复制以下内容
diffugen.json到IDE的MCP配置文件 - 环境变量:对于高级用法,您可以使用环境变量覆盖设置
环境变量覆盖
对于高级用法,您可以使用环境变量覆盖设置:
SD_CPP_PATH:覆盖稳定扩散.cpp的路径DIFFUGEN_OUTPUT_DIR:覆盖输出目录DIFFUGEN_DEFAULT_MODEL:覆盖默认模型DIFFUGEN_VRAM_USAGE:覆盖VRAM使用设置CUDA_VISIBLE_DEVICES:控制哪些GPU用于生成
设置IDE特定配置
DiffuGen允许您通过在每个IDE的MCP配置中使用环境变量,为不同的IDE进行不同的配置。这使您可以维护一个基础 diffugen.json 同时为每个IDE定制参数。
配置优先级的工作原理如下:
- 环境变量(最高优先级)
- 本地设置
diffugen.json文件(基本配置)
示例:不同IDE的不同输出目录
对于光标(in ~/.cursor/mcp.json):
"env": {
"CUDA_VISIBLE_DEVICES": "0",
"SD_CPP_PATH": "/path/to/stable-diffusion.cpp",
"DIFFUGEN_OUTPUT_DIR": "/cursor/specific/output/directory",
"default_model": "flux-schnell"
}对于风帆(in ~/.codeium/windsurf/mcp_config.json):
"env": {
"CUDA_VISIBLE_DEVICES": "0",
"SD_CPP_PATH": "/path/to/stable-diffusion.cpp",
"DIFFUGEN_OUTPUT_DIR": "/windsurf/specific/output/directory",
"default_model": "sdxl"
}示例:不同的默认模型和VRAM设置
"env": {
"CUDA_VISIBLE_DEVICES": "0",
"SD_CPP_PATH": "/path/to/stable-diffusion.cpp",
"default_model": "flux-dev",
"DIFFUGEN_VRAM_USAGE": "maximum"
}这种方法允许您自定义每个IDE的DiffuGen行为,同时仍使用相同的底层安装。
关键配置元素
命令和参数
- 命令:完整路径
diffugen.sh脚本(必须是绝对路径) - 参数:传递给脚本的其他命令行参数(通常为空)
环境变量
- CUDA_可视化设备:控制用于生成的GPU
- "0":仅使用第一个GPU - "1":仅使用第二个GPU - "0,1":同时使用第一个和第二个GPU - "-1":禁用CUDA并仅使用CPU
- SD_CPP_PATH:stable-diffusion.cpp安装目录的路径
- 这用于定位稳定扩散.cpp二进制文件和模型
- 默认模型:未指定时使用的默认模型
资源配置
- 型号_目录:包含模型文件的目录
- 应指向 models stable-diffusion.cpp安装中的目录
- output_dir:保存生成图像的目录
- 必须可由运行DiffuGen的用户写入
- vram_usage:控制VRAM使用策略
- "adaptive":根据可用VRAM自动调整内存使用情况 - "minimal":以速度为代价使用最小的VRAM - "balanced":平衡内存使用和速度(默认) - "maximum":使用最大可用VRAM以获得最佳性能
IDE特定选项
每个IDE都有特定的选项,您可以在 diffugen.json 文件:
光标选项
"cursorOptions": {
"autoApprove": true,
"category": "Image Generation",
"icon": "🖼️",
"displayName": "DiffuGen"
}风帆选项
"windsurfOptions": {
"displayName": "DiffuGen",
"icon": "🖼️",
"category": "Creative Tools"
}自定义默认参数
您可以在中为每个模型自定义默认参数 default_params 章节:
"default_params": {
"steps": {
"flux-schnell": 12,
"sdxl": 30
},
"cfg_scale": {
"sd15": 9.0
},
"sampling_method": {
"flux-schnell": "euler",
"sdxl": "dpm++2m"
}
}更新配置文件
使用自动设置脚本时,请正确配置 diffugen.json 运行选项5时,将使用正确的系统路径创建文件。要将DiffuGen与IDE集成,请执行以下操作:
- 运行选项5 in
setup_diffugen.sh更新中的路径diffugen.json - 复制生成的全部内容
diffugen.json文件 - 将其粘贴到IDE的MCP配置文件中(例如。,
~/.cursor/mcp.json) - 重新启动IDE以应用更改
这种方法的主要优点是配置的单一真实来源,使维护和更新DiffuGen设置变得更加容易。
📃 高级用法
DiffuGen Python模块可以在您自己的Python脚本中以编程方式导入和使用:
from diffugen import generate_image
# Generate an image programmatically
result = generate_image(
prompt="A starry night over a quiet village",
model="sdxl",
width=1024,
height=768,
steps=30,
cfg_scale=7.0,
seed=42,
sampling_method="dpm++2m",
negative_prompt="blurry, low quality"
)
print(f"Image saved to: {result['file_path']}")使用OpenAPI服务器
您还可以在应用程序中以编程方式使用OpenAPI服务器:
import requests
def generate_image_via_api(prompt, model="flux-schnell", width=512, height=512):
response = requests.post(
"http://0.0.0.0:5199/generate/flux",
json={
"prompt": prompt,
"model": model,
"width": width,
"height": height
}
)
return response.json()
# Example usage
result = generate_image_via_api(
prompt="A magical forest at night",
model="flux-schnell",
width=768,
height=512
)
print(f"Generated image: {result['file_path']}")🔍 故障排除
常见问题及解决方法
- 缺少模型或路径不正确
- 确保所有模型文件都已下载并放置在正确的目录中 - 检查配置文件中的路径是否设置正确 - 验证文件权限是否允许读取模型文件
- CUDA/GPU问题
- 确保您的NVIDIA驱动程序是最新的 - 集 CUDA_VISIBLE_DEVICES 以特定GPU为目标 - 如果VRAM用完,请尝试使用较小的型号或减小尺寸
- 图像质量问题
- 增加步骤以提高质量(以发电时间为代价) - 调整CFG等级:更高表示更及时的坚持,更低表示创造力 - 尝试不同的采样方法(dpm++2m通常会提供良好的结果) - 使用具有特定样式描述的更详细提示
- 文件权限错误
- 确保运行DiffuGen的用户可以写入输出目录 - 检查所有脚本是否具有执行权限(chmod +x diffugen.sh)
获取帮助
如果您遇到此处未涵盖的问题,您可以:
- 检查GitHub存储库以了解问题和解决方案
- 在启用调试日志记录的情况下运行:
DEBUG=1 ./diffugen.sh "your prompt" - 通过GitHub问题联系开发人员
🌟 贡献
欢迎为DiffuGen捐款!贡献:
- 分叉存储库
- 创建要素分支
- 进行更改
- 提交拉取请求
请确保您的代码遵循项目的编码标准,并包含适当的测试。
📄 许可证
此项目在Apache许可证下获得许可-有关详细信息,请参阅License文件。
- 所有型号均根据其各自的发行版获得许可,CLOUDWERX不以任何方式获得许可或提供许可。开发
- HuggingFace.co用于下载模型,与CLOUDWERX没有任何关联。开发
🙏 致谢
📬 联系
- github: CLOUDWERX-DEV
- 网站: cloudwerx.dev
- 邮件: sysop@cloudwerx.dev
- 不一致: 加入我们的服务器
______ __ ___ ___ _______
| _ \ |__|.' _|.' _|.--.--.| _ |.-----.-----.
|. | \| || _|| _|| | ||. |___|| -__| |
|. | \__||__| |__| |_____||. | ||_____|__|__|
|: 1 / |: 1 |
|::.. . / |::.. . |
`------' `-------' Made with ❤️ by CLOUDWERX LAB
