В конце июня 2025 вышла в свободный доступ модель нейросети "Flux Kontext Dev", о чем я писал вчера тут:
Идеология работы с это моделью ставит с ног на голову всю технологию, к которой все привыкли раньше. Раньше приходилось устраивать "пляски с шаманским бубном", придумывать всевозможные "как левой пяткой почесать за правым ухом" и т.п.. Сейчас все стало предельно просто.
Работа с этом моделью заключается загрузке исходной картинки и поэтапного исправления в ней всего, что требуется исправить. При этом неважно какое именно "фото" подается на вход, реальное, или сгенерированное ранее.
Писать можно много, но лучше посмотреть...
Условия тестирования по "железу"
- 14-Core Intel Core i9-9940X, 4300 MHz (43 x 100)
- RAM 65220 МБ
- NVIDIA GeForce RTX 4070 Ti SUPER
Условия тестирования по "софту"
- ComfyUI version: 0.3.43
- Python version: 3.12.11 (main, Jun 12 2025, 12:44:17) [MSC v.1943 64 bit (AMD64)]
- torch-2.7.0+cu128
Сборка собрана непосредственно перед тестированием из "текущей" версии GIT-репозитория ComfyUI + ComfyUI Manager.
Примечание: я привык для тестирования собирать "свежую" версию всех компонентов. Занимает это 5-10 минут, зато на результаты ничто со стороны не влияет.
Сборка собрана, модели закачаны и поставлены на свои места. Движок пару раз запущен для "подкачки" обновлений и создания кэша и пару раз прогнал "зайчика" из оригинального примера. Дальше...
Исходное фото:
Примечание: нечего к "моделькам" привыкать! Вот вам дядька бородатый!
Примечание:
Здесь пишу на русском, но в окне промпта его английский вариант!!!
Подаем "на вход" полученное фото.
Промпт:
- Убери руку ребенка с плеча мужчины на портрете
Результат:
Подаем "на вход" полученное фото.
Промпт:
- Убери с плеча мужчины руку которая отображается как рукав цветастой рубашки
Результат:
Подаем "на вход" полученное фото.
Промпт:
- Замени фон у портрета так будто мужчина находится на улице в большом городе
Результат:
В последнем варианте пошел "шум" на портрете.
Идем дальше. Возьмем одно из предыдущих фото.
Исходное фото (уже без рук):
Промпт:
- Замени фон у портрета на ровный и нейтральный, похожий на гладкий белый фон в студии. Сделай мягкое студийное портретное освещение.
Результат:
Подаем "на вход" полученное фото.
Промпт:
- Убери цепочку с шеи мужчины на портрете
Результат:
Подаем "на вход" полученное фото.
Промпт:
- Замени фон портрета на голубое небо с белыми облаками
Результат:
Подаем "на вход" полученное фото.
Промпт:
- Убери у мужчины все морщины на лбу и под глазами
Результат (не совсем, но уже лучше):
Подаем "на вход" полученное фото.
Промпт:
- Убери с портрета мужчины небритость будто он толь ок что побрился
Результат:
Примечание: поскольку я каждый раз подаю на вход только что сгенерированное фото, то постепенно качество фото деградирует и уже начинают появляться артефакты типа "зерно", "муар" и т.п. Значит этот момент следует учесть!!!
Пока имеем следующее:
Учитывая ошибки изменим технологию и соберем все промпты в одном запросе.
Исходник:
Промпт:
- Сделай фон портрета очень размытым и не в фокусе. Убери руку ребенка с одного плеча мужчины на портрете. Убери руку с другого плеча мужчины, которая показана как рукав цветной рубашки. Перекрась рубашку мужчины в зеленый цвет. Сними цепочку с шеи мужчины на портрете. Убери щетину с портрета, как будто он только что побрился. Убери все морщины на лбу, лице и под глазами на портрете.
Результат:
Сразу становится видно, что сгружать "в одну кучу" множество операций не есть хорошо, поскольку сеть начинает "размываться" и что-то упускать, плюс - теряется резкость изображения, которая не страдала, пока изменяющаяся за раз площадь изображегния была не слишком большой.
Исходник (вот вам "дятька бородатый"!):
Промпт:
- Смени одежду у мужчины на портрете на парадный черный смокинг с бабочкой
Результат:
Тот же "исходник" (не меняем!), но другой промпт. Просто хочу получить не "черное пятно", а "удобоваримый пинДжак".
Промпт:
- Смени одежду у мужчины на портрете на парадный желтый смокинг в мелкую оранжевую полоску, а на шее бабочка
Результат:
Как видим смешение ДВУХ запросов привело к непониманию - нет полоски на смокинге, а оранжевой стала бабочка.
Вариант с известной картиной
Картина Ивана Шишкина "Медведи в лесу"
Исходник:
Промпт:
- Убери с картины медведицу и медвежат
Результат:
Медведицу не опознал!!! ))))))))))) (но медвежатам - хана)
Исходник тот же, но меняем промпт так, чтобы "убрать пень в центре"
Промпт (не мытьем, так катанием!):
- Убери с картины медведицу и медвежат и темный пень в центре
Результат:
Не понимает (((((((((((
Исходник тот же.
Промпт (не мытьем, так катанием!):
- Убери с картины четыре темные фигуры медведей в центре картины
Результат:
Агааа!!!! (сказали мужики, вынимая лом из шестеренок заграничной машины...)
Теперь я - художник!!!
А теперь представьте, сколько "танцев с бубном" было бы с прежними версиями нейросети...
Еще тесты
Исходник
Промпт:
- Переодень девочку на фотографии в платье сказочной феи
Результат:
Ну, в общем, вы поняли смысл...
Исходник:
Промпт:
- Убери с фотографии улицы машины и людей
Результат:
И напоследок:
Исходник:
Промпт:
- Раскрась лицо мужчине на портрете гримом клоуна и одень ему на голову клоунский парик
Результат:
... побрил зачем-то. Ощущение будто лицо поменяла.
В общем - тестировать еще и тестировать...
Технические данные
В среднем на каждую генерацию уходило времени около минуты (чуть меньше). По моим данным показатели по разным картам такие:
- 4090 - 24 секунды
- 4070 Ti - 54 секунды
- 3060 - 3 минуты
Приложение:
Полные логи: