yandex

Генерация вирусных видео с ИИ: сложности, реальный опыт, советы начинающим

main image

С развитием нейросетей мир уже повидал сотни тысяч вирусных видео с ИИ-контентом, начиная от просто смешных картинок, пресловутых Бомбардиро Крокодило, и заканчивая такими, которые сложно отличить от реальности. Сейчас индустрия продвинулась настолько, что сгенерированный контент на площадках необходимо помечать плашками: просто потому что артефактов на роликах нейросети почти не выдают.

Это выглядит просто на первый взгляд: пишешь промпт — получаешь картинку/сцену, но на деле результат «с первого раза» это редкое явление. Чаще все примерно так:

Сгенерировал — понял, что это вообще не то — поправил промпт — снова не то — поменял модель — снова попробовал — адаптируешь промпт к новой нейросети заново.

И так несколько раз подряд.

Мы занимаемся этим уже несколько лет. В какой-то момент просто решили попробовать ради интереса, как дополнительное продвижение, а потом это превратилось в полноценный рабочий процесс.

Поэтому готовы поделиться своим опытом и рассказать обо всей внутрянке. 

В этой статье:

  1. Пошаговые этапы создания кинематографичных сцен — расскажем, как делаем видео для нашего проекта «Сторифордж».

  2. Пошаговые этапы коротких видео — трендовые рилсы и шортсы.

  3. Текущий стек моделей команды — чем мы пользовались раньше, и к чему пришли сейчас.

  4. Что упрощает работу с видео

  5. Сервис для создания кинематографичных видео и ИИ под любые цели

  6. FAQ

Пошаговые этапы создания кинематографичных сцен

Вообще в работе обычно мы используем два метода:

Метод A — через ключевые кадры

  • Текст разбивается на абзацы.

  • Языковая модель пишет промты для изображений по каждому блоку.

  • Генерируем ключевые кадры, затем превращаем их в короткие видео, добавляя описания действий и динамику уже для видео-промтов.

Плюсы: даёт каркас и шанс удержать персонажей. 

Метод B — анимация между изображениями

  • Для каждого абзаца генерируем изображение.

  • Между изображениями создаём анимацию (интерполяция, морфинг, плавные переходы).

  • Задаём начальный и конечный кадр и длительность перехода.

Плюсы: стабильнее и часто быстрее, особенно для менее динамичных сцен. Минусы: менее «живое» движение, сложнее делать сложные физические экшены.

Мы разберем один из подходов на конкретном примере: сейчас делаем видео для нашего Ютуб-канала Сторифордж

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

Открываем готовый сценарий и просматриваем его, отбираем куски, которые нужно сгенерировать, а в каких местах можно просто добавить куски из «ОСД».

Сама идея видео в том, что все события сериала происходят на игральной доске, будто все происходящее — огромная партия в DND. 

С этой фразы мы и начнем: «То есть все события сериала происходили на доске». Из самой этой строчки нейросеть мало что поймет. Поэтому мы добиваем промпт под нашу цель, наш монтажер обычно использует подсказку «олицетвори»Олицетвори фразу “Все события сериала Очень странные дела происходили на доске для ДНД”. Эпично. Динамичные кадры. Плавные движения. Кинематографично.

ПЕРВЫЙ РЕЗУЛЬТАТ

В целом, результат вроде бы неплохой, но сразу видно проблемы: во-первых, слишком быстро всё происходит, неправильно быстро, темп не тот. Во-вторых, картинка не сходится: сначала куча деталей, потом всё это схлопывается во что-то одно, выглядит нелогично. И конец вообще какой-то странный. То есть вроде можно было бы оставить, но тогда придется дольше сидеть над монтажем.

Дальше уже идёт выбор из вариантов. Мы пробуем несколько генераций с одним и тем же промптом. Вторая генерация оказалась красивее, но менее логичная: фигурки небольшие, непонятно, что это доска для ДНД.

ВИДЕО ВТОРОГО РЕЗУЛЬТАТА

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

ВИДЕО ТРЕТЬЕГО РЕЗУЛЬТАТА

По времени это иногда очень быстро. С этим видео получилось буквально так: одна генерация в 15:44, следующая в 15:48. То есть четыре минуты — и уже есть варианты. Дальше просто вставляем в программу, где монтируем и накладываем нужный звук.

Самое интересное — сложные фразы. Например, вот фраза, над которой работать пришлось долго:

«Если дизайн персонажей и можно списать на решение создателей придать именно такой внешний вид злодеям, то оправдать таким образом совпадения в способностях не получится»

Ступор. Как вообще с ней работать?

Сначала мы попробовали тот же способ, что и сверху, добавить слово «олицетвори фразу» и промпт выглядел так: «Если дизайн персонажей и можно списать на решение создателей придать именно такой внешний вид злодеям, то оправдать таким образом совпадения в способностях не получится». Олицетвори эту фразу в видео. Эпично, Динамичные кадры. Плавные движения. Кинематографично.

