Automatic1111: плагины, xformers и hi‑res
Задача страницы. Показать, как запустить и эксплуатировать Automatic1111 WebUI на облачных GPU: оптимальные флаги запуска (xformers/SDPA), пресеты hi‑res fix, категории плагинов (ControlNet, тайлинг, апскейл/реставрация), API и батч‑рендер, а также наблюдаемость и расчёт стоимости.
TL;DR
- Для интерактива — WebUI с прогретыми весами, fp16, включённое xformers или SDPA, аккуратные пресеты hi‑res (scale 1.5–2.0; denoise 0.2–0.4).
- Для массовой генерации — API + очередь заданий, батч‑параметры, локальный кэш весов на NVMe, interruptible пулы.
- Качество/скорость регулируются: шагами, самплером, CFG, hi‑res fix, тайлингом, апскейлом и ControlNet.
- Соседние страницы: /solutions/image-video-gen/ • /solutions/image-video-gen/comfyui/ • /solutions/image-video-gen/sdxl/ • /solutions/image-video-gen/sd3/ • /solutions/image-video-gen/controlnet/ • /solutions/image-video-gen/upscaling/ • /solutions/image-video-gen/face-restoration/ • /solutions/image-video-gen/batch-render/ • Инфраструктура: /solutions/performance-tuning/, /solutions/storage-data/, /solutions/monitoring-logging/, /solutions/llm-inference/streaming/, /solutions/llm-inference/observability/, /solutions/llm-inference/costs/.
Когда выбирать Automatic1111 (а когда — ComfyUI)
- Automatic1111 подходит для быстрого старта UI, богатых плагинов, одиночных/серийных прогонов через веб‑форму и REST‑API.
- ComfyUI удобнее для сложных графов и конвейеров, где нужно ветвление, кэш узлов и кастомные пайплайны (см. /solutions/image-video-gen/comfyui/).
- Для микса «UI‑демо + пакетный рендер» можно держать оба стека: WebUI — для интерактива, ComfyUI — для фермы.
Запуск на GPU: рекомендуемые флаги и директории
Структура хранилища:
/weights/
checkpoints/ # SD/SDXL/SD3
vae/
loras/
controlnet/
embeddings/
/outputs/ # результаты (дата/проект/вариант)
/cache/ # временные файлы/предпросмотры
Подробнее про диски и кэш — /solutions/storage-data/.
Пример запуска (универсальный):
# Предполагается, что launch.py находится в каталоге WebUI
export SD_WEBUI_LOGDIR=/outputs/logs
export TRANSFORMERS_CACHE=/weights/cache
export HF_HOME=/weights/cache
# Выберите один вариант внимания (а не оба):
# Вариант A: xformers (низкая память, хороший тюнинг под SDXL)
EXTRA="--xformers"
# Вариант B: SDPA (Scaled-Dot-Product Attention, быстрый на современных GPU)
# EXTRA="--opt-sdp-attention"
python launch.py
--api --listen --port 7860
--ckpt-dir /weights/checkpoints
--vae-dir /weights/vae
--lora-dir /weights/loras
--controlnet-dir /weights/controlnet
--gradio-queue
$EXTRA
Замечания по флагам
- Используйте или --xformers, или --opt-sdp-attention. Одновременное включение не имеет смысла.
- Для экономии VRAM оставьте fp16 по умолчанию, --no-half-vae включайте только при проблемах с VAE.
Для прод‑API добавьте --api и ограничители размеров/шагов на уровне реверс‑прокси.
Hi‑res fix: рабочие пресеты Общее правило: генерируйте базовое изображение в меньшем размере, затем включайте Hi‑res fix (встроенный «второй проход») или внешний апскейл.
Рекомендации (стартовые):
- Scale: 1.5–2.0×;
- Hi‑res steps: ~35–50% от базовых шагов;
- Denoise strength: 0.2–0.4;
- Upscaler: Latent / Latent (antialiased) для мягкого деталинга; для финала — апскейл из /solutions/image-video-gen/upscaling/.
Для SDXL: держите base на 1024² с умеренными шагами, refiner — на коротком проходе (10–15) для детализации (см. /solutions/image-video-gen/sdxl/).
VRAM‑профили и рекомендации
| **Сценарий** | **Разрешение** | **SD 1.5** | **SDXL (base/refiner)** | **SD3‑семейство** | **Комментарий** |
| Интерактив 20–30 шагов | 512² | 8–12 ГБ | 12–16 ГБ | 16–24 ГБ | предпросмотры |
| Интерактив HQ | 768² | 12–16 ГБ | **16–24 ГБ** | 24–32 ГБ | refiner по желанию |
| 1024² | 1024² | 16 ГБ | **16–24 ГБ** | 24–48 ГБ | тайлинг при нехватке VRAM |
| ControlNet/IP‑Adapter | — | +1–3 ГБ | +2–4 ГБ | +3–6 ГБ | на каждую ветку |
| Апскейл/реставрация | — | 8–12 ГБ | 8–16 ГБ | 8–16 ГБ | см. апскейл/фейсы |
Плагины и расширения: что ставить в первую очередь
Ниже — категории расширений. Конкретные списки подбираются под продуктовую политику.
- ControlNet/IP‑Adapter — управляемые структуры: поза/скетч/грани/референс‑изображение. См. /solutions/image-video-gen/controlnet/.
- Тайловая диффузия/тайловый VAE — большие разрешения без OOM (2–4k) с «стежкой» швов.
- Апскейл/реставрация — апскейлеры и восстановление лиц (см. /solutions/image-video-gen/face-restoration/, /solutions/image-video-gen/upscaling/).
- Промпт‑инструменты — вариативные промпты/шаблоны, региональные промпты (разные стили для областей).
- Авто‑детализация — добавление деталей на лице/телесных областях (альтернатива ручной правке).
- Batch‑утилиты — матрицы промптов, серия seed/CFG/шагов для каталогов (см. /solutions/image-video-gen/batch-render/). API WebUI: txt2img/img2img и прогресс
Пример txt2img:
curl -X POST "http://<host>:7860/sdapi/v1/txt2img"
-H "Content-Type: application/json"
-d '{
"prompt": "ultra-detailed product photo on white background",
"negative_prompt": "blurry, watermark",
"width": 768, "height": 768,
"steps": 28, "cfg_scale": 6.5,
"sampler_name": "DPM++ 2M Karras",
"seed": 42,
"batch_size": 1
}'
Пример img2img:
curl -X POST "http://<host>:7860/sdapi/v1/img2img"
-H "Content-Type: application/json"
-d '{
"init_images": ["data:image/png;base64,<BASE64>"],
"prompt": "clean studio lighting, sharp focus",
"denoising_strength": 0.45,
"steps": 24, "cfg_scale": 6,
"width": 1024, "height": 1024
}'
**Стриминг прогресса (обёртка SSE) WebUI предоставляет прогресс/превью через эндпоинты; для UX удобно отдавать SSE:
from fastapi import FastAPI
from fastapi.responses import StreamingResponse
import httpx, asyncio, json
WEBUI = "http://localhost:7860"
app = FastAPI()
@app.get("/v1/a1111/progress_stream")
async def progress():
async def gen():
yield "event: startndata: {}nn"
async with httpx.AsyncClient(timeout=10) as s:
for _ in range(600):
r = await s.get(f"{WEBUI}/sdapi/v1/progress?skip_current_image=1")
yield f"data: {r.text}nn"
await asyncio.sleep(0.3)
yield "event: donendata: [DONE]nn"
return StreamingResponse(gen(), media_type="text/event-stream")
Качество vs скорость: рычаги тюнинга
- Шаги (steps): для предпросмотра снижайте до 16–24; финал — 28–40.
- Самплер: DPM++ 2M Karras — баланс скорости/деталей; Euler a — очень быстрый предпросмотр.
- CFG: удерживайте в диапазоне 4–8; избыточный CFG повышает шум/«пластик».
- Hi‑res fix: используйте второй проход для HQ; на 2–4k добавляйте тайлинг.
- ControlNet и IP‑Adapter: повышают управляемость, но требуют VRAM/времени; включайте по мере нужды.
- Апскейл/реставрация: часто выгоднее «768–1024² → апскейл → лёгкий денойз», чем изначально 2–4k (см. соответствующие страницы).
Batch‑рендер и стоимость
Мини‑модель стоимости:
T ≈ O + S × t_step(R, B)
Imgs_per_hour ≈ 3600 / T
Cost_per_1000 ≈ (GPU_hour_price × Num_GPU) / (Imgs_per_hour / 1000)
Где S — шаги диффузии, R — разрешение, B — батч, t_step — среднее время шага, O — накладные.
Паттерн пакетной генерации
- Очередь задач (JSON‑манифест параметров), пул API‑воркеров WebUI, ретраи, дедуп по (prompt, seed, cfg, steps, model).
- Раздельные пулы: on‑demand (интерактив) и interruptible (пакеты).
- Отчёт: список артефактов, параметры, время, цена/1k изображений.
Детали — /solutions/image-video-gen/batch-render/, экономика — /solutions/llm-inference/costs/, планирование — /solutions/cost-planner/.
Наблюдаемость и алерты
Метрики (минимум):
- images_per_min, t_step_ms, steps, batch, resolution, queue_wait.
- GPU: util/HBM, OOM/ретраи, время загрузки весов, кэш‑хиты.
- Ошибки API и тайм‑ауты по эндпоинтам.
- Интеграция: /solutions/monitoring-logging/, /solutions/llm-inference/observability/.
Безопасность и политика
- Белый список моделей/LoRA/ControlNet; ограничения параметров API (макс. разрешение/шаги/CFG/батч).
- Санация промптов/логов, маскирование PII и токенов.
Подробнее: /solutions/security/, /solutions/llm-inference/guardrails/.
Как запускать в cloudcompute.ru
- Шаблон “A1111‑GPU” в /solutions/templates/: – монтирование /weights, /outputs, /cache; – флаги --api --gradio-queue и выбор внимания (xformers или SDPA); – лимиты параметров, health‑checks, прогрев весов; – базовые метрики/алерты.
- Для больших партий — связка с /solutions/image-video-gen/batch-render/.
- Расчёт стоимости/профилей — /solutions/cost-planner/.
Траблшутинг
- CUDA OOM — снижайте разрешение/шаги/батч, выключайте refiner/избыточные ControlNet, включайте тайлинг.
- Чёрные/пустые изображения — проверьте VAE/совместимость весов; запустите без --no-half-vae.
- Рывки/очереди — прогрейте веса, держите кэш на NVMe, разделяйте short/long задания.
- «Пластик»/артефакты — уменьшайте CFG, используйте refiner, корректируйте негатив‑промпт.
- Низкая скорость — переключите внимание (xformers↔SDPA), уменьшите шаги, проверьте, что weights локально.
Чек‑лист перед продом
- Выбраны модели (SD/SDXL/SD3) и целевые R/S/батч.
- Настроены флаги (--xformers или --opt-sdp-attention), прогрев и локальный кэш весов.
- Hi‑res fix сконфигурирован (scale/steps/denoise), определён пайплайн апскейла/реставрации.
- Ограничены параметры API/UI; раздельные пулы интерактив/пакет.
- Метрики/алерты/логи включены; рассчитана Cost_per_1000.
- Политики безопасности/контента внедрены; логи без PII.
Навигация по разделу «Генерация изображений и видео»/solutions/image-video-gen/ • /solutions/image-video-gen/comfyui/ • /solutions/image-video-gen/sdxl/ • /solutions/image-video-gen/sd3/ • /solutions/image-video-gen/controlnet/ • /solutions/image-video-gen/upscaling/ • /solutions/image-video-gen/face-restoration/ • /solutions/image-video-gen/batch-render/ • инфраструктура: /solutions/performance-tuning/, /solutions/storage-data/, /solutions/llm-inference/streaming/, /solutions/llm-inference/observability/, /solutions/llm-inference/costs/
Готовы запустить?
Запустить GPU-сервер