Stable Diffusion на VPS с GPU
Stable Diffusion — open-source модель генерации изображений. Для комфортной работы нужна GPU-нода с NVIDIA VRAM от 6 ГБ. CPU-генерация работает, но занимает 5-15 минут на изображение.
Требования к серверу
- GPU VPS: NVIDIA RTX 3060/3080 (8+ ГБ VRAM) или RunPod/Vast.ai
- RAM: 16 ГБ минимум, Диск: 50+ ГБ
- ОС: Ubuntu 22.04
Установка AUTOMATIC1111
apt update && apt install -y wget git python3 python3-pip python3-venv libgl1 libglib2.0-0
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
cd stable-diffusion-webui
# Скачать модель SDXL
cd models/Stable-diffusion
wget https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors
cd ../..
./webui.sh --api --listen --port 7860Systemd сервис
[Unit]
Description=Stable Diffusion WebUI
After=network.target
[Service]
Type=simple
User=www-data
WorkingDirectory=/opt/stable-diffusion-webui
ExecStart=/opt/stable-diffusion-webui/webui.sh --api --listen --port 7860
Restart=on-failure
[Install]
WantedBy=multi-user.targetAPI: генерация через Python
import requests, base64
def generate_image(prompt: str, steps: int = 20) -> bytes:
payload = {
"prompt": prompt,
"negative_prompt": "blurry, low quality",
"steps": steps,
"width": 512,
"height": 512,
"cfg_scale": 7,
"sampler_name": "DPM++ 2M Karras"
}
r = requests.post("http://localhost:7860/sdapi/v1/txt2img", json=payload)
return base64.b64decode(r.json()["images"][0])
img = generate_image("professional server photo, dark background, 4k")
with open("output.png", "wb") as f:
f.write(img)Без GPU? Используйте RunPod.io (~$0.2/час за RTX 4090) или Vast.ai — запускайте только когда нужно.
Безопасность: Никогда не открывайте порт 7860 без аутентификации. Используйте Nginx с HTTP Basic Auth.