# SD WebUI Forge

SD WebUI Forge — это оптимизированный форк классического Stable Diffusion WebUI AUTOMATIC1111, разработанный командой lllyasviel. Он обеспечивает значительно лучшее управление VRAM (позволяя запускать SDXL на видеокартах с 4 ГБ), нативную поддержку моделей FLUX, более быструю генерацию и полную обратную совместимость со всеми расширениями и моделями A1111. Гибкий GPU-маркетплейс CLORE.AI позволяет выбрать подходящий GPU для Forge — от бюджетных карт до топовых A100.

{% hint style="success" %}
Все примеры можно запускать на GPU-серверах, арендуемых через [CLORE.AI Маркетплейс](https://clore.ai/marketplace).
{% endhint %}

## Требования к серверу

| Параметр | Минимум              | Рекомендуется      |
| -------- | -------------------- | ------------------ |
| ОЗУ      | 8 ГБ                 | 16 ГБ+             |
| VRAM     | 4 ГБ                 | 12 ГБ+             |
| Диск     | 30 ГБ                | 200 ГБ+            |
| GPU      | NVIDIA GTX 1650 4GB+ | RTX 3090, RTX 4090 |

{% hint style="info" %}
Ключевое преимущество Forge — оптимизатор VRAM: он может запускать SDXL с всего 4 ГБ VRAM (с меньшей скоростью). Для моделей FLUX практический минимум — 12 ГБ VRAM, а для полной скорости и качества — 24 ГБ.
{% endhint %}

## Быстрое развертывание на CLORE.AI

**Docker-образ:** `nykk3/stable-diffusion-webui-forge:latest`

**Порты:** `22/tcp`, `7860/http`

**Переменные окружения:**

| Переменная         | Пример                 | Описание                                               |
| ------------------ | ---------------------- | ------------------------------------------------------ |
| `CLI_ARGS`         | `--xformers --medvram` | Дополнительные аргументы CLI                           |
| `COMMANDLINE_ARGS` | `--api --listen`       | Альтернативная переменная окружения для аргументов CLI |

## Пошаговая настройка

### 1. Арендуйте GPU-сервер на CLORE.AI

Перейдите к [CLORE.AI Маркетплейс](https://clore.ai/marketplace):

* **Бюджетный SD1.5**: GTX 1660/2060 (6 ГБ) — достаточно для 512/768px
* **Поддержка SDXL**: RTX 3080/3090 (10–24 ГБ)
* **Поддержка FLUX**: RTX 4090/A6000 (24+ ГБ)
* **Максимальное качество**: 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
```

**Режим низкого потребления VRAM (GPU 4-6 ГБ):**

```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+ ГБ VRAM):**

```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. Доступ к веб-интерфейсу

Ваш CLORE.AI http\_pub URL для порта 7860:

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

### 7. Добавление моделей

**Метод 1: Скачать через CivitAI в веб-интерфейсе**

* Перейдите на **Extensions → Installed → Models** (некоторые версии)
* Или используйте загрузчик по URL в Settings

**Метод 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: Текст в изображение через веб-интерфейс

1. Откройте интерфейс Forge по вашему URL CLORE.AI
2. Выберите модель из **Checkpoint** выпадающего списка
3. Ввод подсказки: `"кинематографический портрет воина, золотой час, 8k фотография"`
4. Установите негативный промпт: `"размытое, низкое разрешение, водяной знак, уродливо"`
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
import base64
import io
from PIL import Image

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

# Текст в изображение
payload = {
    "prompt": "тихий японский сад с вишневыми цветами, в стиле акварели",
    "negative_prompt": "уродливо, размыто, низкое качество",
    "steps": 25,
    "cfg_scale": 7,
    "width": 1024,
    "height": 1024,
    "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
import base64
import io
from PIL import Image
import os

BASE_URL = "http://localhost:7860"

prompts = [
    ("киберпанк-город ночью, неоновые огни, дождь", "cyberpunk"),
    ("древний лес, мистический туман, фэнтези арт", "fantasy"),
    ("минималистичный дизайн логотипа, геометрические формы, белый фон", "logo"),
    ("портрет пожилого моряка, изношенное лицо, масляная живопись", "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": "низкое качество, размыто, водяной знак",
            "steps": 25,
            "cfg_scale": 7,
            "width": 1024,
            "height": 1024,
        },
    )
    
    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}")
```

***

## Конфигурация

### Ключевые аргументы CLI

| Аргумент                             | Описание                                                           |
| ------------------------------------ | ------------------------------------------------------------------ |
| `--api`                              | Включить REST API                                                  |
| `--listen`                           | Слушать на всех интерфейсах (требуется для CLORE.AI)               |
| `--port 7860`                        | Изменить порт                                                      |
| `--xformers`                         | Включить внимание xFormers (быстрее, меньше VRAM)                  |
| `--medvram`                          | Режим среднего потребления VRAM (SD1.5 на 6ГБ)                     |
| `--medvram-sdxl`                     | Средний режим VRAM для SDXL (SDXL на 8ГБ)                          |
| `--lowvram`                          | Режим низкого потребления VRAM (очень медленно, любая GPU)         |
| `--no-half`                          | Использовать float32 (больше VRAM, стабильнее)                     |
| `--no-half-vae`                      | Держать VAE в float32 (предотвращает появление чёрных изображений) |
| `--opt-sdp-attention`                | Масштабированное скалярное произведение внимания PyTorch           |
| `--enable-insecure-extension-access` | Разрешить установку расширений                                     |
| `--skip-version-check`               | Пропустить проверки версий Python/torch                            |

### Настройки, специфичные для Forge

Forge добавляет **Forge** панель в интерфейсе с:

* **Forge Unet**: Выберите бэкенд оптимизации (по умолчанию, bnb и т.д.)
* **Компиляция Diffusers Torch**: Включите для ускорения генерации на 20-30% (первый запуск компилирует)
* **GPU веса**: Сколько держать на GPU против CPU

***

## Советы по производительности

### 1. Используйте xFormers для снижения VRAM на 20-30%

```bash
--xformers
```

Автоматически улучшает производительность на большинстве GPU.

### 2. Оптимизатор VRAM Forge

Forge автоматически лучше управляет VRAM, чем A1111. Просто используйте `--medvram-sdxl` флаг для SDXL на GPU с 8–12 ГБ и позвольте ему сделать остальное.

### 3. Включите компиляцию Torch (Ampere+)

Во вкладке Forge в интерфейсе включите **Компиляция Diffusers Torch**. Первая генерация требует 2-3 минут на компиляцию, но последующие становятся на 20-30% быстрее.

### 4. Оптимальные комбинации шагов/сэмплера

| Цель          | Sampler            | Шаги  | CFG |
| ------------- | ------------------ | ----- | --- |
| Скорость      | `DPM++ SDE Karras` | 15-20 | 7   |
| Качество      | `DPM++ 2M Karras`  | 25-35 | 7   |
| Художественно | `Euler a`          | 20-30 | 5-7 |
| FLUX          | `Euler`            | 20    | 1   |

### 5. Используйте Tile VAE для разрешений 2K+

Для ультра-высокого разрешения (2048×2048 и выше) включите **Tiled VAE** во вкладке SD, чтобы избежать ошибок OOM с VAE.

### 6. Пакетная обработка локально через API

Вместо поочерёдной генерации в UI используйте API с `batch_size` для большей пропускной способности:

```python
payload = {
    "prompt": "...",
    "batch_size": 4,  # Сгенерировать 4 изображения за раз
    "n_iter": 2,      # Запустить 2 итерации = 8 изображений всего
}
```

***

## Устранение неполадок

### Проблема: чёрные или зелёные изображения

Проблема с точностью VAE. Добавьте флаг:

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

Или используйте `sdxl-vae-fp16-fix.safetensors` VAE.

### Проблема: "CUDA out of memory"

Попробуйте в порядке:

1. `--medvram-sdxl` (для SDXL)
2. `--medvram` (для SD1.5)
3. Уменьшите разрешение изображения
4. `--lowvram` (последняя мера, очень медленно)

### Проблема: расширения не загружаются

```bash
# Разрешить доступ к расширениям
-e CLI_ARGS="--enable-insecure-extension-access"
```

Затем установите через вкладку Extensions в интерфейсе.

### Проблема: запуск занимает слишком много времени

Нормально при первом запуске — вычисляются PyTorch и хэши моделей. Последующие запуски быстрее.

```bash
docker logs -f sd-forge  # Смотрите прогресс
```

### Проблема: нельзя получить доступ к интерфейсу из браузера

Убедитесь, что процесс 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)
* [CivitAI (модели)](https://civitai.com)
* [Модели FLUX](https://huggingface.co/black-forest-labs)
* [CLORE.AI Маркетплейс](https://clore.ai/marketplace)

***

## Рекомендации Clore.ai по GPU

| Сценарий использования  | Рекомендуемый GPU | Примерная стоимость на Clore.ai |
| ----------------------- | ----------------- | ------------------------------- |
| Разработка/Тестирование | RTX 3090 (24GB)   | \~$0.12/gpu/hr                  |
| Продакшн                | RTX 4090 (24GB)   | \~$0.70/gpu/hr                  |
| Крупномасштабно         | A100 80GB         | \~$1.20/gpu/hr                  |

> 💡 Все примеры в этом руководстве можно развернуть на [Clore.ai](https://clore.ai/marketplace) GPU-серверах. Просматривайте доступные GPU и арендуйте по часам — без обязательств, с полным root-доступом.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/guides/guides_v2-ru/generaciya-izobrazhenii/sd-webui-forge.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
