Open WebUI + Ace Step 1.5: локальный AI хаб для музыки и изображений | AiManual
AiManual Logo Ai / Manual.
05 Фев 2026 Гайд

Open WebUI + Ace Step 1.5: собираем локальный мультимодальный хаб, который посрамит ChatGPT

Пошаговый гайд по сборке локального мультимодального AI хаба с Open WebUI, Ace Step 1.5 и Flux Klein. Генерация музыки, изображений и текста без облаков.

Зачем нужен этот зоопарк, если есть 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, создайте аккаунт. База готова.

💡
Если не любите Docker или хотите больше контроля, можно собрать Open WebUI из исходников. Но Docker проще для первого раза. Для сравнения других LLM-серверов смотрите сравнение Oobabooga, Jan AI и LM Studio.

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-модели капризны. То, что работает для текста ("сделай это эпично"), не сработает для музыки. Нужно учиться говорить на языке каждой модели. Это новый навык - быть дирижером оркестра из нейросетей.

И да, запаситесь терпением. Иногда что-то сломается. Иногда генерация займет минуты вместо секунд. Но когда вы впервые получите полностью локально сгенерированный трек с обложкой и описанием - это того стоит.