Пользователь Mac mini M4 с 32 ГБ объединённой памяти столкнулся с необычной проблемой: вертикальные изображения, сгенерированные локально, отображались на экране с горизонтальными полосами, напоминающими помехи старого телевизора. После нескольких попыток «починить» рендер выяснилось, что файлы были абсолютно корректны — искажала их только функция отображения macOS. Эта история стала отправной точкой для создания собственного локального генератора изображений.
Автор, не имеющий программистского образования, решил собрать приложение, которое позволяло бы генерировать картинки локально, без подписок и отправки данных в облако. В качестве основы он выбрал движок flux-2-swift-mlx, написанный Vincent Gourbin на Swift и использующий Apple MLX — открытый фреймворк для машинного обучения, оптимизированный для чипов Apple Silicon. Внутри движка работает модель FLUX.2 Klein — компактная версия нейросети-генератора от Black Forest Labs. Автор не писал код самостоятельно, а использовал Claude Code (модель Opus 4.8) от Anthropic, который генерировал код по его указаниям. Сам он занимался тестированием, сбором логов и принятием архитектурных решений.
| Инструмент | Интерфейс | Поддержка моделей | Требования к сети | Стоимость |
|---|---|---|---|---|
| ComfyUI | Нодовый редактор | Множество, включая 3D | Локально | Бесплатно |
| Draw Things | Нативное приложение | Множество (включая ControlNet) | Локально | Бесплатно (почти) |
| Typhoonminigen (авторское) | Одно поле ввода + кнопка | Только FLUX.2 Klein | Локально | Бесплатно |
Перед созданием своего решения автор опробовал два популярных инструмента: ComfyUI и Draw Things. ComfyUI — мощный нодовый редактор для построения пайплайнов генерации, но его интерфейс напоминал «пульт космического корабля» и требовал ручной сборки графа операций. Draw Things — нативное приложение для Mac на MLX, бесплатное и с широкой поддержкой моделей (ControlNet, inpaint, маски). Однако оба инструмента предлагали десятки настроек, что противоречило желанию автора: «написал фразу, нажал кнопку». Поэтому он решил собрать собственное приложение с минималистичным интерфейсом.
Разработка велась через Claude Code: автор тестировал, отлаживал и принимал архитектурные решения, но код писал ИИ.
Итоговое приложение использует FLUX.2 Klein с 4 миллиардами параметров (доступен также вариант на 2 млрд). Оно автоматически подстраивается под доступную память, не допуская свопирования, поддерживает прямые промпты на русском языке и после удаления не оставляет следов в системе. Автор подчёркивает, что его вклад — не в коде, а в интеграции: он обвязал исследовательский движок в удобное приложение, ликвидировал баги и принял решения о функциональности. Проект открыт и доступен на GitHub под названием Typhoonminigen.