И, естественно, получается не то. Потому что не объяснили, ни про персонажей, ни про сериал, ни про что вообще:

РЕЗУЛЬТАТ

Тогда мы добавляем контекст: пишем, что это из «Очень странных дел», добавляем конкретных персонажей: Векну и Истязателя разума. Нейросеть начинает что-то рисовать, но это всё равно не то. ИИ понял направление, но результат вообще далек от ожидаемого:

РЕЗУЛЬТАТ

Третья попытка тоже не увенчалась успехом. Нейросеть просто не понимает. И вот тогда на помощь приходят референсы: если вы не можете объяснить, как выглядят персонажи, а учитывая детали, это будет очень сложно, то просто покажите их. 

Вместо моделей для генерации видео открываем Nano Banana 2. Чтобы сохранить тематику игры ДНД и фигурок на поле, мы нашли изображения злодеев в виде игрушек, приложили к промпту: Векна из ДНД сражается с Векной из Очень странных дел.

4 генерации и из них мы выбрали самую подходящую:

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

РЕЗУЛЬТАТ

Каждая генерация занимает какое-то время, плюс между ними ещё паузы — скачать, вставить, подогнать под звук, масштаб, и так далее. В среднем выходит где-то минут 15 на одну генерацию. Если считать — примерно час на одну сцену, с учётом всех попыток и выбора.

По количеству попыток это вообще плавающая история. В среднем, наверное, где-то 2–3 попытки, но это очень условно. Бывает, что с первого раза попало — и ты просто берёшь и идёшь дальше. Например, были моменты, где мы ничего не правили: сгенерировалось за 10–15 минут, и всё, идем дальше.

Но бывают и другие сложности: например, сцена, где нужно показать, что в DND играют и взрослые, и дети. Пробуем разные нейросети — Kling делает что-то странное, на кадрах люди сидят, кидают какие-то камни, вообще непонятно, что происходит. Смотришь и не понимаешь, о чём сцена.

Дальше Sora — и там уже совсем другое. Появляется ощущение погружения, логика сцены, уже можно использовать. И из нескольких вариантов выбираем тот, который лучше всего передаёт смысл. 

Мы работаем так с каждой сценой, которую нужно отобразить: сначала просто кусочек текста с фразами «олицетвори», «передай», «покажи». Добавляем детали контекста: указываем сериал/сцену/конкретных персонажей/генерирует картинку, если она нужна в качестве референса. Когда это будет уже второе или третье полноценное видео, вы приспособитесь работать так, как удобнее, быстрее и эффективнее.

Например, мы много и часто экспериментируем в подходах к генерациям. Бывает такое, что идеи приходят прямо в процессе, когда из, казалось бы, неудачных кадров можно слепить что-то очень классное.

Так получилось и в этом видео: нейросеть выдала в одном промпте Векну сидящего на троне, а в другом — пролет над замком. Мы взяли эти кадры, поместили один в качестве начального изображения, а второй в качестве конечного, и вот что получилось:

РЕЗУЛЬТАТ

И это прекрасно легло на следующую фразу в видео после сериальной вставки: «Еще одна интересная деталь: если говорить о каноничных историях вселенной ДНД, во многих из них условным финальным боссом был именно Векна».

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

Один удачный фрагмент может занять от 15 минут до 5 (!) часов. Здесь тоже дело в моделях: Sora 2, например, работает очень долго, в среднем 1,5 часа на одну сцену, а вот Veo и Kling справятся с задачей быстрее. Но тогда готовьтесь к компромиссам по качеству.

Пошаговые этапы создания шортсов

Будем разбирать на простом примере с оживлением песен.

  1. Сначала ищем текст нужной песни и копируем первую строчку. Можно вставить этот текст сразу как отдельный запрос, а можно сделать из этого промпт, зависит от того, каким вы хотите видеть конечный результат. 

Например, вместо «Тёмный, мрачный коридор» можно запросить «Тёмный, мрачный коридор старого здания, тусклый мерцающий свет ламп, облупившиеся стены, длинные глубокие тени, влажный пол, ощущение заброшенности и тревоги, кинематографичное освещение, высокая детализация». Все зависит от вашей фантазии и от того, какое настроение вы хотите передать от песни.

image result generation

Бывает так, что если вы вставляете просто строчку из песни, нейросеть выдает немного не то, что вы ждете: да, по тексту правильно, а вот к смыслу песни совсем не подходит. Например, когда мы оживляли «Частушки» Сектора Газа, нейросеть долго не могла понять, что значит «Становись-ка, девки, раком, будет репетиция». Flux либо отказывался давать результат, либо генерировал компанию на вечеринке.

