Зачем нужен этот зоопарк, если есть ChatGPT?
Ответ прост: контроль и приватность. OpenAI держит вас в песочнице, решает, что можно генерировать, а что нет, и хранит ваши промпты где-то в Калифорнии. А еще - деньги. Подписка на ChatGPT Pro, Midjourney, Suno влетает в копеечку. Наш хаб работает локально, не шлет данные в облако и делает все то же самое. Ну, почти.
Мы соберем систему, где в одном интерфейсе вы сможете:
- Генерировать музыку в стиле Ace Step 1.5 (тот самый локальный Suno-убийца)
- Создавать и редактировать изображения через Flux Klein (новейшая версия на февраль 2026)
- Общаться с текстовой LLM (например, GPT-OSS:20b или Ministral)
- И все это - через единый веб-интерфейс Open WebUI с плагинами
Требования к железу жесткие. Для комфортной работы с несколькими моделями одновременно нужна видеокарта с 24 ГБ VRAM (например, RTX 4090 или RTX 3090). Можно попробовать на 16 ГБ, но тогда придется жертвовать размером моделей или запускать их по очереди. Если у вас карта послабее, посмотрите гайд про Tesla P100 как домашний AI-сервер.
Что у нас в арсенале на февраль 2026?
Технологии не стоят на месте. Вот актуальный стек на сегодня:
| Компонент | Версия / Модель | За что отвечает |
|---|---|---|
| Open WebUI | v0.3.0+ (с поддержкой Tools) | Единый веб-интерфейс и оркестрация |
| Ollama | v0.5.0+ | Запуск и управление LLM моделями |
| Ace Step 1.5 | Последняя версия из репозитория | Генерация музыки (вокал, инструменты) |
| Flux Klein | Flux.1-Klein или новее | Генерация и редактирование изображений |
| LLM модель | GPT-OSS:20b или Ministral-8B | Текстовый интеллект и вызов инструментов |
GPT-OSS:20b - относительно новая открытая модель, которая неплохо справляется с tool calling (вызовом внешних инструментов). Именно эта способность критична для нашей интеграции. Ministral - легче, но тоже умеет. Если интересен полный обзор аудиомоделей, загляните в обзор opensource моделей 2026.
Собираем конструктор: пошаговая инструкция
Не будем растягивать. Вот что нужно сделать, от установки до первого мультимодального промпта.
1 Устанавливаем базовое ПО
Сначала ставим Ollama и Open WebUI. Без них никуда.
# Устанавливаем Ollama (Linux/macOS)
curl -fsSL https://ollama.ai/install.sh | sh
# Запускаем Ollama сервисом
sudo systemctl enable ollama
sudo systemctl start ollama
# Устанавливаем Open WebUI через Docker (рекомендуемый способ)
docker run -d -p 3000:8080 \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
Откройте http://localhost:3000, создайте аккаунт. База готова.
2 Загружаем и настраиваем Ace Step 1.5
Это самая требовательная часть. Ace Step 1.5 - не игрушка. Она жрет VRAM как не в себя. Но результат того стоит - коммерческое качество музыки за секунды.
# Клонируем репозиторий
git clone https://github.com/your-repo/ace-step-1.5.git
cd ace-step-1.5
# Устанавливаем зависимости (желательно в виртуальном окружении)
pip install -r requirements.txt
# Скачиваем веса модели (около 8-10 ГБ)
python download_weights.py
# Запускаем API сервер (критично для интеграции!)
python api_server.py --port 8001 --device cuda
API сервер должен быть доступен на http://localhost:8001. Проверьте, открыв в браузере http://localhost:8001/docs - там должен быть Swagger UI.
Если у вас мало VRAM, используйте флаг --device cpu или --half для половинной точности. Но качество упадет. Подробнее о запуске на скромном железе - в статье Ace Step 1.5 на 8 ГБ VRAM.
3 Разворачиваем Flux Klein для изображений
Flux Klein - следующее поколение после Flux.1. Быстрее, качественнее, поддерживает редактирование.
# Вариант 1: через ComfyUI (рекомендуется для интеграции)
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
pip install -r requirements.txt
# Устанавливаем ноду для Flux Klein
cd custom_nodes
git clone https://github.com/your-repo/comfyui-flux-klein.git
# Запускаем ComfyUI с API
python main.py --port 8188 --listen
ComfyUI запустит API на порту 8188. Альтернатива - использовать V6rge, единое десктопное приложение. Но для интеграции с Open WebUI API предпочтительнее.
4 Загружаем текстовую LLM в Ollama
Нам нужна модель, которая умеет вызывать инструменты (tool calling).
# Загружаем GPT-OSS:20b (требует ~40 ГБ RAM/VRAM)
ollama pull gpt-oss:20b
# Или более легкую Ministral
ollama pull ministral:8b
Проверяем, что модель работает:
curl http://localhost:11434/api/generate -d '{
"model": "gpt-oss:20b",
"prompt": "Привет",
"stream": false
}'
5 Интегрируем все в Open WebUI через Tools
Вот где начинается магия. Open WebUI поддерживает кастомные инструменты через плагины.
Создаем конфигурационный файл для инструментов:
// ~/.openwebui/tools/ace_flux_tools.json
{
"tools": [
{
"name": "generate_music",
"description": "Generate music with vocals and instruments using Ace Step 1.5",
"url": "http://localhost:8001/generate",
"method": "POST",
"headers": {
"Content-Type": "application/json"
},
"schema": {
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "Description of the music to generate"
},
"duration": {
"type": "number",
"description": "Duration in seconds",
"default": 30
}
},
"required": ["prompt"]
}
},
{
"name": "generate_image",
"description": "Generate or edit images using Flux Klein",
"url": "http://localhost:8188/prompt",
"method": "POST",
"schema": {
"type": "object",
"properties": {
"prompt": {
"type": "string",
"description": "Image generation prompt"
},
"negative_prompt": {
"type": "string",
"description": "What to avoid in the image"
}
},
"required": ["prompt"]
}
}
]
}
Перезапускаем Open WebUI с указанием на этот конфиг:
docker run -d -p 3000:8080 \
-v open-webui:/app/backend/data \
-v ~/.openwebui/tools:/app/backend/data/tools \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
Теперь в настройках модели в Open WebUI включаем инструменты (Tools).
Типичные грабли и как их обойти
Собрать - полдела. Заставить работать стабильно - вот настоящий вызов.
Ошибка 1: Модель не видит инструменты
Вы написали "Сгенерируй рок-балладу", а модель отвечает текстом про историю рок-музыки. Не вызывает инструмент.
Почему: Не все LLM одинаково хорошо умеют tool calling. GPT-OSS:20b обучена на примерах вызова инструментов. Qwen2.5 или более старые модели могут "галлюцинировать" tool calls. Об этой проблеме подробно в статье Qwen3 VL галлюцинирует tool-calls.
Решение: Используйте system prompt, который явно описывает доступные инструменты:
Ты - мультимодальный ассистент. У тебя есть доступ к инструментам:
1. generate_music - генерация музыки по описанию
2. generate_image - генерация изображений
Когда пользователь просит создать музыку или изображение, ТОЧНО используй соответствующий инструмент.
Ошибка 2: Кончилась память при параллельной работе
Запустили генерацию музыки и изображения одновременно - система упала.
Почему: Ace Step 1.5 один съедает 8-12 ГБ VRAM. Flux Klein - еще 6-8 ГБ. LLM модель - свои 4-20 ГБ. 24 ГБ хватает впритык.
Решение: Настройте ограничения через CUDA_VISIBLE_DEVICES или запускайте тяжелые модели по очереди. Либо инвестируйте в RTX 4090 с 24 ГБ или ждите, когда выйдут модели эффективнее. Кстати, о будущем: HeartMula 3B обещает качество Ace Step при меньших требованиях, но пока это дорогое удовольствие.
Ошибка 3: Медленная генерация
Музыка генерируется 30 секунд вместо обещанных 2-5.
Почему: Вы используете CPU вместо GPU или полную точность (float32) вместо половинной (float16).
Решение: Проверьте, что Ace Step запущен с --device cuda и --half. И да, те самые 2 секунды на генерацию песни достигаются на топовом железе с оптимизациями.
Сценарии использования, о которых вы не подумали
Собрали хаб - и что теперь? Вот несколько идей:
- Генерация саундтреков для видео: Попросите LLM придумать сценарий короткого ролика, затем сгенерируйте к нему музыку в нужном настроении и фоновые изображения.
- Обучение с обратной связью: "Создай джазовую композицию в стиле 60-х, но с современным битом". Получили результат - попросите модель проанализировать, что получилось хорошо, а что можно улучшить.
- Быстрый контент для соцсетей: "Придумай идею для поста про ИИ, генерай к нему фоновую музыку и обложку". Все в одном интерфейсе.
- Интерактивные истории: LLM пишет историю, вы просите визуализировать ключевые сцены и добавить звуковое сопровождение.
Что дальше? Будущее локальных мультимодальных систем
То, что мы собрали сегодня - первый шаг. Уже через полгода появятся модели, которые объединят генерацию музыки, изображений и текста в одной архитектуре. Не нужно будет городить огород с тремя разными API.
Но уже сейчас наш хаб дает то, что не может ChatGPT: полный контроль, отсутствие цензуры (что хорошо и плохо одновременно) и реальную приватность. Ваши промпты никуда не уходят, ваша музыка не попадает в тренировочные данные следующей модели.
Следующий логичный шаг - добавить видеогенерацию. Модели типа Stable Video Diffusion уже можно интегрировать в эту же систему. И тогда у вас будет полноценная студия в одном окне браузера.
Главный совет: не бойтесь экспериментировать с промптами. Музыкальные и image-модели капризны. То, что работает для текста ("сделай это эпично"), не сработает для музыки. Нужно учиться говорить на языке каждой модели. Это новый навык - быть дирижером оркестра из нейросетей.
И да, запаситесь терпением. Иногда что-то сломается. Иногда генерация займет минуты вместо секунд. Но когда вы впервые получите полностью локально сгенерированный трек с обложкой и описанием - это того стоит.