Как сгенерировать видео в виде любого персонажа
Недавно мы рассказывали, как научить нейросеть генерировать картинки любых персонажей со своим лицом. В этом гайде пойдем дальше и сделаем видео, где в главной роли тоже будем мы.
Для этого нам понадобится:
- обучить нейросеть FLUX генерировать фото с нашим лицом;
- нейросети Luma, Kling или Runway, чтобы оживить фотографии.
Шаг 1. Генерируем картинки
Подробнее о том, как обучить нейросеть, мы рассказали в отдельном гайде.
Здесь расскажем кратко.
Сначала регистрируемся на GitHub и Replicate. Привязываем к Replicate карту, которой можно платить в интернете.
Важно! Российской картой оплатить не получится. Но с белорусской карты оплата проходит.
Затем находим на Replicate модель «ostris» и запускаем первую модель из выдачи или переходим по ссылке.

Переходим к настройке. Кликаем на поле «Select a model» в Destination и выбираем «create a new space». Придумываем название нашей модели, можно любое.

В раздел «input_images» нужно загрузить фотографии себя в .zip-архиве.
Загружаем в модель .zip-архив с подготовленными фотографиями себя. Фото должны быть разнообразными, чтобы охватывать разные стороны, углу съемки объекта. Используйте изображения в различных условиях, позах и освещении.
А также:
- Добавляйте в архив 12-20 картинок, чтобы получить лучшие результаты.
- Используйте изображения, где вы сфотографированы крупным планом.
- Используйте форматы JPEG или PNG.
Далее нужно заполнить триггерное слово (можно оставить слово TOK по умолчанию) и изменить значение раздела Lora_rank с 16 на 32. Остальные настройки можно не трогать.

Когда заполните все параметры, кликните на «Create training». Начнется обучение модели, оно займет около 20 минут. Когда обучение завершится, кликните на «Run trained model», чтобы протестировать результат.
В созданной модели будет несколько разделов. В поле Prompt нужно вводить запрос. В запросе нужно обязательно использовать триггерное слово, в моем случае — TOK. Вставлять слово можно в начало, середину или конец промта.

Затем нужно изменить соотношение сторон на 16:9 в разделе aspect_ratio.

Увеличить значение в строке num_inference_steps с 28 на 40.

А в разделе output_format нужно выбрать PNG.

После этого можно генерировать картинки.
Я для примера сделал фото себя в средневековом замке.

Шаг 2. Генерируем видео
Берем сгенерированную картинку и идем в 2 сервиса на выбор: Kling или Runway. По каждому сервису мы делали подробные гайды:
Чтобы сгенерировать видео в Kling, нужно перейти на вкладку «Image to video» и загрузить нужную картинку. Затем прописать промпт и задать конкретное движение персонажу. Например, «the man walks forward slowly».

Также можно добавить ключевые кадры. Т. е., задать начальную картинку и конечную, к которой должна прийти нейронка.
Чтобы получить хороший промпт, я рекомендую использовать принцип хорошего промпта.
Хороший промпт, это:
Объект и описание объекта + движение объекта + сцена и описание сцены + (язык камеры + освещение + атмосфера).
Объект, его движение и сцену нужно описывать обязательно, чтобы получить хорошее видео. Язык камеры, освещение и атмосферу описывать не обязательно, но они помогут улучшить генерацию.
Важно! Если вы хотите просто оживить картинку, добавить какие-то простые движения и т. д., сильно промпт можете не расписывать. Например, если нужно, чтобы герой с фото просто шел вперед, можно написать: «The man slowly walks forward». Если задумка более сложная, то промпт нужно расписывать подробнее.
Более подробно о создании промпта читайте в гайде по Kling.
Чтобы сгенерировать видео в Runway, нужно запустить инструмент «Generative video» и выбрать модель Gen-3 alpha или Gen-3 alpha turbo. Лучше использовать Gen-3 alpha, так как там качество генерации выше.

