# SD WebUI Forge

SD WebUI Forge 是经典的 AUTOMATIC1111 Stable Diffusion WebUI 的一个经过优化的分支，由 lllyasviel 团队开发。它提供显著更好的显存管理（使 SDXL 能在 4 GB GPU 上运行）、原生 FLUX 模型支持、更快的生成速度，并与所有 A1111 扩展和模型完全向后兼容。CLORE.AI 灵活的 GPU 市场让你可以为 Forge 选择最合适的 GPU——从预算显卡到顶级 A100。

{% hint style="success" %}
所有示例都可以在通过以下方式租用的 GPU 服务器上运行 [CLORE.AI 市场](https://clore.ai/marketplace).
{% endhint %}

## 服务器要求

| 参数       | 最低要求                 | 推荐配置              |
| -------- | -------------------- | ----------------- |
| 内存（RAM）  | 8 GB                 | 16 GB+            |
| 显存（VRAM） | 4 GB                 | 12 GB+            |
| 磁盘       | 30 GB                | 200 GB+           |
| GPU      | NVIDIA GTX 1650 4GB+ | RTX 3090、RTX 4090 |

{% hint style="info" %}
Forge 的关键优势是它的显存优化器：它可以在仅 4 GB 显存（速度较慢）上运行 SDXL。对于 FLUX 模型，实用最低要求为 12 GB 显存，完整质量和速度则需要 24 GB。
{% endhint %}

## 在 CLORE.AI 上快速部署

**Docker 镜像：** `nykk3/stable-diffusion-webui-forge:latest`

**端口：** `22/tcp`, `7860/http`

**环境变量：**

| 变量                 | 示例                     | 描述              |
| ------------------ | ---------------------- | --------------- |
| `CLI_ARGS`         | `--xformers --medvram` | 额外的命令行参数        |
| `COMMANDLINE_ARGS` | `--api --listen`       | 备用的 CLI 参数 环境变量 |

## 逐步设置

### 1. 在 CLORE.AI 上租用 GPU 服务器

前往 [CLORE.AI 市场](https://clore.ai/marketplace):

* **预算型 SD1.5**：GTX 1660/2060（6 GB）——足以用于 512/768px
* **支持 SDXL**：RTX 3080/3090（10–24 GB）
* **支持 FLUX**：RTX 4090/A6000（24+ GB）
* **极致质量**：A100 80GB 用于批量生成

### 2. SSH 登录到您的服务器

```bash
ssh -p <PORT> root@<SERVER_IP>
```

### 3. 创建存储目录

```bash
mkdir -p /root/sd-forge/{models,outputs,extensions,configs}
mkdir -p /root/sd-forge/models/{Stable-diffusion,VAE,Lora,ControlNet,embeddings,ESRGAN}
```

### 4. 拉取并运行 SD WebUI Forge

**标准启动：**

```bash
docker run -d \
  --name sd-forge \
  --gpus all \
  -p 7860:7860 \
  -v /root/sd-forge/models:/app/stable-diffusion-webui/models \
  -v /root/sd-forge/outputs:/app/stable-diffusion-webui/outputs \
  -v /root/sd-forge/extensions:/app/stable-diffusion-webui/extensions \
  nykk3/stable-diffusion-webui-forge:latest
```

**启用 API 并添加额外性能标志：**

```bash
docker run -d \
  --name sd-forge \
  --gpus all \
  -p 7860:7860 \
  -v /root/sd-forge/models:/app/stable-diffusion-webui/models \
  -v /root/sd-forge/outputs:/app/stable-diffusion-webui/outputs \
  -v /root/sd-forge/extensions:/app/stable-diffusion-webui/extensions \
  -e CLI_ARGS="--api --xformers --enable-insecure-extension-access" \
  nykk3/stable-diffusion-webui-forge:latest
```

**低显存模式（4-6 GB GPU）：**

```bash
docker run -d \
  --name sd-forge \
  --gpus all \
  -p 7860:7860 \
  -v /root/sd-forge/models:/app/stable-diffusion-webui/models \
  -v /root/sd-forge/outputs:/app/stable-diffusion-webui/outputs \
  -e CLI_ARGS="--api --medvram-sdxl --opt-sdp-attention" \
  nykk3/stable-diffusion-webui-forge:latest
```

**最高性能（24+ GB 显存）：**

```bash
docker run -d \
  --name sd-forge \
  --gpus all \
  -p 7860:7860 \
  -v /root/sd-forge/models:/app/stable-diffusion-webui/models \
  -v /root/sd-forge/outputs:/app/stable-diffusion-webui/outputs \
  -e CLI_ARGS="--api --xformers --no-half-vae" \
  nykk3/stable-diffusion-webui-forge:latest
```

### 5. 监控启动

```bash
docker logs -f sd-forge
```

查找：

```
运行于本地 URL：  http://0.0.0.0:7860
```

首次运行通常需要 2–5 分钟启动。

### 6. 访问网页界面

你用于端口 7860 的 CLORE.AI http\_pub URL：

```
https://<order-id>-7860.clore.ai/
```

### 7. 添加模型

**方法 1：在 Web UI 中通过 CivitAI 下载**

* 前往 **Extensions → Installed → Models** （某些版本）
* 或者在设置中使用 URL 下载器

**方法 2：直接在服务器上下载**

```bash
# 下载 SDXL 基础模型
cd /root/sd-forge/models/Stable-diffusion
wget -O "sd_xl_base_1.0.safetensors" \
  "https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors"

# 下载 FLUX.1-schnell（快速 FLUX 模型）
wget -O "flux1-schnell.safetensors" \
  "https://huggingface.co/black-forest-labs/FLUX.1-schnell/resolve/main/flux1-schnell.safetensors"
```

**方法 3：HuggingFace CLI**

```bash
docker exec -it sd-forge bash -c "
pip install huggingface_hub
huggingface-cli download stabilityai/stable-diffusion-xl-base-1.0 \
  sd_xl_base_1.0.safetensors \
  --local-dir /app/stable-diffusion-webui/models/Stable-diffusion/
"
```

***

## 使用示例

### 示例 1：通过 Web UI 文本生成图像

1. 在你的 CLORE.AI URL 打开 Forge 界面
2. 从下拉菜单中选择你的模型 **Checkpoint** 下拉框
3. 输入提示词： `"cinematic portrait of a warrior, golden hour, 8k photography"`
4. 设置负面提示： `"blurry, low resolution, watermark, ugly"`
5. 设置宽度/高度： `1024x1024` 对于 SDXL， `512x768` 对于 SD1.5
6. 设置步骤：20–30，CFG：7
7. 点击 **生成**

### 示例 2：FLUX 生成

FLUX 模型的工作方式不同——不需要负面提示，质量更高：

1. 选择 FLUX 检查点（flux1-dev.safetensors）
2. 在 **Forge**，选择相应的 **Unet** 和 **VAE** 如果是分开的文件
3. 输入提示词（无需负面提示）：

   ```
   日落时分的壮丽景观，群山在一汪纯净的湖中倒影，
   真实感摄影，超精细，专业摄影风格
   ```
4. 步骤：20，CFG：1.0（FLUX 使用较低的 CFG）
5. 采样器： `Euler` 或 `DPM++ 2M`

### 示例 3：ControlNet 引导生成

1. 安装 ControlNet 扩展（如果未预装）：
   * 前往 **Extensions → Available → Load from**
   * 搜索 “ControlNet” 并安装
2. 将 ControlNet 模型下载到 `/root/sd-forge/models/ControlNet/`
3. 在 txt2img 中，展开 **ControlNet** 部分
4. 上传参考图像（姿势、深度、Canny 边缘）
5. 选择与参考类型匹配的预处理器和模型
6. 生成——输出遵循参考结构

### 示例 4：API 使用

使用 `--api` 标志时，Forge 会暴露一个 REST API：

```python
import requests
BASE_URL = "http://localhost:9090"  # 或您的 CLORE.AI http_pub URL
import io
from PIL import Image

BASE_URL = "http://localhost:7860"  # 或 CLORE.AI http_pub URL

# 文本到图像
"batch": {
    "prompt": "a serene Japanese garden with cherry blossoms, watercolor style",
    "negative_prompt": "ugly, blurry, low quality",
    "steps": 25,
    "cfg_scale": 7,
    "height": 1024,
    "seed": 42,
    "sampler_name": "DPM++ 2M",
    "batch_size": 1,
}

response = requests.post(f"{BASE_URL}/sdapi/v1/txt2img", json=payload)
result = response.json()

# 保存图像
for i, img_b64 in enumerate(result["images"]):
    img_data = base64.b64decode(img_b64)
    img = Image.open(io.BytesIO(img_data))
    img.save(f"output_{i}.png")
    print(f"Saved output_{i}.png")
```

### 示例 5：批量生成脚本

```python
import requests
BASE_URL = "http://localhost:9090"  # 或您的 CLORE.AI http_pub URL
import io
from PIL import Image
import os

BASE_URL = "http://localhost:7860"

prompts = [
    ("cyberpunk city at night, neon lights, rain", "cyberpunk"),
    ("ancient forest, mystical fog, fantasy art", "fantasy"),
    ("minimalist logo design, geometric shapes, white background", "logo"),
    ("portrait of an elderly sailor, weathered face, oil painting", "portrait"),
]

os.makedirs("batch_output", exist_ok=True)

for prompt_text, filename in prompts:
    print(f"Generating: {filename}...")
    response = requests.post(
        f"{BASE_URL}/sdapi/v1/txt2img",
        json={
            "prompt": prompt_text,
            "negative_prompt": "low quality, blurry, watermark",
            "steps": 25,
            "cfg_scale": 7,
            "height": 1024,
            "seed": 42,
        },
    )
    
    if response.status_code == 200:
        img_b64 = response.json()["images"][0]
        img = Image.open(io.BytesIO(base64.b64decode(img_b64)))
        img.save(f"batch_output/{filename}.png")
        print(f"  Saved batch_output/{filename}.png")
    else:
        print(f"  Error: {response.status_code}")
```

***

## invokeai.yaml 配置文件

### 关键 CLI 参数

| 参数                                   | 描述                               |
| ------------------------------------ | -------------------------------- |
| `--api`                              | 启用 REST API                      |
| `--listen`                           | 监听所有接口（CLORE.AI 必需）              |
| `--port 7860`                        | 更改端口                             |
| `--xformers`                         | 启用 xFormers attention（更快、占用更少显存） |
| `--medvram`                          | 中等显存模式（SD1.5 在 6GB 上）            |
| `--medvram-sdxl`                     | SDXL 的中等显存模式（SDXL 在 8GB 上）       |
| `降低分辨率（512×512 是 SD 1.5 的最佳平衡点）`     | 低显存模式（非常慢，适用于任意 GPU）             |
| `--no-half`                          | 使用 float32（占用更多显存，但更稳定）          |
| `--no-half-vae`                      | 保持 VAE 为 float32（防止黑图）           |
| `--opt-sdp-attention`                | PyTorch 缩放点积注意力                  |
| `--enable-insecure-extension-access` | 允许安装扩展                           |
| `--skip-version-check`               | 跳过 Python/torch 版本检查             |

### Forge 专属设置

Forge 在 UI 中添加了一个 **Forge** 面板，包含：

* **Forge Unet**：选择优化后端（默认、bnb 等）
* **Diffusers Torch 编译**：启用可获得 20-30% 的生成加速（首次运行会编译）
* **GPU 权重**：在 GPU 与 CPU 之间保留多少模型参数

***

## 1. 使用 SDXL-Turbo 或 SDXL-Lightning 以实现快速生成

### 1. 使用 xFormers 可减少 20-30% 显存

```bash
--xformers
```

在大多数 GPU 上会自动改善性能。

### 2. Forge 的显存优化器

Forge 比 A1111 自动管理显存更好。只需为 SDXL 使用 `--medvram-sdxl` 标志（适用于 8–12 GB GPU），并让它处理其余部分。

### 3. 启用 Torch 编译（Ampere 及以上）

在 UI 的 Forge 选项卡中启用 **Diffusers Torch 编译**。首次生成需要 2-3 分钟进行编译，但随后会快 20-30%。

### 4. 最佳步骤/采样器 组合

| 目标   | 采样器                | 步数    | CFG |
| ---- | ------------------ | ----- | --- |
| 适用场景 | `DPM++ SDE Karras` | 15-20 | 7   |
| 速度   | `DPM++ 2M Karras`  | 25-35 | 7   |
| 艺术风格 | `使用低方差采样器：`        | 20-30 | 5-7 |
| FLUX | `Euler`            | 20    | 1   |

### 5. 对于 2K+ 分辨率使用 Tile VAE

对于超高分辨率（2048×2048 及以上），在 SD 选项卡中启用 **或先生成 1024×1024 然后使用** 以防止 VAE OOM（内存耗尽）错误。

### 6. 使用 API 在本地批量处理

不要在 UI 中一次生成一张，使用 API 配合 `batch_size` 可获得更高吞吐量：

```python
"batch": {
    "prompt": "...",
    "batch_size": 4,  # 同时生成 4 张图像
    "n_iter": 2,      # 运行 2 次迭代 = 共 8 张图像
}
```

***

## 故障排除

### 问题：黑图或绿色图像

VAE 精度问题。添加标志：

```bash
--no-half-vae
```

或者使用 `sdxl-vae-fp16-fix.safetensors` VAE。

### 解决方案：

按顺序尝试：

1. `--medvram-sdxl` （用于 SDXL）
2. `--medvram` （用于 SD1.5）
3. 降低图像分辨率
4. `降低分辨率（512×512 是 SD 1.5 的最佳平衡点）` （最后手段，非常慢）

### 问题：扩展未加载

```bash
# 允许扩展访问
-e CLI_ARGS="--enable-insecure-extension-access"
```

然后从 UI 的 Extensions 选项卡安装。

### 问题：启动时间过长

首次运行时属正常情况——会计算 PyTorch 和模型哈希值。之后启动会更快。

```bash
docker logs -f sd-forge  # 查看进度
```

### 问题：无法从浏览器访问 UI

确保 Forge 进程绑定到 `0.0.0.0`:

* 将 `--listen` 到 CLI\_ARGS
* 核实端口 7860 是否在你的 CLORE.AI 订单端口列表中

### 问题：模型未出现在下拉菜单中

在将文件放置到正确文件夹后， `.safetensors` 文件，点击 **🔄 刷新** 位于 Checkpoint 下拉菜单旁。

***

## 文档

* [GitHub（Forge）](https://github.com/lllyasviel/stable-diffusion-webui-forge)
* [GitHub（A1111 基础）](https://github.com/AUTOMATIC1111/stable-diffusion-webui)
* [Docker Hub（nykk3）](https://hub.docker.com/r/nykk3/stable-diffusion-webui-forge)
* [用例](https://civitai.com)
* [FLUX 模型](https://huggingface.co/black-forest-labs)
* [CLORE.AI 市场](https://clore.ai/marketplace)

***

## Clore.ai 的 GPU 建议

| 在 Clore.ai 上的预估费用 | 开发/测试             | RTX 3090（24GB） |
| ----------------- | ----------------- | -------------- |
| \~$0.12/每 GPU/每小时 | 生产                | RTX 4090（24GB） |
| \~$0.70/每 GPU/每小时 | 大规模               | A100 80GB      |
| \~$1.20/每 GPU/每小时 | 💡 本指南中的所有示例均可部署在 | Clore.ai       |

> GPU 服务器上。浏览可用 GPU 并按小时租用 — 无需承诺，提供完整的 root 访问权限。 [Clore.ai](https://clore.ai/marketplace) GPU 服务器。浏览可用 GPU 并按小时租用 — 无需承诺，提供完整的 root 访问权限。
