RU /EN
Обсудить проект
← Избранные проекты
Разбор проекта

KRT Studio

Единая self-hosted AI-студия: генерация и редактирование изображений, видео и аудио на собственных GPU, в одном интерфейсе.

  • 40+ моделей
  • image · video · audio · TTS
  • 12 инструментов редактора
  • VRAM-aware runtime

Что это

Одна студия, которая работает с открытыми моделями на собственных GPU: генерация и редактирование изображений, генерация видео, музыка, TTS и звуковые эффекты. Не обёртка над одним API и не набор разрозненных веб-интерфейсов, а рабочее место с общими сессиями, историей и переносом результата между сценариями.

Почему появился

Каждая новая открытая модель приходит со своим запуском, своим набором параметров и своим интерфейсом. Через месяц у инженера пять разных UI, пять папок с результатами и ни одной общей истории. Мотив KRT Studio простой: новая модель должна добавляться в существующую студию, а не поднимать очередной отдельный интерфейс.

Архитектура

Путь запроса: UI → API → workers → model runtime → S3.

  • UI — React-приложение: сессии, проекты, рабочая область, сравнение, встроенный редактор.
  • API — FastAPI: роутеры по модальностям, сервисы генерации, батчей и сравнения, прогресс через SSE.
  • workers — собственный протокол, сериализация и супервизор. Готовой очереди вроде Celery в проекте нет.
  • model runtime — драйверы моделей и реестр спецификаций, загрузка и выгрузка с учётом свободной VRAM.
  • storage — S3, MinIO или локальный диск; PostgreSQL или SQLite. Выбор делается конфигом.

Реестр моделей вместо фиксированной формы

Каждая модель объявляет собственные возможности и границы: диапазоны шагов и guidance, поддерживаемые разрешения, допустимое число LoRA и их вес, модель-специфичные параметры. Интерфейс показывает только те контролы, которые применимы к выбранной модели, и подставляет её дефолты.

Поэтому одна модель отдаёт слайдер guidance от 0 до 15, другая — фиксированное значение, третья не принимает guidance вообще, а четвёртая работает только на семи предопределённых разрешениях. Форма не сводится к общему знаменателю.

Менеджер моделей KRT Studio: загруженная модель с кнопкой выгрузки и список доступных, у каждой указан вес в VRAM

Загрузка и выгрузка — явные операции, и рядом с каждой моделью написано, сколько она займёт в VRAM. Загружено 32,4 GB; чтобы поставить следующую, предыдущую нужно выгрузить. Это не ограничение интерфейса, а честное отражение того, как работает GPU: две модели по 32 GB в одну карту не помещаются, и лучше показать это заранее, чем упасть на середине генерации.

Сейчас подключено больше сорока открытых моделей. Выборочно:

  • Видео — Wan 2.2, LTX 2.3, MiniMax H3, Kandinsky 5.0, LongCat Video
  • Изображения и редактирование — FLUX.2, Qwen Image, GLM Image, Z-Image, HiDream, Krea 2, LongCat Image, Mage-Flow
  • Аудио — ACE-Step, Qwen3-TTS, Stable Audio, VoxCPM, HeartMuLa, MOSS SoundEffect
Реестр видео-моделей в KRT Studio: LTX-2.3, Wan 2.2 I2V, Kandinsky 5.0 I2V Pro, MiniMax-H3, LongCat-Video с весом каждой в VRAM

Рядом с каждой моделью — сколько она займёт в VRAM. От 27 GB у Wan 2.2 I2V до 80 GB у MiniMax-H3, поэтому решение «что загрузить» принимается до нажатия, а не после нехватки памяти.

Три модальности в одном интерфейсе

Image, Video и Audio — не отдельные приложения, а вкладки одной студии с общими сессиями и общей историей результатов.

Вкладка Video в KRT Studio: генерация из изображения на Wan2.2 TI2V 5B, плеер с готовым роликом и параметрами

Видео: image-to-video и text-to-video, длительность и частота кадров, свои параметры guidance для каждой модели, плеер с историей рядом.