Здесь принцип хорошего промпта следующий: движение камеры → описание сцены и объекта → дополнительные детали.
Более подробно о создании промпта читайте в гайде по Runway.
Важно! Runway часто увеличивает контрастность, яркость и насыщенность по сравнению с референсом. А также делает движения камеры слишком резкими. Чтобы исправить проблему, тестируйте в запросах следующие формулировки:
- static camera;
- desaturated colors,
- muted colors;
- low contrast.


Важно! Если вы хотите просто оживить картинку, добавить какие-то простые движения и т. д., сильно промпт можете не расписывать. Например, если нужно, чтобы герой с фото просто шел вперед, можно написать: «muted colors, low contrast, the man slowly walks forward, subtle motion». Если задумка более сложная, то промпт нужно расписывать подробнее.
Какой сервис выбрать
Сейчас я не могу назвать конкретных причин, по которым нужно выбирать один из сервисов. У каждого есть свои плюсы и минусы.
Например, Kling лучше справляется со сложными движениями. Они получаются более плавными.
Правда, на самом дешевом платном тарифе Standart (стоит $10) видео генерируется дольше, нейронка сильно портит качество исходной картинки. Кроме того, Kling сильно меняет лицо персонажа. Все потому, что на тарифе Standart доступна только старая версия 1.0. Новая версия 1.5 работает на более дорогих тарифах.
Поэтому придется делать несколько генераций подряд, чтобы получить хороший результат. Например, чтобы сделать это 5 секундное видео, мне пришлось сделать 15 видео до этого. И все равно заметно, что лицо искажено. Вот, что получилось у меня по простому промпту «The man slowly walks forward»
Но у Kling 1.0 есть классная фишка-преимущество над новой моделью 1.5 — функция Motion Brush. Суть функции в том, что с ней можно задать направление движения всего объекта или, например, только руки персонажа. Также есть функция «Static brush», которая блокирует движение камеры в выделенных областях.
Я рекомендую использовать функцию так: добавлять движения частям тела, например, ногам или рукам. А статичную область накладывать на голову. Тогда на лице персонажа будет меньше артефактов, а части тела будут двигаться в заданном направлении. Но сам персонаж не пойдет вперед, назад или в стороны.

Вот, что получилось у меня по промпту «The man slowly walks forward and raises the sword in his left hand».
Лицо осталось неподвижным, движение рукой реалистичное. Единственный минус — персонаж странно моргает. Я сделал еще около 10 попыток и исправить эту проблему не получилось.
Версия Kling 1.5 работает куда лучше. В этой версии нейросети по промпту «The man slowly walks forward» получились очень плавные движения. А качество картинки выросло в разы.
Главное преимущество Kling — дешевизна. Стандартная подписка стоит $10, ее хватит на генерацию 66 видео по 5 секунд каждое. А продвинутая версия стоит от $37 в месяц. Там дают 3000 кредитов, которых хватит на 100 видео по 5 секунд каждое.
Теперь про Runway. Если сравнивать с Kling 1.0, Нейронка лучше сохраняет черты лица. Например, в этом видео лицо меняется только в конце. До этого тоже есть искажения, но они не так заметны, как в Kling 1.0. При этом это первая попытка. Промпт — «muted colors, low contrast, the man slowly walks forward, subtle motion»
Самое классное, что качество самого видео сильно лучше, чем в Kling 1.0. От Kling 1.5 отличий в качестве практически нет.
Но есть проблема — в движениях. Персонаж вроде бы идет, но при этом задний фон стоит на месте. Поэтому пришлось делать несколько попыток, чтобы все стало выглядеть реалистичнее.
Главный минус Runway — дороговизна. Пока я писал этот гайд, израсходовал все кредиты подписки (600 штук) и сделал только 10 видео. При этом подписка стоит $15.
Чтобы продолжить тесты, мне пришлось докупить дополнительную подписку за $10. При этом получилось сделать только 15 секунд хорошего материала. Т. е., чтобы сделать полноценный ролик, придется потратить $100, а то и больше.
Еще один минус — в Runway плохо работает функция Motion Brush. Движения не получается контролировать.
В целом, между Kling 1.5 и Runway отличий немного. Поэтому выбор больше будет зависеть от того, сколько денег вы готовы потратить на работу и где работать вам удобнее.