# Self-Hosted: Профессиональная генерация логотипов с помощью LLM/AI **Дата:** 19 июня 2026 **Контекст:** Россия, без внешних сервисов, без оплаты, полностью self-hosted **Железо:** RTX A2000 12GB + RTX 3080 Ti 12GB = 24GB VRAM суммарно --- ## ОБЗОР АРХИТЕКТУРЫ ``` ┌──────────────────────────────────────────────────────────────┐ │ SELF-HOSTED LOGO PIPELINE │ ├──────────────────────────────────────────────────────────────┤ │ │ │ LLM (локально) → Промпт-инжиниринг │ │ Ollama + Open WebUI → Анализ brief, генерация │ │ промптов, референсный поиск │ │ │ │ ↓ │ │ │ │ Image Gen (локально) → Генерация концептов │ │ ComfyUI + FLUX.1-dev → Основной генератор │ │ + LoRA Logo-Design → Специализация на логотипах │ │ │ │ ↓ │ │ │ │ Vectorization (локально) → Растер → SVG │ │ VTracer (Rust) → Цветной трассинг │ │ или potracer (Python) → Ч/Б трассинг (Potrace) │ │ │ │ ↓ │ │ │ │ Post-process (локально) → Финализация │ │ Inkscape CLI / Python → Очистка SVG, типографика │ │ SVG-edit, ручная доводка │ │ │ └──────────────────────────────────────────────────────────────┘ ``` --- ## ЧАСТЬ 1: LLM ДЛЯ ПРОМПТ-ИНЖИНИРИНГА (полностью локально) ### 1.1 Стек ``` Ollama (runner) + Open WebUI (интерфейс) + локальная модель ``` **Модели для промпт-инжиниринга:** | Модель | Размер | VRAM | Качество для задачи | |--------|--------|------|-------------------| | Qwen2.5-32B-Instruct | ~20GB (Q4) | ~20GB | Отличная, лучшая | | Llama-3.3-70B | ~40GB (Q4) | ~40GB | Слишком большая | | Qwen2.5-7B-Instruct | ~5GB | ~6GB | Хорошая, быстрая | | Gemma-2-27B | ~16GB (Q4) | ~18GB | Хорошая | **Рекомендация:** Qwen2.5-7B или 32B (Q4_K_M) для промпт-инжиниринга. Не нужна огромная модель — задача: структурировать brief и генерировать технические промпты. ### 1.2 Система промпт для генерации промптов логотипов **System prompt для Ollama/Open WebUI:** ``` Ты — эксперт по логотип-дизайну и AI-генерации изображений. Пользователь предоставит brief компании. Твоя задача: 1. Проанализировать brief и выделить: - Название компании - Отрасль и сегмент (B2B/B2C) - Ключевые ценности (2-4) - Целевая аудитория - Цветовые предпочтения или анти-цвета - Стиль (минимализм, геометрический, эмблема, etc.) - Конкуренты/референсы (если указаны) 2. Сгенерировать 5 детальных промптов на английском для генерации логотипов через Stable Diffusion / FLUX.1: Формат промпта: "A [style] logo for [company], featuring [visual element], [color description], clean lines, flat design, professional, vector style, isolated on white background" Дополнительно к каждому промпту: - Negative prompt: "text, watermark, signature, blurry, complex background, 3D, realistic, photograph" - Параметры: steps=24, cfg=3.5-5.0, sampler=DPM++ 2M Karras - Seed для воспроизводимости 3. Сгенерировать 3 варианта названия для слогана (если brief не содержит) Все ответы на русском, промпты на английском. ``` ### 1.3 Пример вывода **Ввод:** ``` Компания: "ВекторПей" Отрасль: платёжный шлюз для e-commerce ЦА: владельцы интернет-магазинов Ценности: скорость, надёжность, безопасность Цвета: тёмно-синий, бирюзовый Стиль: минималистичный геометрический ``` **Вывод LLM:** ``` Prompt 1 (пикторил-марк): "A minimalist geometric logo for VektorPay, featuring an abstract payment arrow merging into a shield shape, dark blue and teal gradient, clean sharp lines, flat design, professional fintech branding, isolated on white background" Negative: "text, watermark, signature, blurry, complex background, 3D, realistic, photograph, ornate, decorative" Parameters: steps=24, cfg=4.0, sampler=DPM++ 2M Karras ``` --- ## ЧАСТЬ 2: ГЕНЕРАЦИЯ ИЗОБРАЖЕНИЙ (локально) ### 2.1 Основной движок: FLUX.1-dev + ComfyUI **Почему FLUX, а не SDXL:** - Лучше рендерит текст (критично для wordmark) - Точнее следует промпту - Более чистые линии и геометрия (идеально для логотипов) - Сообщество активно создаёт Logo-специализированные LoRA - Open-weight, можно запускать локально **VRAM требования:** | Режим | VRAM | Модель | |-------|------|--------| | FP8 | ~8GB | FLUX.1-dev fp8 | | TF32/bf16 | ~16GB | FLUX.1-dev полный | | + LoRA | +2-4GB | Зависит от LoRA | **На твоём железе (3080 Ti 12GB):** - FP8-квантованный FLUX.1-dev: работает ✅ - С LoRA: работает с `--medvram` или `--max_split_size` ✅ - SDXL: работает легко ✅ (fallback) ### 2.2 Установка ComfyUI ```bash # Клонирование cd ~/projects git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI python -m venv venv source venv/bin/activate pip install -r requirements.txt # Установка дополнительных node-пакетов ./install.sh pip install ComfyUI-Manager # менеджер кастомных нод ``` ### 2.3 Установка FLUX.1-dev ```bash # Скачивание модели через huggingface-cli (нужен access token от HF) pip install huggingface-hub huggingface-cli download black-forest-labs/FLUX.1-dev \ --local-dir ~/models/FLUX.1-dev \ --local-dir-use-symlinks False ``` Положить в: `ComfyUI/models/unet/` или `ComfyUI/models/diffusion_models/` ### 2.4 Установка LoRA для логотипов **Shakker-Labs/FLUX.1-dev-LoRA-Logo-Design:** ```bash # Скачать LoRA-файл huggingface-cli download Shakker-Labs/FLUX.1-dev-LoRA-Logo-Design \ FLUX-dev-lora-Logo-Design.safetensors \ --local-dir ~/models/loras/ # Положить в: ComfyUI/models/loras/ ``` **Использование в промпте/ноде:** ```python pipe.load_lora_weights( "Shakker-Labs/FLUX.1-dev-Logo-Design", weight_name="FLUX-dev-lora-Logo-Design.safetensors" ) pipe.fuse_lora(lora_scale=0.8) # 0.3-0.8: от слабого к сильному ``` ### 2.5 Кастомные ноды для ComfyUI ```bash # Через ComfyUI Manager (встроен) # Или вручную: cd ComfyUI/custom_nodes git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack.git git clone https://github.com/Gourieff/ComfyUI-Rebatch.git git clone https://github.com/cubiq/ComfyUI_IPPlus_plus.git # для text/overlay # Для SVG-вывода: git clone https://github.com/ImagineerNL/ComfyUI-ToSVG-Potracer.git ``` **Ключевые ноды для воркфлоу:** 1. **FluxGILongStack** — эффективная генерация FLUX 2. **Impact Pack** — контроль над генерацией, seed, batch 3. **ComfyUI-ToSVG-Potracer** — автоматическая трассировка в SVG 4. **IPPlus_plus** — наложение текста на генерации (для тестирования wordmark) ### 2.6 Воркфлоу ComfyUI для логотипов ``` Text Prompt → CLIP Text Encode (positive) │ ▼ Seed ──► KSampler ──► [FLUX.1-dev + LoRA Logo] ──► Image │ │ │ CLIP Vision │ │ ▼ ▼ VAE Decode VTracer / Potrace node │ │ └────────► Image → [SVG Encode] │ ▼ Save SVG ``` **Параметры генерации:** | Параметр | Значение | Почему | |----------|----------|--------| | Steps | 20-30 | Логотипу не нужно много steps | | CFG Scale | 3.0-5.0 | Ниже чем для фотореализма | | Sampler | DPM++ 2M Karras | Быстро и чисто для линий | | Resolution | 512x512 или 768x768 | Квадрат = стандарт логотипа | | LoRA Scale | 0.6-0.8 | Не перебарщивать | | Batch Size | 4-8 | Генерить пачками | **Промпт-формула для FLUX:** ``` positive: "minimalist logo, [descriptive icon], [style keywords], [colors], flat design, clean lines, geometric, vector style, isolated on white background, professional branding, no text" negative: "text, watermark, signature, letters, words, blurry, gradient, 3D, realistic, photograph, complex, ornate, shadow, background, frame, border" ``` ### 2.7 Fallback: SDXL + VectorStudio Если FLUX не влезает или не работает: ```bash # SDXL base huggingface-cli download stablediffusion-xl-base-1.0 \ --local-dir ~/models/SDXL/ # VectorStudio extension для WebUI git clone https://github.com/GeorgLegato/stable-diffusion-webui-vectorstudio.git ``` VectorStudio добавляет вкладку SVG-редактора прямо в WebUI. Можно рисовать векторы руками и передавать в Stable Diffusion для инпейнтинга. --- ## ЧАСТЬ 3: ВЕКТОРИЗАЦИЯ (локально) ### 3.1 VTracer (рекомендуется) **VTracer** — современный raster-to-SVG конвертер на Rust: - O(n) сложность (vs O(n²) у Potrace) - Цветной трассинг (Potrace только ч/б) - Python-библиотека: `pip install vtracer` - CLI: `vtracer -i input.png -o output.svg` **Установка:** ```bash # Из исходников (Rust) git clone https://github.com/visioncortex/vtracer.git cd vtracer cargo build --release # Или через Python pip install vtracer # Или через Docker docker pull visioncortex/vtracer docker run -v $(pwd):/data visioncortex/vtracer \ -i /data/input.png -o /data/output.svg ``` **CLI примеры:** ```bash # Авто-режим (определение цвета и пресета) vtracer -i logo.png -o logo.svg # Пресет "bw" — для ч/б логотипов vtracer -i logo.png -o logo.svg -m spline -p bw # Пресет "poster" — для графических элементов vtracer -i logo.png -o logo.svg -m polygon -p poster # Пресет "photo" — для фото с градиентами vtracer -i logo.png -o logo.svg -m spline -p photo # Ручной контроль vtracer -i logo.png -o logo.svg \ -m spline \ --path_precision 4 \ -s 15 \ -l 0.5 ``` ### 3.2 Potrace (fallback) ```bash # Установка sudo apt install potrace pip install potracer # Python binding # CLI potrace input.png -s -o output.svg # Python from potracer import potrace svg = potrace("input.png", algorithm="optical") ``` ### 3.3 Сравнение | Критерий | VTracer | Potrace | AutoTrace | |----------|---------|---------|-----------| | Цветной трассинг | ✅ | ❌ (только ч/б) | ❌ | | Скорость | O(n), быстрый | O(n²), медленнее | O(n²) | | Качество линий | Отличное | Лучше для сканов | Среднее | | Python API | ✅ | ✅ | ❌ | | Rust-native | ✅ | ❌ | ❌ | | Установка | Cargo / pip | apt / pip | apt | **Вывод:** VTracer — лучший выбор для AI-генерированных логотипов (цветные, растровые изображения от FLUX/SDXL). --- ## ЧАСТЬ 4: ПОСТПРОЦЕССИНГ И ФИНАЛИЗАЦИЯ ### 4.1 SVG-редактирование (CLI) ```bash # Inkscape (бесплатный векторный редактор) sudo apt install inkscape # Очистка SVG (удаление дубликатов, упрощение путей) inkscape --actions="select-all;object-unpath;paths-combine;object-unpath" \ input.svg -o cleaned.svg # Упрощение путей (reduce nodes) inkscape input.svg --verb=EditSelectAll --verb=EditGroup \ --verb=PathSimplify --verb=FileSave --verb=FileClose # Конвертация в EPS/PDF inkscape input.svg -o output.pdf inkscape input.svg -o output.eps # Извлечение отдельных путей inkscape input.svg --verb=SelectAll --verb=EditUnGroupAll ``` ### 4.2 Python-обработка SVG ```python #!/usr/bin/env python3 """Логотип-постпроцессор: очистка SVG, нормализация""" import os import re import sys try: import svgelements as svg # pip install svgelements except ImportError: print("pip install svgelements") sys.exit(1) def clean_svg(input_path, output_path, max_nodes=500): """Удаление лишнего, упрощение""" # Чтение svg_doc = svg.read(input_path) # Группировка svg_doc.group() # Упрощение (если svg-elements поддерживает) svg_doc.write(output_path) print(f"Cleaned: {output_path}") def extract_colors(svg_path): """Извлечь цветовую палитру из SVG""" with open(svg_path) as f: content = f.read() colors = re.findall(r'#[A-Fa-f0-9]{6}', content) # Уникальные palette = list(dict.fromkeys(colors)) # сохранить порядок print(f"Palette: {palette[:5]}") return palette[:5] def normalize_size(svg_path, output_path, target=512): """Нормализовать размер SVG""" svg_doc = svg.read(svg_path) svg_doc.size = (target, target) svg_doc.write(output_path) ``` ### 4.3 Ручная доводка: когда AI не справился AI-логотипы почти всегда требуют ручной доводки. На твоём железе: 1. **Inkscape** — бесплатный векторный редактор с GUI 2. **SVG-Edit** — веб-редактор (встроен в VectorStudio extension) 3. **Rozys** — лёгкий векторный редактор для Linux **Типичные ручные операции:** - Выравнивание и симметрия - Корректировка узлов (node editing) - Замена AI-текста на настоящий шрифт - Создание вариаций (inverted, single-color, favicon) - Определение clear space и минимальных размеров --- ## ЧАСТЬ 5: ПОЛНЫЙ РАБОЧИЙ ПРОЦЕСС ### 5.1 Пошаговый алгоритм ``` ШАГ 1: Brief → Промпты (Ollama + Open WebUI) $ ollama run qwen2.5:7b # Загрузить систему промпт (см. секцию 1.2) # Получить 5-10 промптов ШАГ 2: Генерация концептов (ComfyUI + FLUX.1-dev) $ cd ~/projects/ComfyUI $ source venv/bin/activate $ python main.py --port 8188 --lowvram # или --medvram # Открыть http://localhost:8188 # Загрузить workflow (см. секцию 2.6) # Загрузить LoRA Logo-Design # Сгенерировать 50-100 концептов (batch x 4-8) # Выбрать лучшие 5-10 ШАГ 3: Векторизация (VTracer) $ for img in best_logo_*.png; do vtracer -i "$img" -o "${img%.png}.svg" -m spline -p bw done ШАГ 4: Постпроцессинг (Inkscape CLI + Python) $ python3 svg_postprocess.py best_logo_1.svg --clean --normalize ШАГ 5: Ручная доводка (Inkscape GUI) $ inkscape best_logo_1_cleaned.svg # - Выравнивание, узлы # - Замена текста на шрифт (Google Fonts: local install) # - Создание вариаций # - Экспорт: SVG, PDF, EPS, PNG (16px → 2048px) ШАГ 6: Тестирование # Проверить на разных размерах: 16px, 32px, 64px, 256px, 512px # Инверсия: белое на чёрном, чёрное на белом # Один цвет: чёрный на белом (для гравировки) ``` ### 5.2 Готовый bash-скрипт-оркестратор ```bash #!/bin/bash # generate-logos.sh — Полный self-hosted воркфлоу set -euo pipefail BRIEF="$1" OUTDIR="${2:-./logo-output}" MODEL="${3:-qwen2.5:7b}" mkdir -p "$OUTDIR"/{prompts,generations,vectors,final} echo "=== Step 1: Generate prompts via Ollama ===" python3 << PYEOF import subprocess, json brief = "$BRIEF" result = subprocess.run([ "ollama", "run", "$MODEL", ], input=f"""System prompt: Ты — эксперт по логотип-дизайну. Проанализируй brief и сгенерируй 5 детальных промптов на английском для генерации логотипов. Формат каждого промпта: Prompt N: [промпт] Negative: [негативный промпт] Steps: N | CFG: N.N | Sampler: DPM++ 2M Karras Brief: {brief} Верни результат в формате JSON: [{{"prompt": "...", "negative": "...", "steps": 24, "cfg": 4.0}}, ...] """, capture_output=True, text=True) parsed = json.loads(result.stdout) with open("$OUTDIR/prompts/prompts.json", "w") as f: json.dump(parsed, f, indent=2) for p in parsed: print(f"✓ {p['prompt'][:80]}...") PYEOF echo "=== Step 2: Launch ComfyUI ===" cd ~/projects/ComfyUI source venv/bin/activate python main.py --port 8188 --lowvram & COMFY_PID=$! sleep 3 echo "ComfyUI запущен на http://localhost:8188" echo "Открой веб-интерфейс и загрузи workflow" echo "Нажми Enter после завершения генерации..." read kill $COMFY_PID 2>/dev/null || true echo "=== Step 3: Vectorize best generations ===" for img in "$OUTDIR/generations"/best_*.png; do [ -f "$img" ] || continue base=$(basename "$img" .png) vtracer -i "$img" -o "$OUTDIR/vectors/${base}.svg" -m spline -p bw echo "✓ Vectorized: $base" done echo "=== Step 4: Post-process SVGs ===" for svg in "$OUTDIR/vectors"/*.svg; do base=$(basename "$svg") python3 svg_postprocess.py "$svg" -o "$OUTDIR/final/${base}" done echo "=== Done! ===" echo "Results in: $OUTDIR/final/" echo "Open with: inkscape $OUTDIR/final/filename.svg" ``` --- ## ЧАСТЬ 6: ДОПОЛНИТЕЛЬНЫЕ ИНСТРУМЕНТЫ ### 6.1 Локальная база референсов ```bash # Загрузка референсных логотипов (для промпт-инжиниринга) # Скачивание логотипов конкурентов и анализ стиля # Создание каталога стилей mkdir -p ~/models/logo-styles/ # Каждый подкаталог: минимализм, эмблема, wordmark, пикторил, герб ``` ### 6.2 Локальные шрифты ```bash # Google Fonts — бесплатные, можно скачать локально # Рекомендуемые для финтех/SaaS: # - Inter (googlefonts.github.io/inter) # - SF Pro Alternative: Inter, Plus Jakarta Sans # - Геометрический: Montserrat, Poppins # - Моноширинный: JetBrains Mono (для dev-инструментов) mkdir -p ~/.local/share/fonts/google unzip -j Inter-*.zip "fonts/ttf/Inter-Regular.ttf" "fonts/ttf/Inter-Bold.ttf" fc-cache -fv ``` ### 6.3 Batch-генерация стилей ```bash # Генерация логотипов в разных стилях параллельно for style in minimalist geometric emblem wordmark modern; do ( python3 generate_style.py \ --style "$style" \ --company "VektorPay" \ --output "styling/$style/" \ --model flux1-dev \ --lora logo-design \ --count 20 ) & done wait ``` --- ## ЧАСТЬ 7: ТРЮКИ И СЕКРЕТЫ ### 7.1 Как получить чистый минималистичный логотип ``` # Ключевые слова в positive prompt: "flat design, solid color, no shading, no gradient, no 3D, no shadow, no highlight, clean geometry, simple shapes, minimal detail, bold lines, high contrast, white background" # Ключевые слова в negative prompt: "gradient, shadow, 3D, realistic, photograph, text, watermark, blurry, complex, ornate, decorative, frame, border, background, noise, grain, texture" ``` ### 7.2 Улучшение качества векторизации ```bash # Предварительная обработка: увеличить контраст convert input.png -contrast-stretch 5% -negate -threshold 10% preprocessed.png # Векторизация с оптимальными параметрами vtracer -i preprocessed.png -o output.svg \ -m spline \ -p bw \ --path_precision 4 \ -s 20 \ -l 0.3 # Упрощение (если много узлов) vtracer -i input.png -o output.svg \ -m pixel \ -p bw \ -l 1.0 # грубый, меньше узлов ``` ### 7.3 Обход проблемы текста в FLUX ``` # FLUX.1-dev генерирует текст, но он нечитаем. Решение: 1. Генерировать БЕЗ текста (--no text в промпте) 2. Создать чистый графический знак (pictorial mark) 3. Wordmark добавить вручную в Inkscape: - Импортировать SVG-икону - Добавить текст шрифтом (Inter, JetBrains Mono) - Настроить трекинг/виржинг - Группировать и экспортировать # Это профессиональный подход: AI делает иконку, человек — типографику ``` ### 7.4 Работа с ограниченным VRAM ```bash # Командная строка ComfyUI для 12GB VRAM: python main.py --port 8188 --lowvram --force.fp16 # Параметры для экономии VRAM: # --force.fp16 → float16 (экономит ~30% VRAM) # --lowvram → агрессивное выгружение в CPU # --medvram → баланс между CPU и GPU # --cpu → CPU mode (очень медленно, fallback) # FLUX.1-dev fp8 — квантованная версия (меньше качество, но меньше VRAM) huggingface-cli download black-forest-labs/FLUX.1-dev \ --include "flux-v1-fp8.safetensors" \ --local-dir ~/models/FLUX.1-dev-fp8/ ``` ### 7.5 Оптимизация LoRA для логотипов ```python # В воркфлоу ComfyUI, при использовании LoRA: # - lora_scale=0.3 для тонкой настройки стиля # - lora_scale=0.6 для среднего влияния # - lora_scale=0.8 для сильного влияния (может переборщить) # # Для чистых минималистичных логотипов лучше 0.3-0.5 # Для более "художественных" — 0.6-0.8 ``` --- ## ЧАСТЬ 8: АЛЬТЕРНАТИВНЫЕ ПОДХОДЫ ### 8.1 OmniSVG (NeurIPS 2025) **OmniSVG** — первый end-to-end генератор SVG, который НЕ генерирует растр: - Генерирует непосредственно SVG-код через VLM - Параметризует команды SVG как дискретные токены - Может генерировать сложные векторы напрямую **Плюсы:** Настоящий SVG на выходе, нет стадии трассировки **Минусы:** Требует VLM (большая модель, ~7B+), экспериментальный, может быть нестабильным для простых логотипов **Установка:** ```bash git clone https://github.com/OmniSVG/OmniSVG.git cd OmniSVG pip install -e . # Требуется PyTorch + transformers ``` ### 8.2 SDXL + SVGStud.io fine-tune SVGStud.io — SDXL, дообученный на генерацию изображений, оптимизированных для последующей векторизации. **Подход:** Генерируем с прицелом на чистую векторизацию: - Минимум деталей - Чёткие границы - Ограниченная палитра (3-5 цветов) - Высокий контраст ### 8.3 Полный Python-пайплайн (без GUI) ```python #!/usr/bin/env python3 """Self-hosted logo generation pipeline""" from pathlib import Path import subprocess import json import torch import os # 1. LLM prompt generation def generate_prompts(brief: str, model_name: str = "qwen2.5:7b") -> list: result = subprocess.run( ["ollama", "run", model_name], input=f"""Ты — эксперт по логотипам. Сгенерируй 5 промптов: Brief: {brief} Формат JSON: [{{"prompt": "...", "negative": "..."}}, ...]""", capture_output=True, text=True ) return json.loads(result.stdout) # 2. Image generation via ComfyUI API def generate_with_comfyui(prompt: str, output_path: str, cfg: float = 4.0): import requests # Отправить промпт через ComfyUI API # Загрузить workflow JSON с FLUX + LoRA # Запустить генерацию # Скачать результат pass # 3. Vectorization def vectorize(input_path: Path, output_path: Path, mode="spline"): subprocess.run([ "vtracer", "-i", str(input_path), "-o", str(output_path), "-m", mode, "-p", "bw" ]) # 4. Post-process def postprocess_svg(svg_path: Path, output_path: Path): subprocess.run([ "inkscape", "--actions", "select-all;object-unpath;paths-combine;path-simplify", str(svg_path), "-o", str(output_path) ]) ``` --- ## СВОДНАЯ ТАБЛИЦА СТЕКА | Компонент | Инструмент | Установка | VRAM | Лицензия | |-----------|-----------|-----------|------|----------| | LLM | Ollama + Qwen2.5-7B | `curl -fsSL https://ollama.com/install.sh \| sh` | 6GB | Apache 2.0 | | LLM UI | Open WebUI | Docker / pip | 0 | AGPL-3.0 | | Image Gen | ComfyUI + FLUX.1-dev | pip + huggingface-cli | 8-16GB | FLUX dev license | | Logo LoRA | Shakker-Labs Logo-Design | huggingface-cli | +2GB | FLUX dev license | | Vectorize | VTracer | cargo / pip / docker | 0 | Apache 2.0 | | Editor | Inkscape | apt / flatpak | 1GB (RAM) | GPL-3.0 | | Fonts | Google Fonts (local) | ручная загрузка | 0 | SIL OFL | | SVG Process | Python svgelements | pip | 0 | MIT | --- ## ЗАКЛЮЧЕНИЕ **Идеальный self-hosted стек для России (2026):** ``` 1. Ollama (Qwen2.5-7B) → промпты для логотипов 2. ComfyUI + FLUX.1-dev-fp8 + Logo-Design LoRA → генерация 3. VTracer → векторизация 4. Inkscape → финальная доводка 5. Google Fonts (локально) → профессиональная типографика ``` **Ожидаемый результат:** - 50-100 AI-концептов за 1-2 часа на 3080 Ti - 5-10 лучших в векторе (SVG) - 2-3 финальных варианта после ручной доводки (1-2 часа) - Полная палитра: SVG, PDF, EPS, PNG (16px → 2048px), чёрная версия **Итого время:** 1 день на полный цикл (brief → финальный логотип) **Стоимость:** 0₽ (все инструменты open source)