Вкладка Audio в KRT Studio: генерация музыки на ACE-Step 1.5 Turbo, список треков и панель расширенных параметров

Аудио: музыка, TTS и звуковые эффекты. Три режима работы с треком — генерация, ремикс и перерисовка фрагмента; референс стиля можно загрузить файлом, записать с микрофона или взять из текущей сессии. Панель расширенных параметров здесь самая плотная во всей студии: от BPM, тональности и размера до сэмплера, нормализации и настроек chain-of-thought у языковой модели. Это ровно тот случай, где реестр возможностей себя оправдывает — сводить такое к общей форме бессмысленно.

AI Director

Короткий запрос разворачивается в подробный промпт локальной моделью: «Pomeranian with glasses» превращается в описание с материалом оправы, освещением, фоном и настроением. Есть и обратный режим — описать уже готовое изображение.

Главный экран KRT Studio: справа AI-помощник развернул запрос «Pomeranian with glasses» в подробный промпт, в центре результаты четырёх моделей на этот запрос

Здесь же виден весь рабочий цикл целиком: слева сессии, справа развёрнутый промпт и параметры, в центре — что получилось у четырёх моделей на один и тот же запрос.

Модель подключается через любой OpenAI-совместимый endpoint: свой сервер инференса, локальный runtime или облако — по решению того, кто разворачивает студию. На скриншоте главного экрана это Qwen3.5-4B.

Смысл не в том, чтобы «добавить AI в интерфейс». Качество генерации у большинства image-моделей сильно зависит от длины и структуры промпта, а писать такие описания руками на каждый запрос никто не будет. Поэтому расширение промпта — часть рабочего цикла, а не отдельный чат в стороне.

Batch-генерация

Массовая генерация — не отдельный скрипт, а часть студии: задание идёт в фоне, окно можно закрыть, прогресс виден по каждой модели и каждому промпту, состояние переживает перезапуск.

Первый большой прогон дал 6 600 изображений на одиннадцати моделях. Затем набор расширился до семнадцати, и итоговый массив составил 10 200 изображений — около 72 часов генерации суммарно. Длительные задания прошли без перезапуска процесса: за это отвечают блокировка батча, реестр статусов и сверка состояния на стороне API.

Окно batch-генерации KRT Studio: прогон Test_600_v2 на 76%, счётчики по каждой модели и раскрытая группа промптов

Прогресс виден на двух уровнях: по моделям — сколько промптов пройдено у каждой, и по группам промптов — сколько кадров готово внутри группы. Внизу окна написано главное: задание идёт в фоне, окно можно закрыть.

Результат опубликован: открытый датасет и интерактивное сравнение, где можно выбрать промпт и поставить модели рядом.

Сравнение результатов

Сравнение работает в двух режимах. Сеткой — результаты разных моделей на один запрос стоят рядом, каждый кадр подписан именем модели. Шторкой A/B — два варианта под одним разделителем, который можно двигать.

Режим сравнения в KRT Studio: два результата под шторкой A/B, слева вариант A, справа вариант B

Второй режим нужен, когда разница между вариантами в деталях, а не в композиции: на сетке два похожих кадра рядом выглядят одинаково, а под шторкой видно, что именно изменилось.

Встроенный редактор

Двенадцать инструментов: трансформации, кроп, поворот, отражение, масштаб, коррекция, кисть, текст, слои, фильтры, расширение кадра и экспорт. Кривые, привязки, линейки, навигатор и режим до/после — собственные реализации, а не подключённая библиотека.

Редактор KRT Studio с панелью AI-препроцессинга: удаление фона, карта глубины, поза, Canny, MLSD и апскейл

Отдельный слой — препроцессинг: удаление фона, карта глубины, определение позы, детекция краёв Canny с тремя пресетами, MLSD для линий и структуры, апскейл на RealESRGAN, GFPGAN или CodeFormer в ×2 и ×4. Это то, что обычно живёт в отдельном приложении и переносится между ними файлами; здесь результат остаётся в той же сессии.

Что сделал

Весь проект целиком, самостоятельно: продуктовая архитектура, backend, протокол воркеров, model runtime, фронтенд, редактор и batch-пайплайн.