Stable Diffusion е open source модел за генерация на изображения от текст (text-to-image). Пускаш го на собствен компютър - без абонамент, без ограничения, без данните ти да минават през чужди сървъри.
Flux е новото поколение от Black Forest Labs (основателите на Stable Diffusion). По-добро следване на промпт, по-реалистични резултати, по-чист текст в изображенията.
Моделът не "знае" как изглежда нещо - той е научен кога шум прилича на конкретен образ. При генерация тръгва от чист шум и итеративно го "оформя" по посока на промпта.
Модели = checkpoint файлове (.safetensors, .ckpt). Сваляш ги от HuggingFace или Civitai. Размерите варират от 2GB до 40GB+.
Всички модели се свалят от huggingface.co или civitai.com. За Flux - задължително от официалното HuggingFace repo на black-forest-labs.
| ХАРДУЕР | FLUX.1 DEV | SDXL | SD 1.5 | СКОРОСТ |
|---|---|---|---|---|
| NVIDIA RTX 4090 (24GB) | fp16 full quality | отлично | отлично | ~3-6 sec/img |
| NVIDIA RTX 3090/4080 (16-24GB) | fp16 работи | отлично | отлично | ~6-15 sec/img |
| NVIDIA RTX 3080/4070 (10-12GB) | Q8 quantized | добре | отлично | ~10-20 sec/img |
| NVIDIA RTX 3060/4060 (8GB) | NF4 quantized | с --medvram | добре | ~20-40 sec/img |
| NVIDIA GTX 1080/1060 (6-8GB) | трудно | бавно | работи | >60 sec/img |
| AMD RX 580/5700/6800 (ROCm) | ROCm на Linux | ROCm на Linux | ROCm на Linux | ~2-3x бавнo vs NVIDIA |
| Apple M2/M3/M4 (unified) | MPS, добре | MPS, добре | MPS, добре | ~10-30 sec/img |
| CPU only | не е практично | не е практично | минути/img | >5 min/img |
ComfyUI е node-based workflow editor. Всяка операция е node - свързваш ги с жици. По-сложен за начало, но дава пълен контрол върху pipeline-а.
Изисквания
Python 3.10+ · Git · CUDA toolkit (NVIDIA) или ROCm (AMD) или Metal (Apple)
# Провери Python python3 --version # Провери CUDA (NVIDIA) nvidia-smi # Провери ROCm (AMD Linux) rocm-smi
Clone и инсталация
# Clone git clone https://github.com/comfyanonymous/ComfyUI cd ComfyUI # Virtual environment (препоръчително) python3 -m venv venv source venv/bin/activate # Install dependencies - NVIDIA pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121 pip install -r requirements.txt # AMD ROCm (Linux) pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/rocm5.6 pip install -r requirements.txt
Свали Flux модел
# Flux.1 Dev - нужен е HuggingFace акаунт и accept на license # Свали от: https://huggingface.co/black-forest-labs/FLUX.1-dev # flux1-dev.safetensors → models/unet/ # Или quantized версия (по-малко VRAM): # flux1-dev-Q8_0.gguf → models/unet/ # Text Encoders (задължителни за Flux) # clip_l.safetensors → models/clip/ # t5xxl_fp16.safetensors → models/clip/ # VAE # ae.safetensors → models/vae/ # HuggingFace CLI download pip install huggingface_hub huggingface-cli download black-forest-labs/FLUX.1-dev flux1-dev.safetensors \ --local-dir ./models/unet/
Пусни ComfyUI
# Стандартен старт python main.py # С нисък VRAM режим (<8GB) python main.py --lowvram # CPU само (бавно, за тест) python main.py --cpu # LAN достъп (от друг компютър) python main.py --listen 0.0.0.0 --port 8188
Отваря се на http://127.0.0.1:8188
Зареди Flux workflow
В ComfyUI: Load → избери JSON workflow файл. Готови Flux workflows намираш в:
# ComfyUI Examples в официалното repo: https://github.com/comfyanonymous/ComfyUI/tree/master/comfy_extras/workflows # Или от ComfyUI Manager - инсталира workflows автоматично # Инсталация на Manager: cd custom_nodes git clone https://github.com/ltdrdata/ComfyUI-Manager
По-лесен старт от ComfyUI. Традиционен UI, подходящ за SDXL. За Flux - по-ограничен.
# Clone git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui cd stable-diffusion-webui # Сложи модела в models/Stable-diffusion/ # SDXL base: sd_xl_base_1.0.safetensors # SDXL refiner: sd_xl_refiner_1.0.safetensors # Стартирай (инсталира зависимостите автоматично) ./webui.sh # Linux/Mac webui-user.bat # Windows # С флагове за нисък VRAM # Редактирай webui-user.sh: # COMMANDLINE_ARGS="--medvram --xformers" # API режим (за програматична употреба) # COMMANDLINE_ARGS="--api"
Промптингът за image generation е различен от LLM промптинг. По-дескриптивен, по-малко разговорен.
// FLUX промпт пример A weathered Bulgarian mechanic in his 50s working under a classic Lada in a rural garage. Oil-stained hands, warm afternoon light filtering through dusty windows. Photorealistic, shallow depth of field, natural colors. // SDXL промпт пример (keyword стил) masterpiece, best quality, Bulgarian mechanic, middle aged man, workshop, vintage car, oil stains, natural lighting, photorealistic, bokeh, Canon EOS R5, 85mm lens // SDXL negative prompt (стандартен) ugly, blurry, low quality, deformed hands, extra fingers, watermark, text, bad anatomy, worst quality, jpeg artifacts, duplicate
| ПАРАМЕТЪР | СТОЙНОСТИ | ЕФЕКТ |
|---|---|---|
| Steps | Flux: 20-28 · SDXL: 25-40 · Schnell: 4-8 | Повече = по-детайлно, но diminishing returns след 30 |
| CFG Scale | Flux: 3.5-7 · SDXL: 7-12 | По-ниско = креативно, по-високо = стриктно следва промпта |
| Sampler | Euler a · DPM++ 2M · DDIM | Euler a за разнообразие, DPM++ за консистентност |
| Resolution | Flux: 1024x1024 · SDXL: 1024x1024 · SD: 512x512 | Не сменяй аспектното съотношение драматично |
| Seed | -1 (random) или фиксиран | Фиксиран seed = репродуцируем резултат при същите настройки |
| Batch Size | 1-4 (зависи от VRAM) | Повече изображения наведнъж. Бързо изчерпва VRAM. |
LoRA (Low-Rank Adaptation) е малък допълнителен файл, обучен върху специфичен стил, персонаж или обект. Зарежда се заедно с базовия модел и модифицира изхода.
// SDXL - A1111 синтаксис за LoRA masterpiece, portrait of a woman, <lora:detailed_skin_v2:0.7>, <lora:lighting_pro:0.5> // Тежестта е 0-1. 0.7 е добра отправна точка. // Може да комбинираш multiple LoRA, но гледай за конфликти.
// ComfyUI - LoRA node // Load LoRA node → свържи след model и clip // strength_model и strength_clip: 0.7 е default // Flux LoRA - папка: models/loras/ // Civitai вече има Flux LoRA секция
За да обучиш LoRA с твои изображения: 10-30 референтни снимки, подготвени с автоматичен captioning (kohya_ss или SimpleTuner). Обучение: ~30 min на RTX 3090. Резултат: .safetensors файл, зареждаш го като обикновен LoRA.
# kohya_ss - стандартното LoRA training tool git clone https://github.com/bmaltais/kohya_ss cd kohya_ss ./setup.sh # SimpleTuner - по-лесен за Flux LoRA git clone https://github.com/bghira/SimpleTuner # Следвай README за Flux конфигурацията
Нямаш GPU или искаш Flux Pro? Има cloud API опции.
# Replicate API - Flux.1 Pro pip install replicate import replicate output = replicate.run( "black-forest-labs/flux-1.1-pro", input={ "prompt": "a cyberpunk city skyline at night, rain, neon reflections", "width": 1024, "height": 1024, "num_outputs": 1, "output_format": "webp", "output_quality": 90 } ) print(output[0]) # URL на генерираното изображение
# fal.ai API - Flux Dev/Pro (PHP) function fal_flux(string $prompt, string $api_key): string { $response = file_get_contents('https://fal.run/fal-ai/flux/dev', false, stream_context_create(['http' => [ 'method' => 'POST', 'header' => "Authorization: Key {$api_key}\r\nContent-Type: application/json", 'content' => json_encode([ 'prompt' => $prompt, 'image_size' => 'square_hd', 'num_inference_steps' => 28 ]) ]]) ); $data = json_decode($response, true); return $data['images'][0]['url']; } // img.aiflux.eu ползва Replicate API по същия принцип
| PROVIDER | МОДЕЛ | ЦЕНА | БЕЛЕЖКА |
|---|---|---|---|
| Replicate | Flux.1 Pro/Dev/Schnell | ~$0.055/img (Pro) | Надежден, добра документация |
| fal.ai | Flux Dev/Schnell/LoRA | ~$0.025-0.05/img | По-евтин, бърз, LoRA upload |
| Together AI | Flux Schnell | ~$0.01/img | Евтин за bulk генерация |
| Stability AI API | SD 3.5 / SDXL | credits based | За комерсиален license |
# Upscale след генерация - Real-ESRGAN pip install realesrgan # 2x upscale realesrgan-ncnn-vulkan -i input.png -o output.png -s 2 -n realesrgan-x4plus-anime # Или в ComfyUI: Ultimate SD Upscale node # Генерира 512px → upscale до 2048px с детайли
# img2img - редактиране на съществуващо изображение # В A1111: img2img tab → upload image → пиши промпт за промяна # Denoising strength: 0.3 = леки промени, 0.7 = значителни # Inpainting - промяна само на маркирана зона # В A1111: img2img → Inpaint → рисуваш маската # Ускорява: не се рендерира целото изображение отново