Если совсем коротко, то чтобы превратить плоский логотип в живого контент-персонажа, его мало просто «перерисовать покрасивее», тут надо залочить один эталонный образ как единственный источник правды и дальше держать консистентность либо через character reference (в Midjourney это флаг --cref), либо через дообученную мини-модель (LoRA), плюс к этому письменная спека цветов и символов, иначе нейросеть на каждой генерации будет рисовать вам нового человека, и аудитория просто не запомнит лицо. Вот я весь день 27 мая ровно этим и провозился для своего оракула Картары, и сейчас расскажу, что получилось, что не получилось и почему лого вообще не аватар.
Зачем логотипу лицо
У Картары, это мой Telegram Mini App с AI-персонажем, был нормальный логотип. Мистическая такая штука, символ, всё как положено. И всё бы хорошо, но я ведь делаю под неё карусели, а дальше планирую видео, и про то, как карусели у меня собирали 0 просмотров, а рилс через нейросети 515, я отдельно рассказывал, и вот тут логотип начинает мешать, потому что с ним нельзя разговаривать. То есть буквально: контент-персонаж должен смотреть на вас, что-то «говорить», вызывать ощущение, что за приложением стоит кто-то живой, а не значок в кружочке. А лого этого не умеет по своей природе.
Я хотел, чтобы у Картары появилось лицо, живая версия, которую можно поставить в карусель, потом анимировать, потом пустить в ролики. Чтобы пользователь, как я сам же когда-то писал в заметке к продукту, чувствовал близость, а не общался с абстрактной иконкой. И вот тут началось самое интересное, потому что взять лого и «оживить» в лоб, это путь прямиком в зловещую долину.
Почему лого нельзя просто взять в аватар
Давайте разберём, потому что я сам не сразу это сформулировал. На логотипе глаза закрыты, и это сразу создаёт дистанцию, ведь закрытые глаза считываются как «я в себе, меня тут как бы нет», а персонаж для контента наоборот должен ловить ваш взгляд и держать его. Дальше, лого симметричное и плоское, и эта симметрия читается как статика, как герб, а не как живое существо, у которого есть объём, поворот головы, какая-то жизнь в чертах. И вдобавок, если плоский символ начать тянуть к реализму, велик риск получить тот самый uncanny, когда вроде человек, но что-то не так, и зрителю некомфортно.
То есть задача не «сделать лого красивее», а «родить из символа персонажа», и это две совершенно разные операции. И вот когда это понимаешь, сразу отваливается куча тупиковых вариантов.
Стиль: мистика на стыке с техно
Со стилем я определился довольно быстро, потому что в голове у меня уже был референс. Я хотел, как сам же и написал в сессии, цитирую: «хочу чтобы у нас Картара была такой же стильной и "современной" типа стык мистики и техно (то что она ИИ)». Картара ведь по сути ИИ под маской оракула, и этот стык, мистическое содержание плюс технологичная подача, он и есть её суть, его и надо показать в лице.
Ближайший понятный ориентир, это сериал «Аркейн» по League of Legends, тот самый стилизованный реализм, splash-art с фактурой, светом, характером. «Да да. Сериал Аркейн оч крутой», это я опять же дословно из рабочей переписки, чтобы не приукрашивать. Не фотореализм, который сразу тянет в зловещую долину, и не плоский флэт, который ничем не отличается от тысячи других аватарок, а вот эта точка ровно между ними, где есть и стиль, и живость одновременно.
Главная инженерная мысль: эталон как источник правды
А теперь то, ради чего вообще стоит читать эту статью, потому что стиль выбрать, это полдела, дальше начинается настоящая боль. Если вы хоть раз генерили картинки нейросетью, вы знаете: попросишь одного и того же персонажа дважды и получишь двух разных людей. Нос другой, овал лица другой, цвет глаз поплыл, капюшон стал другого оттенка. И для разовой картинки это пофиг, а для бренда это смерть, потому что персонаж, который выглядит по-разному в каждом посте, это уже не персонаж, это просто набор случайных картинок.
Поэтому решение, к которому я в итоге пришёл, такое: сначала залочить один эталонный образ и относиться к нему как к Single Source of Truth, как к единственному источнику правды, а уже от него плясать во всех генерациях. И держать консистентность сразу двумя способами параллельно. Первый, это character reference, в Midjourney это флаг --cref, когда ты скармливаешь модели картинку-эталон, и она старается держать черты лица от поста к посту. Второй, потяжелее и понадёжнее, это дообучить под Картару маленькую модель, LoRA, чтобы она просто знала это лицо как факт. И плюс ко всему письменная спека: какой hex у капюшона, как выглядит третий глаз, какой градиент в волосах. Чтобы это было не «ну вы поняли, мистическая девушка», а конкретные значения, которые и нейросеть, и я можем проверить.
И тут я честно признаюсь в своей же болячке, опять дословно из сессии: «Да, только вот как мне кто никогда не может остановиться сделать эталонный образ...». Вот в этом вся ловушка, пока эталон не залочен, ты бесконечно крутишь варианты, потому что каждый следующий «почти, но не то», и можно так неделю просидеть. А залочить, это значит в какой-то момент сказать стоп, вот это лицо, дальше работаем только от него. Дисциплина тут важнее вкуса.
Итерации: gpt-image, grok-imagine и охота за прямым взглядом
Дальше пошла рутина, которую красиво не покажешь. Я гонял генерации через gpt-image и grok-imagine, искал тот самый кадр, где лицо одновременно живое, в нужном стиле и смотрит прямо на зрителя. Тут уже всё решал глаз, а не флаги: одна генерация даёт хороший поворот, но мёртвые глаза, другая отличный взгляд, но цвет волос уехал, третья вроде всё, но в чертах опять проскакивает та самая жуть. И ты сидишь, отбраковываешь, докручиваешь промпт, гонишь ещё пачку.
В итоге финальный вариант, это лицо с прямым взглядом и cyan-глазами, и вот этот cyan и есть техно-акцент, который вытягивает образ из чистой мистики в «она ИИ». Прямой взгляд закрыл проблему дистанции из лого, cyan закрыл задачу «показать, что внутри технология», а общий splash-art-стиль удержал баланс, чтобы не свалиться в зловещую долину. Параллельно, чтобы день не пропал зря, я ещё проработал мультиязычный нейминг аккаунтов под Картару, cartara.ru, .es, .fr, .en, потому что лицо лицом, а под него ещё нужны площадки на разных языках.
Что я из этого вынес
Главный вывод простой, и применим он далеко за пределами одного оракула: если вы делаете бренду живого AI-персонажа, для каруселей, для бота, для видео, неважно, то ключевая работа не в красоте отдельной картинки, а в системе, которая держит этого персонажа одинаковым везде. Эталон как единственный источник правды, character reference или LoRA для черт лица, письменная спека на цвета и символы, вот этот каркас и отличает узнаваемого персонажа от мешка случайных генераций. И да, всё это я собирал не «нарисовал руками как художник», а оркестрировал нейросетями под задачу, что, собственно, и есть моя работа.
А второй вывод, он про дисциплину остановки. Самая дорогая ошибка тут не «выбрал не тот стиль», а «не смог залочить эталон и крутишь варианты до бесконечности». Картинка всегда может быть на 5% лучше, всегда. Но бренду нужна не идеальная картинка, бренду нужно одно лицо, которое люди запомнят. Так что в какой-то момент просто говоришь себе: стоп, вот оно. Кстати, если интересно, как Картара вообще растёт фича за фичей, я недавно рассказывал, как за неделю докатил до прода нумерологию, там тот же подход, сначала разобраться зачем, потом делать, а не наоборот.
Так что лицо у моего оракула теперь есть, смотрит на вас прямо и подсвечено cyan-ом. А следующий шаг, это заставить его двигаться и говорить, но это уже отдельная история, и про неё я напишу, когда дойдут руки.