Розгортання Automatic1111 (SDXL WebUI) для генерації зображень

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Розгортання Automatic1111 (SDXL WebUI) для генерації зображень
Середній
від 1 дня до 3 днів
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1284
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1196
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    901
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1119
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    586
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    853

Розгорнути Automatic1111 (SDXL WebUI)

Automatic1111 (A1111) — найпоширеніший web-інтерфейс для Stable Diffusion із великою екосистемою розширень (1000+). Підходить для команд, яким потрібний готовий UI для генерації + REST API для автоматизації.

Production деплой

# Клонируем и устанавливаем
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
cd stable-diffusion-webui

# Модели в правильные директории
# ./models/Stable-diffusion/ — основные чекпоинты (.safetensors)
# ./models/Lora/            — LoRA файлы
# ./models/ControlNet/      — ControlNet модели
# ./models/VAE/             — VAE чекпоинты

# Запуск с API и оптимизациями
./webui.sh \
    --api \
    --api-auth user:password \
    --listen \
    --port 7860 \
    --xformers \
    --opt-sdp-attention \
    --medvram-sdxl \
    --no-progressbar-hiding

Зворотний проксі-сервер Nginx

server {
    listen 443 ssl;
    server_name sd.example.com;

    ssl_certificate /etc/ssl/sd.crt;
    ssl_certificate_key /etc/ssl/sd.key;

    location / {
        proxy_pass http://127.0.0.1:7860;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_read_timeout 300s;  # Генерация может занимать > 60 сек
        proxy_send_timeout 300s;
    }
}

API використання

import httpx
import base64
from PIL import Image
import io

class A1111Client:
    def __init__(self, base_url: str, username: str = None, password: str = None):
        self.base_url = base_url.rstrip("/")
        self.auth = (username, password) if username else None

    async def txt2img(self, payload: dict) -> list[bytes]:
        async with httpx.AsyncClient(timeout=300, auth=self.auth) as client:
            resp = await client.post(f"{self.base_url}/sdapi/v1/txt2img", json=payload)
            resp.raise_for_status()
            return [base64.b64decode(img) for img in resp.json()["images"]]

    async def interrogate(self, image_bytes: bytes, model: str = "clip") -> str:
        """Определяем промпт для существующего изображения"""
        payload = {
            "image": base64.b64encode(image_bytes).decode(),
            "model": model  # clip, deepdanbooru
        }
        async with httpx.AsyncClient(timeout=60, auth=self.auth) as client:
            resp = await client.post(f"{self.base_url}/sdapi/v1/interrogate", json=payload)
            return resp.json()["caption"]

    async def upscale(self, image_bytes: bytes, scale: float = 2.0, upscaler: str = "ESRGAN_4x") -> bytes:
        payload = {
            "image": base64.b64encode(image_bytes).decode(),
            "upscaling_resize": scale,
            "upscaler_1": upscaler
        }
        async with httpx.AsyncClient(timeout=120, auth=self.auth) as client:
            resp = await client.post(f"{self.base_url}/sdapi/v1/extra-single-image", json=payload)
            return base64.b64decode(resp.json()["image"])

Корисні розширення

Розширення функція
ControlNet Контроль пози/структури/глибини
ADetailer Автоматичне покращення осіб/рук
Ultimate SD Upscale Тайловий апскейлінг великих зображень
Regional Prompter Різні промпти для різних зон зображення
AnimateDiff Генерація відео з промпту
IP-Adapter Стиль-референс зображення

Системні вимоги

Конфігурація VRAM Зображення/година (1024×1024)
RTX 3060 12 ГБ 12 ГБ ~120 (без xformers)
RTX 3090 24 ГБ 24 ГБ ~300
RTX 4090 24 ГБ 24 ГБ ~600
2× A10G 2×24 GB ~800 (з батчингом)

Терміни: базовий деплой із кількома моделями — 4–8 годин. Production-setup з автентифікацією, моніторингом, reverse proxy - 1-2 дні.