Автоматизация Нейросети

Телеграм-бот художественной обработки портретов на нейросетях

Пользователь присылает фотографию в Telegram и получает четыре варианта художественной стилизации: генеративный пайплайн на SDXL сохраняет сходство лица и повторяет ручной стиль ретушёра

Детали проекта

Результаты проекта

7 шагов
Автоматический пайплайн от лица до готового кадра
4 варианта
Бот присылает на выбор за один прогон
Своя LoRA
Модель дообучена под нужный стиль обработки
01 Задача
02 Прототип
03 Структура
04 Результат
01. Задача

Что нужно было сделать

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

Что болит:

  • Каждый заказ упирается в занятость конкретного ретушёра
  • Результат зависит от исполнителя — стиль плывёт от кадра к кадру
  • Исходники приходят разного качества: телефонные снимки, сканы, старые фото
  • Заказчику нужно показать варианты, а сделать несколько версий вручную дорого

Задача: повторить нейросетью ручной стиль обработки и отдать его пользователю в самом простом интерфейсе — Telegram: прислал фото, выбрал режим, получил готовые варианты. При этом человек на портрете должен остаться узнаваемым — это главное требование и главная техническая сложность.

Задача проекта
02. Прототип

Как мы это видим

Спроектировали бота как единственный интерфейс: без сайта, регистрации и личного кабинета — сценарий в три касания.

Как работает бот:

  • Пользователь отправляет фото — снимком или файлом (jpg, png, webp, heic)
  • Выбирает режим обработки: без свечения по контуру или с ним
  • Для режима со свечением — выбирает один из четырёх типов: обычное, мелкозернистое, крупнозернистое и «косой дождь»
  • Видит статус: место в очереди, ход обработки, оценку ожидания
  • Получает четыре готовых варианта одним сообщением — можно выбрать подходящий или заказать другой режим

Тяжёлая генерация вынесена в фоновую очередь: бот остаётся отзывчивым, а задачи выполняются по одной на GPU-сервере, не перегружая его.

Прототип проекта
03. Структура

Как мы это строили

За простым диалогом — пайплайн из семи шагов, где каждый шаг решает свою узкую задачу. Одной генерацией такой результат не получается: нейросеть без подготовки кадра «уплывает» с лица и теряет сходство.

Как устроен пайплайн:

  1. Поиск и кроп лица — YOLOv8 находит человека в кадре, SAM отделяет его от фона, снимок приводится к квадрату 1024 px.
  2. Восстановление лица — CodeFormer вытягивает детали на размытых, шумных и старых фотографиях; сила восстановления подобрана так, чтобы черты не «пластмассовели».
  3. Фон и монохром — подстановка чистого фона и перевод в градации серого.
  4. Работа с линиями — нерезкое маскирование и лапласиан на OpenCV: контуры и фактура становятся читаемыми до генерации.
  5. Генеративная стилизация — Stable Diffusion XL через API Automatic1111 на своём GPU-сервере: чекпойнт DreamShaper XL Turbo, дообученная под нужный стиль LoRA, а поверх — InstantID и IP-Adapter через ControlNet. Именно эта связка удерживает сходство лица: модель стилизует кадр, но опирается на геометрию и идентичность исходного портрета.
  6. Свечение по контуру — отдельные скрипты на четыре типа эффекта, применяются к результату генерации.
  7. Стилистические варианты — из финального кадра собираются четыре версии с разной подачей, чтобы пользователю было из чего выбрать.

Архитектура сервиса: Telegram-бот на aiogram 3 общается с FastAPI; тяжёлые задачи уходят в Celery с Redis в качестве брокера и хранилища очереди; воркер обрабатывает задачи по одной, чтобы не конкурировать за видеопамять. Модели YOLO и SAM загружаются один раз при старте процесса, а не на каждый запрос. Отдельные эндпоинты отдают позицию в очереди, статус задачи и готовый файл — бот опрашивает их и держит пользователя в курсе. Промежуточные результаты каждого шага сохраняются: это позволяет разбирать неудачные кадры и настраивать пайплайн по конкретным примерам.

Структура проекта
04. Результат

Что получилось

Ручная операция превратилась в сервис самообслуживания: обработка идёт без участия ретушёра, а стиль не зависит от исполнителя и настроения.

Что получилось:

  • Обработка запускается из Telegram — без сайта, приложения и регистрации
  • Четыре готовых варианта за один прогон и пять режимов подачи на выбор
  • Сходство лица сохраняется за счёт связки InstantID + ControlNet и собственной LoRA
  • Пайплайн вытягивает исходники плохого качества — старые и телефонные снимки
  • Очередь на Celery и Redis: сервис принимает заявки непрерывно и обрабатывает их по мере освобождения GPU, показывая пользователю место в очереди
  • Стиль настраивается централизованно — правкой промпта, LoRA и параметров шагов, а не переучиванием исполнителей
7 шагов
Автоматический пайплайн от лица до готового кадра
4 варианта
Бот присылает на выбор за один прогон
Своя LoRA
Модель дообучена под нужный стиль обработки
Результат проекта
Результаты

Результаты проекта в цифрах

Измеримый эффект, который получил клиент после внедрения решения

7 шагов
Автоматический пайплайн от лица до готового кадра
4 варианта
Бот присылает на выбор за один прогон
Своя LoRA
Модель дообучена под нужный стиль обработки

Готовы реализовать подобный проект?

Свяжитесь с нами для обсуждения вашего проекта и получения персонального предложения

Предыдущий кейс

Система управления кафе: заказы по QR, экраны кухни и ИИ-приёмка накладных

Автоматизация Веб сайт Десктоп приложение Мобильная разработка Нейросети
Следующий кейс

PRIZMA — психологический тест с ИИ-анализом и PDF-отчётом

Веб сайт Нейросети