Как оживить старое фото нейросетью: пошаговая инструкция
Оживить фотографию — значит превратить неподвижный снимок в короткий ролик: человек поворачивает голову, моргает, качаются ветки за окном. Технически это image-to-video, и занимает оно минуты.
У меня есть снимок деда, который гуляет по двору с мамонтёнком на поводке. Деда не существует, мамонтёнка тем более. Картинку и пятисекундный ролик сделала нейросеть примерно за три минуты, и половина вопросов под ним была про то, как это снято.
С настоящей фотографией из семейного альбома работает тот же механизм. Разница в том, что к чужому деду претензий нет, а к своему — есть.
Почему первая попытка обычно разочаровывает
Человек загружает портрет бабушки и пишет: пусть она встанет со скамейки и пойдёт навстречу. Через минуту он получает существо с плывущим лицом и тремя руками.
Дело не в кривом сервисе. Видеомодель берёт вашу картинку как первый кадр и достраивает следующие. Она не знает, как бабушка ходила, она предсказывает правдоподобное движение по миллионам других видео. Чем больше движения вы просите, тем дальше она уходит от исходного лица.
Отсюда правило, которое экономит десятки попыток. Чем меньше движения в запросе, тем живее результат.
Поворот головы и моргание выглядят настоящими. Прогулка через весь кадр — почти никогда.
Что нужно на входе
Ставить ничего не надо, всё работает в браузере. Нужна фотография и доступ к одной из видеомоделей.
К фотографии три требования, и они честнее, чем кажутся:
- Тысяча пикселей по длинной стороне и больше. Модель не добавляет резкости, она работает с тем, что дали. Из мутного скана выйдет мутное видео.
- Лицо целиком в кадре. Если половина лица за обрезом, вторую модель дофантазирует, и сходство пропадёт.
- Один-два главных героя. Групповое фото класса из двадцати человек аккуратно не оживляется, кто-нибудь обязательно поплывёт.
Старый снимок со сгибами и выцветшими цветами сначала стоит прогнать через реставрацию. Topaz AI и Clarity убирают зерно, возвращают резкость и цвет. Это лишний шаг, который снимает половину будущих проблем.
Какая модель под какую задачу
Модели отличаются не качеством вообще, а тем, что у них получается лучше.
Kling аккуратнее прочих обращается с лицами. Держит сходство, не ломает мимику, спокойно относится к мелким движениям. С портрета я начинаю с неё.
Google Veo делает видео сразу со звуком: шаги, шум улицы, гул за кадром. Для семейного архива звук чаще мешает, для ролика в соцсеть — вытягивает.
Runway и Luma сильнее в движении камеры. Медленный наезд, облёт, параллакс. Их берут, когда хотят не оживить человека, а войти внутрь фотографии.
Seedance, Sora, Wan держат в запасе. Бывает, одна модель ломает лицо там, где другая делает всё чисто, и заранее это не угадывается.
Промт описывает движение, а не картинку
Модель уже видит, что на снимке. Ей нужно знать, что должно происходить.
Так не работает: «старая фотография женщины в платке, чёрно-белая, семейный архив». Это описание того, что модель и так получила.
Так работает: «она медленно поворачивает голову к камере и мягко улыбается, моргает, ветер чуть шевелит волосы, камера неподвижна».
Формула из четырёх частей:
- Что делает главный герой. Поворачивает голову, моргает, вдыхает, поправляет платок.
- Что делает фон. Качаются ветки, идёт дым, вдалеке проезжает машина.
- Что делает камера. Почти всегда — стоит на месте. Движение камеры добавляют отдельным экспериментом, оно часто ломает лицо.
- Каким по характеру должно быть движение. Медленным, естественным, едва заметным.
Русский язык модели понимают, английский — лучше. Это не снобизм, а следствие того, на каких данных их учили. Тот же пример по-английски: Static camera. She slowly turns her head toward the camera and smiles gently, blinks, light wind moves her hair. Subtle natural motion, realistic.
Три настройки, которые решают
Длительность — пять секунд. Не потому, что дольше запрещено, а потому, что к концу длинного ролика модель успевает потерять лицо.
Первый и последний кадр. Kling разрешает задать оба, и если поставить туда одну и ту же картинку, движение пойдёт туда и обратно. Ролик зацикливается без видимого стыка, что удобно для ленты, где видео крутится по кругу.
Соотношение сторон — родное для фотографии. Вертикальный портрет, силой засунутый в горизонталь, теряет макушку или обрастает придуманным фоном по краям.
Что идёт не так чаще всего
Лицо плывёт и перестаёт быть похожим. Причина почти всегда одна: слишком много движения в запросе. Помогает убрать из промта всё, кроме поворота головы и моргания.
Появляются лишние пальцы. Руки — слабое место всех видеомоделей. Либо кадрируем так, чтобы руки не попали, либо пишем прямо: hands remain still.
Видео мутнее исходника. Стоит проверить, не ехала ли фотография через мессенджер: он пережимает файлы молча, и модель получает уже испорченную картинку.
Получается не то, что просили. Модели вероятностные, два одинаковых запуска дают разный результат. Три-четыре генерации и выбор лучшей — это норма работы, а не признак неудачи.
Три промта, которые можно забрать
Портрет из альбома, самый безопасный вариант.
Static camera. The person slowly turns their head toward the camera and smiles gently, blinks naturally, light wind moves their hair. Subtle realistic motion.
Городской снимок, когда интереснее оживить фон, а не человека:
Static camera. Leaves of the trees sway in the wind, a car slowly passes in the background, steam rises from a cup on the table, the people remain still. Gentle natural motion.
Вход внутрь фотографии, для Runway или Luma:
Very slow camera push-in toward the subject, subtle parallax between foreground and background, the subject blinks once. Cinematic, realistic, no other movement.
Дальше их меняют под свой кадр. Работает замена одного существительного: вместо hair — scarf, вместо car — bicycle. Каждая замена стоит одной генерации, поэтому имеет смысл менять по одному слову за раз и смотреть, что изменилось.
Где этот метод не помогает
Восстановить настоящую походку или живую мимику человека нельзя. Модель придумывает мимику, и близкий человек это почувствует. Мой опыт: ролик с ожившим родным лучше сначала показать одному члену семьи, а не выкладывать сразу в общий чат. Реакция бывает противоположна ожидаемой.
Второе ограничение мягче, но важнее для репутации. Такое видео не выдают за настоящую съёмку. Подпись «оживил старое фото нейросетью» честнее и при этом собирает больше отклика: половина комментариев под такими роликами про то, как это сделано.
Третье — деньги. Генерация видео тяжелее всего, что умеют нейросети: пять секунд ролика считаются дольше сотни картинок. Поэтому почти везде вместо безлимита действуют внутренние токены, и каждая генерация списывает часть баланса.
Для одной задачи нужен Kling, для другой Veo, для реставрации исходника Topaz. Пять отдельных подписок за это платить дорого и неудобно, поэтому смотрят в сторону сервисов, где модели собраны в одном месте с общим балансом.
Дед с мамонтёнком, с которого я начал, родился из одной строчки текста. Ваша бабушка на скамейке уже существует — ей нужно только моргнуть.
Все эти нейросети — в одном сервисе
Kling, Veo, Runway, Luma, Sora, Topaz и ещё сотня моделей: один баланс, оплата в рублях, работает в браузере и в Telegram. По ссылке с сайта — 15 стартовых токенов вместо 5.
Сборник промтов — бесплатно. Формулы для картинок и видео с разбором, какая часть за что отвечает. Забрать в телеграм-боте.
Забрать в боте