# Stable Diffusion WebUI

Самый популярный веб-интерфейс для Stable Diffusion на GPU CLORE.AI.

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

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

| Параметр      | Минимум     | Рекомендуется |
| ------------- | ----------- | ------------- |
| ОЗУ           | 16 ГБ       | 32 ГБ+        |
| VRAM          | 8 ГБ        | 12 ГБ+        |
| Сеть          | 500 Мбит/с  | 1 Гбит/с+     |
| Время запуска | 10–20 минут | -             |

{% hint style="warning" %}
**Время запуска:** При первом запуске устанавливаются зависимости Python и загружается базовая модель (10–20 минут в зависимости от скорости сети). HTTP 502 в это время — нормально.
{% endhint %}

## Почему SD WebUI?

* **Богатый функционал** - txt2img, img2img, инпейтинг, аутпейтинг
* **Расширения** - Огромная экосистема плагинов
* **Удобство для пользователя** - Интуитивный веб-интерфейс
* **Хорошая документация** - Широкая поддержка сообщества

> 📚 См. также: [Как запустить Stable Diffusion на облачном GPU](https://blog.clore.ai/how-to-run-stable-diffusion-cloud-gpu/)

## Быстрая деплой на CLORE.AI

**Docker-образ:**

```
universonic/stable-diffusion-webui:latest
```

**Порты:**

```
22/tcp
8080/http
```

**Команда:**

```bash
./webui.sh --listen --xformers
```

### Проверьте, что всё работает

После развертывания найдите ваш `http_pub` URL в **Мои заказы**:

```bash
# Проверьте доступность UI (при первом запуске может занять 10–20 мин)
curl https://your-http-pub.clorecloud.net/
```

{% hint style="info" %}
Если вы получаете HTTP 502 более 20 минут, проверьте:

1. Сервер имеет 16 ГБ+ ОЗУ
2. Сервер имеет 8 ГБ+ VRAM
3. Скорость сети достаточна для загрузки зависимостей
   {% endhint %}

## Доступ к вашему сервису

При деплое на CLORE.AI доступ к SD WebUI осуществляется через `http_pub` URL:

* **Веб UI:** `https://your-http-pub.clorecloud.net/`
* **API (если включено):** `https://your-http-pub.clorecloud.net/sdapi/v1/`

{% hint style="info" %}
Все `localhost:7860` пример ниже работает при подключении через SSH. Для внешнего доступа замените на ваш `https://your-http-pub.clorecloud.net/` URL.
{% endhint %}

## Установка

### Использование Docker (рекомендуется)

```bash
docker run -d --gpus all \
    -p 8080:8080 \
    -v sd-webui-data:/app/stable-diffusion-webui \
    universonic/stable-diffusion-webui:latest
```

### Ручная установка

```bash
# Установите зависимости
sudo apt install python3.10 python3.10-venv git wget

# Клонируйте репозиторий
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui

# Запуск (автоустанавливает всё)
./webui.sh --listen --xformers
```

## Структура директорий

```
stable-diffusion-webui/
├── models/
│   ├── Stable-diffusion/   # Основные модели (.safetensors)
│   ├── Lora/               # Модели LoRA
│   ├── VAE/                # Модели VAE
│   ├── ControlNet/         # Модели ControlNet
│   └── ESRGAN/             # Апскейлеры
├── embeddings/             # Текстовые инверсии
├── extensions/             # Установленные расширения
├── outputs/                # Сгенерированные изображения
└── scripts/                # Пользовательские скрипты
```

## Скачать модели

### Контролные точки

```bash
cd models/Stable-diffusion

# SD 1.5
wget https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned.safetensors

# SDXL
wget https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors

# Realistic Vision (Фотореалистичный)
wget "https://civitai.com/api/download/models/245598" -O realisticVision_v60B1.safetensors

# DreamShaper (Художественный)
wget "https://civitai.com/api/download/models/351306" -O dreamshaper_8.safetensors
```

### VAE (Лучшие цвета)

```bash
cd models/VAE

# SD 1.5 VAE
wget https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors

# SDXL VAE
wget https://huggingface.co/stabilityai/sdxl-vae/resolve/main/sdxl_vae.safetensors
```

## Базовое использование

### txt2img (текст → изображение)

1. Выберите модель в выпадающем списке
2. Введите позитивный промпт: то, что вы хотите
3. Введите негативный промпт: чего избегать
4. Установите размеры (512x512 для SD1.5, 1024x1024 для SDXL)
5. Нажмите «Generate»

### img2img (изображение → изображение)

1. Перейдите на вкладку img2img
2. Загрузите исходное изображение
3. Введите промпт, описывающий желаемые изменения
4. Настройте **Сила денойзинга** (0.3-0.8)
5. Сгенерировать

### Инпейтинг

1. Перейдите в img2img → Inpaint
2. Загрузите изображение
3. Нарисуйте маску над областью для изменения
4. Введите промпт для замаскированной области
5. Сгенерировать

## Основные настройки

### Параметры генерации

| Настройка | SD 1.5          | SDXL            |
| --------- | --------------- | --------------- |
| Ширина    | 512             | 1024            |
| Высота    | 512             | 1024            |
| Шаги      | 20-30           | 20-40           |
| CFG Scale | 7               | 5-7             |
| Сэмплер   | DPM++ 2M Karras | DPM++ 2M Karras |

### Аргументы командной строки

```bash
./webui.sh \
    --listen \              # Разрешить внешний доступ
    --port 7860 \           # Номер порта
    --xformers \            # Оптимизация памяти
    --enable-insecure-extension-access \  # Разрешить расширения
    --api \                 # Включить API
    --no-half-vae           # Исправление чёрных изображений
```

### Для малого объёма VRAM

```bash
./webui.sh \
    --listen \
    --medvram \           # 6–8 ГБ VRAM
    # или
    --lowvram \           # 4 ГБ VRAM
    --xformers
```

## Популярные расширения

### Обязательно

| Расширение                | Назначение                |
| ------------------------- | ------------------------- |
| ControlNet                | Управляемая генерация     |
| ADetailer                 | Автоисправление лица/рук  |
| Ultimate SD Upscale       | Лучшее апскейлинг         |
| sd-webui-segment-anything | Сегментация               |
| Regional Prompter         | Многорегиональные промпты |

### Установка расширений

1. Перейдите на **Расширения** вкладка
2. Нажмите **Доступно**
3. Нажмите **Загрузить из**
4. Поиск и установка
5. Применить и перезапустить UI

Или вручную:

```bash
cd extensions
git clone https://github.com/Mikubill/sd-webui-controlnet.git
```

## ControlNet

### Установка

```bash
# Установить расширение
cd extensions
git clone https://github.com/Mikubill/sd-webui-controlnet.git

# Скачать модели
cd ../models/ControlNet
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_canny.pth
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11p_sd15_openpose.pth
wget https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/control_v11f1p_sd15_depth.pth
```

### Использование

1. Разверните секцию ControlNet
2. Загрузите контрольное изображение
3. Выберите препроцессор (Canny, OpenPose и т.д.)
4. Выберите модель, соответствующую препроцессору
5. Сгенерировать

## Использование API

Включите с помощью `--api` флага, затем:

```python
import requests
import base64

# Для внешнего доступа используйте ваш http_pub URL:
API_URL = "https://your-http-pub.clorecloud.net"
# Или через SSH: API_URL = "http://localhost:7860"

def txt2img(prompt, negative="", steps=20, width=512, height=512):
    response = requests.post(
        f"{API_URL}/sdapi/v1/txt2img",
        json={
            "prompt": prompt,
            "negative_prompt": negative,
            "steps": steps,
            "width": width,
            "height": height,
        }
    )
    return base64.b64decode(response.json()["images"][0])

# Сгенерировать и сохранить
image_data = txt2img("A beautiful sunset over mountains")
with open("output.png", "wb") as f:
    f.write(image_data)
```

### img2img API

```python
import base64

def img2img(prompt, image_path, denoising=0.5):
    with open(image_path, "rb") as f:
        image_b64 = base64.b64encode(f.read()).decode()

    response = requests.post(
        f"{API_URL}/sdapi/v1/img2img",
        json={
            "prompt": prompt,
            "init_images": [image_b64],
            "denoising_strength": denoising,
            "steps": 30,
        }
    )
    return base64.b64decode(response.json()["images"][0])
```

## Написание промптов

### Базовая структура

```
[объект], [стиль], [детали], [освещение], [теги качества]
```

### Примеры промптов

```
# Портрет
портрет молодой женщины, профессиональная фотография,
мягкое освещение, малая глубина резкости, 8k uhd,
высокая детализация, фотореализм

# Пейзаж
величественный горный пейзаж на закате, драматические облака,
освещение золотого часа, стиль National Geographic,
8k обои, высокая детализация

# Аниме
1girl, серебристые волосы, синие глаза, школьная форма,
цветущая сакура, весна, шедевр, лучшее качество
```

### Негативные промпты

```
# Общие
низкое разрешение, плохая анатомия, плохие руки, текст, ошибка,
отсутствующие пальцы, обрезано, худшее качество, низкое качество,
артефакты jpeg, подпись, водяной знак, размытость

# Для фотореалистичных изображений
мультфильм, аниме, иллюстрация, живопись, рисунок,
3D-рендер, CGI
```

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

1. **Включите xFormers** - Значительное ускорение
2. **Используйте VAE** - Лучше цвета
3. **Размер батча 1** - Для ограниченного VRAM
4. **Hires Fix** - Генерировать маленькое, затем увеличивать
5. **ADetailer** - Автоисправление лиц

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

| Модель       | Минимальный VRAM | Рекомендуемый VRAM | Мин ОЗУ |
| ------------ | ---------------- | ------------------ | ------- |
| SD 1.5       | 4 ГБ             | 8 ГБ               | 16 ГБ   |
| SD 2.1       | 6 ГБ             | 8 ГБ               | 16 ГБ   |
| SDXL         | 8 ГБ             | 12ГБ               | 16 ГБ   |
| С ControlNet | +2 ГБ            | +4 ГБ              | 16 ГБ   |

## Пресеты GPU

### RTX 3060 12GB (Бюджет)

```bash
# Команда запуска
./webui.sh --medvram --xformers

# Рекомендуемые settings.json:
# - SD 1.5: 512x512, batch 4, 20–30 шагов
# - SDXL: 768x768, batch 1, 20 шагов
# - Включить VAE tiling в настройках
# - Используйте ADetailer для лиц
```

**Лучшие модели:** SD 1.5, DreamShaper, RealisticVision

### RTX 3090 24GB (Оптимально)

```bash
# Команда запуска
./webui.sh --xformers

# Рекомендуемые настройки:
# - SD 1.5: 512x512, batch 8, 30 шагов
# - SDXL: 1024x1024, batch 2, 30 шагов
# - ControlNet + SD 1.5 работает отлично
# - Hires fix на 2x работает
```

**Лучшие модели:** SDXL, Juggernaut, RealVisXL

### RTX 4090 24GB (Производительность)

```bash
# Команда запуска
./webui.sh --xformers --opt-sdp-attention

# Рекомендуемые настройки:
# - SD 1.5: 512x512, batch 16, 30 шагов
# - SDXL: 1024x1024, batch 4, 40 шагов
# - Несколько ControlNet одновременно
# - Hires fix на 4x
```

**Лучшие модели:** SDXL, Pony Diffusion, любая модель для высокого разрешения

### A100 40GB/80GB (Продакшн)

```bash
# Команда запуска
./webui.sh --opt-sdp-attention --no-half-vae

# Рекомендуемые настройки:
# - SDXL: 1024x1024, batch 8+, 50 шагов
# - Несколько ControlNet + IP-Adapter
# - Hires fix до 4096x4096
# - AnimateDiff для видео
```

**Лучше всего для:** Пакетная генерация, сложные рабочие процессы, видео

## Оценка стоимости

Типичные ставки на маркетплейсе CLORE.AI:

| GPU      | VRAM  | Цена/день  | Скорость SD1.5 | Скорость SDXL |
| -------- | ----- | ---------- | -------------- | ------------- |
| RTX 3060 | 12ГБ  | $0.15–0.30 | \~4 сек        | \~12 сек      |
| RTX 3090 | 24ГБ  | $0.30–1.00 | \~2 сек        | \~6 сек       |
| RTX 4090 | 24ГБ  | $0.50–2.00 | \~1 сек        | \~3 сек       |
| A100     | 40 ГБ | $1.50–3.00 | \~0.5 сек      | \~2 сек       |

*Цены в USD/день. Ставки варьируются в зависимости от провайдера — проверьте* [*CLORE.AI Marketplace*](https://clore.ai/marketplace) *для актуальных тарифов.*

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

### HTTP 502 длительное время

1. **Проверьте ОЗУ:** Сервер должен иметь 16 ГБ+ ОЗУ
2. **Проверьте VRAM:** Для SDXL требуется 8 ГБ+
3. **Установка зависимостей:** Первый запуск занимает 10–20 минут
4. **Медленная сеть:** Низкая пропускная способность увеличивает время запуска

### Чёрные изображения

```bash
# Добавить к аргументам запуска
--no-half-vae
```

### Недостаток памяти

```bash
# Используйте оптимизацию
--medvram
--xformers
```

### Расширения не загружаются

```bash
--enable-insecure-extension-access
```

### Медленная генерация

1. Включите xFormers
2. Уменьшите размер изображения
3. Понизьте количество шагов (20 часто достаточно)

## Следующие шаги

* [ComfyUI](/guides/guides_v2-ru/generaciya-izobrazhenii/comfyui.md) - Более продвинутые рабочие процессы
* [FLUX.1](/guides/guides_v2-ru/generaciya-izobrazhenii/flux.md) - Последняя модель
* [ControlNet](/guides/guides_v2-ru/obrabotka-izobrazhenii/controlnet-advanced.md) - Управляемая генерация
* [Тренировка LoRA](/guides/guides_v2-ru/obuchenie/kohya-training.md) - Пользовательские модели


---

# 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/stable-diffusion-webui.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.