Поэтому советуем подумать над промптом.

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

  1. Выбираем формат будущего изображения: задаем его либо в промпте, если работаете напрямую, либо выбираем нужное из предложенного, если пользуетесь тем же GenAPI.

  2. Отбираем нужные кадры. Обычно мы генерируем сразу 4 картинки (в настройках сервиса есть специальный ползунок для этого), чтобы вариантов сразу было больше. Если не подходит что-то из них — меняем промпт, добавляем детали, уточнения, все, чтобы помочь ИИ понять, чего мы вообще хотим.

Главная мысль при работе с нейросетями: «какое ТЗ — такое хз». Так что ставить ТЗ нужно хорошо. 

  1. Повторяем первые 3 этапа с каждой строчкой. сколько их будет — зависит только от вас. Мы обычно брали куплет+припев. Так же неплохо заходил формат «угадайки»: анимируем строчку из песни, а зритель за 3-5 секунд должен был понять, какую песню проиллюстрировала нейросеть.

Если формат шортсов просто с картинками вас устраивает — останавливаемся на этом, берем удачные кадры по строчкам и монтируем видео, просто накладывая сверху песню.

Если хотите дополнительно оживить картинки, то открываем нейросети для видео:

  1. Загружаем нужную картинку.

  2. Выбираем длительность, если такая функция доступна, а также разрешение.

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

А дальше добиваемся нужного результата, монтируем видео, накладываем песню.

Что было раньше

Когда модели начали более-менее стабильно делать картинки (конечно, все еще с лишним конечностями) мы, как и многие, начали пробовать всё подряд.

Для изображений использовали: DALL·E, MidJourney или Stable Diffusion, а для видео Luma, Kling и Runway

Каждая из моделей умела что-то своё. Но когда начинаешь делать не одну картинку, а сцену или ролик, всё становится сильно сложнее.

Например: персонаж внезапно меняет внешность. На первых этапах было очень сложно сохранить одну стилистику, такой возможности изначально даже не было толком предусмотрено. Фон скакал между кадрами, про освещение разговор вовсе отдельный: нейросеть расставляла его как хочет без учета физики реального мира. Настоящий ад, если честно. Мы прочувствовали его, когда делали клип на песню МЫ — «Остров».

Но даже если удавалось создать хорошие, качественные кадры, «оживлялки», а тогда это работало примерно только так, без редактора словами и коррекции кадров, могли все заруинить. Например, пустить вообще другой кадр вместо нужного, у персонажа могли разъехаться глаза или он мог махать руками.

Но когда финальные видео были готово, мы часто получали положительные результаты. Например, «Частушки» Сектора Газа, у нас собрали 6,8 миллиона просмотров на YouTube.

Наш текущий стек моделей

К счастью, прогресс не стоит на месте, а если говорить о нейросетях, то сейчас в этой сфере настоящая гонка вооружений. Это вечное соперничество рождает у разработчиков навязчивую идею сделать «лучше, чем у других», и в конце концов пользователь получает прекрасный продукт на руки, остается только наслаждаться. Мы хорошо помним, как после MidJourney, например, пришел Flux — и тогда это казалось открытием: улучшенная физика, качество, память. А сейчас мы бы и не вспомнили о нем при создании массового контента. 

Потому что стандартный набор в команде выглядит примерно так:

  • GPT Image

  • NanoBanana (обе версии)

  • иногда Imagen

Для видео:

  • Sora 2

  • Veo 3.1

  • Kling

У каждой модели есть сильные стороны: Sora 2 отлично подходит для сложных сцен и реалистичных движений, Veo часто быстрее и даёт хороший баланс качества, Kling удобен для более простых фрагментов, а еще там неплохой редактор. 

Что упрощает работу

Мы много работали с разными роликами: от коротких шортсов без оживления картинок, до масштабных видео с эффектами, поэтому на опыте вывели несколько правил и закономерностей:

  1. Хороший промпт экономит кучу генераций

  2. Лучше комбинировать модели

  3. Генерация — это только часть процесса. Большая часть времени уходит на: подготовку сцен, подбор стиля, монтаж, синхронизацию

  • Работать лучше всего в едином интерфейсе.

Где работать

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

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

Критерии для выбора сервиса:

1. Доступ к разным моделям

Мы пользуемся тремя, а то и четырьмя сразу, поэтому важно, чтобы все было под рукой. Представьте, если вам нужны одновременно GPT Image и Nano Banana: это значит, что нужно оформлять две разные подписки (если генераций будет много, а они будут) и работать в разных интерфейсах. Это минимальные проблемы, которые могут возникнуть.

Это неудобно, теряется много средств: подписка имеет свойство заканчиваться, а в нынешних реалиях они дорогие. К тому же, зачем тратить столько денег, если не пользоваться на постоянной основе?

2. Скорость и удобство генерации

Возможно, вы удивитесь, но в том же GPT Image, если пользоваться им напрямую, очень уступает в скорости. И не только в скорости. Чтобы добиться определенного размера и количества фотографий, нужно правильно вписывать все это в промпт, при этом нейросеть не всегда реагирует на него правильно.

А сервисы, работающие по API, в этом плане куда удобнее: нужные настройки есть в разделах, достаточно подвигать ползунки и настроить как нужно под задачу.

3. Стоимость генераций

Когда делаешь одну картинку, стоимость почти не ощущается. Но если считать реальные проекты, где на кадр уходит 3–7 генераций, а на ролик может уйти 90+ удачных сцен, стоимость начинает иметь значение.

И подписка не всегда выход. Сегодня вы генерируете 100 кадров, а следующую неделю только монтируете. А дни подписки бегут без дела.

Давайте просто посчитаем: подписка на GPT (если генерировать только в одной модели) + подписка на Kling (если найдете иностранную карту), обойдутся вам в 60$, это если брать самые минимальные тарифы. А если брать GPT Pro, то сумма встанет в 266$. 

Да. Такова жизнь. Переводить в рубли даже страшно, если честно, даже по текущему курсу. Поэтому удобнее выбрать единый сервис, где собрано много моделей, как минимум чтобы не бегать и не проверять подписку на разных сайтах.

4. Удобство инфраструктуры

Когда работаешь с несколькими моделями, появляется ещё одна проблема — инфраструктура.

У каждой нейросети своя логика генерации, свои лимиты, свои форматы.

Если всё это подключать отдельно, довольно быстро начинаешь тратить больше времени на поддержку интеграций, чем на саму работу.

Поэтому многие команды используют платформы, которые объединяют доступ к разным моделям через единый интерфейс.

Это позволяет переключаться между нейросетями, тестировать разные подходы, комбинировать генерацию в одном проекте.

Мы работаем в GenAPI

Сервис совмещает в себе все критерии, которые необходимы: доступ к разным моделям на выбор, скорость и удобство генерации, стоимость и интерфейс.

Там есть разделы, которые дополнительно разделены на подкатегории: например, в разделе генерации видео можно найти модели со звуком и без звука, отдельно для монтажа и оживления картинок.

Самый большой плюс, пожалуй, с ценниками. Подписки нет: просто пополняете баланс, и деньги списываются после генерации. То есть не нужно сидеть и постоянно подгонять себя, чтобы успеть выжать из подписки все. Можно работать в комфортном режиме, деньги никуда не пропадут.

FAQ

  1. Сколько генераций на самом деле нужно?

Очень частый вопрос, который задают люди, когда слышат про генерацию контента: «А сколько раз нужно генерировать, чтобы получилось нормально?». Вообще, в среднем 3–7 генераций на один удачный кадр, как говорит наш монтажер, все зависит от задачи, перфекционизма и степени ОКР создающего.

Это касается и изображений, и видео: иногда всё получается с первой попытки, а иногда приходится делать 10+ генераций, чтобы либо доработать один из лучших вариантов, либо выбрать готовый.

  1. Сколько времени уходит на одну картинку?

Ответ тот же: отталкиваемся от задачи и своих предпочтений. В целом, наша работа более-менее встала на поток, поэтому генерация занимает 5–10 минут. В это входит редактирование промпта, добавление деталей, переключение между моделями, чтобы посмотреть, где получается лучше. Да, для разных целей хороши разные нейросети, мы знаем о фишках и тонкостях каждой после долгой, плотной работы с ними, и все же иногда ИИ удивляет неожиданными попаданиями. Так что лучше перестраховаться. 

  1. Где оживить картинку?

Если картинки генерируются быстрее (и это понятно), то создание из них видео уже занимает много времени. Один удачный фрагмент может занять от 15 минут до 5 (!) часов. Здесь тоже дело в моделях: Sora 2, например, работает очень долго, в среднем 1,5 часа на одну сцену, а вот Veo и Kling справятся с задачей быстрее. Но тогда готовьтесь к компромиссам по качеству.

Поэтому в реальной работе мы почти всегда комбинируем несколько моделей.

Итог

Да, сейчас генерировать и оживлять что-то стало гораздо проще, огромный выбор моделей. Когда было всего несколько инструментов, мы точно знали, что нужно мучать промпт, пока не добьешься нужного результата. Сейчас, с огромным количеством нейросетей, если честно глаза разбегаются, хочется иметь под рукой сразу много инструментов, экспериментировать и пробовать.

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

К сожалению, даже хорошие модели и качественный контент далеко не гарант моментального успеха. Да, наши видео залетали, но не все и не всегда, хотя труда и стараний в это было вложено много. Будьте готовы к тому, что алгоритмы капризничают.

Всем вдохновения.


Автор: Павел Смирнов

author

Готовы присоединиться к GenApi?