Распутин танцует тектоник как cheba_man: как я сделал такое же видео с нейросетью

Недавно в рилсах мне попалось видео, где Cheba Man танцует тектоник под Love Is Gonna Save Us Бенни Бенасси. Алгоритмы намёк поняли, и следом лента начала подсовывать рекламу приложений: загрузи фото, и твой персонаж станцует точно так же. Звучит здорово, но на деле приложения оказались так себе, да ещё и платными. Тогда я нашёл нейросеть и решил сделать всё сам. А поскольку в генерации видео я особо не шарю, попросил помочь Codex, который у меня и так уже ведёт бухгалтерию. Вдвоём мы и заставили танцевать тектоник Распутина. Правда, получилось это далеко не с первой попытки.

Cheba Man танцует тектоник на вечеринке во дворе

Cheba Man танцует тектоник на вечеринке во дворе

👉 Читай AppleInsider.ru в MAX

Бесплатная нейросеть утащила Распутина в квартиру

Задачу я поставил максимально просто: приложил ролик с танцором, фото Распутина и написал «вот я видео такое хочу, чтобы танцевал Распутин как на фото». А через минуту уточнил: «то есть музыку надо оставить именно как на видео». Вот и всё задание, без всяких промптов на английском. Поясню, Codex — это ИИ-агент от OpenAI, который сам открывает сайты, качает файлы и режет видео, а мне только отчитывается. Если вы с ним ещё не знакомы, у нас есть инструкция, как управлять им на Маке прямо с айфона.

Просьба в ChatGPT: фото, ролик и одна фраза

Просьба в ChatGPT: фото, ролик и одна фраза

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

Бесплатная демоверсия, Wan Replace и Wan 3

Бесплатная демоверсия, Wan Replace и Wan 3

Проблема в том, что Распутин действительно танцевал, только в той самой квартире, где его сфотографировали. Пришлось объяснять, чего я на самом деле хотел: «чтобы Распутина ты перенёс на место парня из оригинального видео, и чтобы он не выглядел наложенно». Тут и выяснилось, что Codex выбрал режим переноса движений на фото, а мне нужна была замена человека прямо в исходном видео: та же площадка, толпа, красный свет и камера, только вместо танцора Распутин. Эту ошибку Codex признал сразу и предложил варианты замены, начать советовал с Wan. Я ответил коротко: «ну давай Wan».

Первая платная попытка стоила 37 центов и выглядела наклейкой

Нужный режим замены нашёлся на fal.ai. Это площадка с разными нейросетями для видео, где платишь за каждую генерацию. И тут первый нюанс: бесплатных кредитов там нет, баланс нового аккаунта нулевой, а для пополнения нужна зарубежная карта. Поэтому я разово закинул $10 картой узбекского банка, без подписки и автопополнения. Если такой карты нет, вот 5 способов оплатить зарубежные нейросети из России.

Деньги на балансе появились, и Codex взял Wan 2.2 Animate Replace, специальный режим замены персонажа, и запустил пятисекундную пробу за $0,37. Площадка, толпа и движения на этот раз сохранились, но Распутин выглядел вставленным:

  • свет не совпал: танцора в оригинале заливает красным, а лицо и руки Распутина остались почти телесными;
  • сам он вышел ниже и массивнее танцора;
  • лицо и кисти потеряли детали, а кафтан превратился в сплошное чёрное пятно.

Тогда я попросил ничего не переделывать, а сначала разобраться в причинах. Оказалось, качество Codex срезал сам: ради дешёвой пробы он ужал исходник с 1080×1920 до 480×854, и пикселей осталось в 5,4 раза меньше. Мелкое лицо, борода и пальцы закономерно поплыли. Со светом сложнее: на фото Распутин снят при мягком домашнем свете, и красный сценический модель на него так и не переложила. А заодно я напомнил о новой версии: «да и Wan 3.0 есть, например». Codex честно ответил, что должен был проверить его до платного запуска старой модели.

Wan 3 справился, но берёт деньги и за исходник

Для Wan 3 Codex взял тот же пятисекундный фрагмент, но уже в полном разрешении, и выставил 1080p. Сам режим называется reference-to-video: модель получает фото персонажа и видео, а в запросе ей объясняют, кто есть кто. Отдельно Codex прописал красный свет, рост танцора, положение ног и то, что всех остальных людей трогать нельзя.

Через несколько минут я посмотрел результат и сразу написал: «да, получилось офигенно, надо сделать целое видео».

И правда: красный свет наконец лёг на лицо, руки и кафтан, складки одежды читаются, рост ближе к оригиналу. Кисти иногда плывут, но это уже придирки. Единственное, звука в превью на fal не было, так что музыку из оригинала Codex наложил уже на скачанный файл.

Тот же кадр в Wan Replace и Wan 3

Тот же кадр в Wan Replace и Wan 3

Стоила такая проба $2, хотя по тарифу пять секунд в 1080p — это $1. Дело в том, что Wan 3 оплачивает и входное видео. На 20 октября тариф такой: $0,05 за секунду результата в 480p, $0,10 в 720p и $0,20 в 1080p, и столько же сверху за каждую секунду загруженного ролика.

Целый ролик выдал себя на стыках

Пять секунд — это здорово, но исходник длится 23,3 секунды, а видео Wan 3 принимает не длиннее 15 секунд. Поэтому Codex разрезал остаток на две части, с 5-й по 14-ю секунду и с 14-й до конца, и сгенерировал каждую отдельно. Эти две части обошлись в $3,60 и $4, а весь Распутин вместе с неудачной пробой — в $9,97. То есть из моих десяти долларов на балансе осталось три цента.

Склейки, правда, видно сразу. На 5-й и 14-й секунде у Распутина перескакивают руки, сдвигаются зрители, а на первом стыке ещё и резко светлеет небо. Причина простая: все три куска нейросеть делала независимо, каждый раз заново от одной фотографии, и конец предыдущего не был опорой для следующего.

Кадры до и после стыка двух частей

Кадры до и после стыка двух частей

Убрать такие скачки из непрерывного общего плана не получится, и Codex это честно признал. Цвет выровнять можно, но позы людей он не поправит, а плавное растворение одного куска в другой даст двойные руки и лица. Тогда Codex зашёл с другой стороны: раз стык не спрятать, пусть он станет частью монтажа. На 5-й и 14-й секунде он поставил короткие крупные планы диджея и зрителей из оригинального видео, по 0,8 секунды каждый. Звук при этом идёт целиком из оригинала, без единой склейки, так что музыка не спотыкается, а глаз принимает стык за намеренную смену плана, как в обычном клипе. По-моему, очень элегантно: бесплатно и без новых генераций. Правда, вставки вышли мягче по резкости, потому что их пришлось увеличить.

Распутин, крупный план диджея и снова Распутин

Распутин, крупный план диджея и снова Распутин

Но это всё-таки маскировка, а не починка. Отсюда главный урок: один ролик — одна генерация. Хотите без швов — берите фрагмент до 15 секунд и делайте его целиком за раз.

⚡ Подписывайся на AppleInsider.ru в Telegram

Повторить можно за полтора доллара

Причём Codex для этого не обязателен, всё делается в браузере на сайте fal.ai. Заранее подготовьте три вещи:

  • аккаунт на fal.ai с пополненным балансом: нужна зарубежная карта, способы оплаты я дал выше;
  • фото того, кто будет танцевать: лучше в полный рост, чтобы были видны лицо и одежда;
  • ролик с танцем до 15 секунд и не меньше 16 кадров в секунду. Обрезать его можно, а уменьшать разрешение нельзя: именно на этом мы потеряли детали во второй попытке.

Дальше всё на одной странице, сверху вниз. Поля на сайте подписаны по-английски, поэтому называю их так же, как они написаны там:

  • Войдите на fal.ai, например через Google. Без входа вместо кнопки Run висит Sign in to run.
  • Откройте страницу модели alibaba/wan-3.0/reference-to-video, вкладку Playground.
  • В поле Prompt вставьте текст запроса, его можно скопировать в следующем разделе.
  • В поле Resolution выберите 480p, это для пробы.
  • В поле Duration поставьте длину вашего ролика в секундах.
Поля Resolution и Duration в форме Wan 3

Поля Resolution и Duration в форме Wan 3

Остальные поля между ними, Aspect Ratio, Audio и Enable Thinking, не трогайте. Теперь прокрутите страницу ниже:

  • В блоке Reference Image Urls нажмите кнопку Add Image и загрузите фото того, кто будет танцевать.
  • В блоке Reference Video Urls нажмите кнопку Add Video и загрузите ваш ролик с танцем.
  • Нажмите Run внизу формы и подождите несколько минут. Готовый ролик появится справа, скачать его можно кнопкой Download.
Кнопки Add Image и Add Video на fal.ai

Кнопки Add Image и Add Video на fal.ai

Почему 480p, подсказал мой коллега Миша: пробовать в дешёвом разрешении, а удачный вариант повторить в 1080p. Пятнадцать секунд с учётом входного видео стоят $1,50 за попытку в 480p, $3 в 720p и $6 в 1080p. Только 480p — для проверки идеи, а не для итога.

И ещё про звук: Wan 3 сочиняет свой, переключатель Audio по умолчанию включён. Если нужна музыка из оригинала, как у нас, подложите её к скачанному ролику в любом видеоредакторе.

А если у вас есть Codex, всю эту работу можно отдать ему. Приложите к сообщению ролик и фото и опишите задачу своими словами, как я. Только мне по ходу пришлось многое уточнять, поэтому лучше сразу перечислить всё, на чём мы споткнулись. Например, так:

Хочу, чтобы человек с фото танцевал вместо танцора из этого видео. Замени человека прямо в исходном ролике, а не переноси движения на фото: сцена, свет, остальные люди и камера должны остаться как в оригинале. Музыку возьми из оригинального видео. Разрешение исходника не уменьшай. Используй модель Wan 3 reference-to-video на fal.ai и сделай весь ролик до 15 секунд одной генерацией, без склейки частей. Сначала сделай пробу в 480p и покажи мне, потом повтори в 1080p. Перед каждым платным запуском называй сумму.

Идеально с первого раза может не выйти и так, но тогда просто напишите, что не нравится, как делал я. Аккаунт на fal.ai с пополненным балансом нужен и в этом случае.

Запрос решает больше, чем разрешение

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

Replace ONLY [the central red-lit male dancer standing on the raised platform] with [the bearded long-haired man] from Image 1, wearing [his black knee-length caftan and tall black boots]. Image 1 provides identity and clothing only; do not use its [apartment] background or its pose. Preserve the exact original [five-second] choreography, gesture timing, body position, height in frame, foot contact, camera motion, lens perspective, [courtyard, DJ equipment, crowd, buildings, string lights] and all foreground occlusions from Video 1. The replacement must look filmed in the original shot: illuminate [his face, hands, hair, black cloth and boots] with the same [strong saturated red stage light and dim blue ambient night light] as the original dancer. Natural contact shadows, matching motion blur, grain and sharpness. His feet stay on the original platform. Preserve every other person. No new actions, cuts, zooms, slow motion or added objects. Photorealistic seamless character replacement.

Что поменять:

  • «the central red-lit male dancer standing on the raised platform» — кто танцует в вашем ролике, например «the girl in a white dress»;
  • «the bearded long-haired man» — кто на вашем фото, например «the young woman»;
  • «his black knee-length caftan and tall black boots» — во что он одет на фото, например «her red dress and white sneakers»;
  • «apartment» — где снято ваше фото, например «office»;
  • «five-second» — длина ролика, например «ten-second»;
  • «courtyard, DJ equipment, crowd, buildings, string lights» — что видно в вашем ролике вокруг танцора, например «beach, sea, palm trees»;
  • «his face, hands, hair, black cloth and boots» — что у героя должно попасть под свет, например «her face, hands, hair and dress»;
  • «strong saturated red stage light and dim blue ambient night light» — какой свет в вашем ролике, например «warm evening sunlight».

Слова Image 1 и Video 1 не меняйте: Image 1 — это ваше фото, а Video 1 — ваш ролик, так модель понимает, откуда брать героя, а откуда сцену. Особенно внимательно опишите свет в ролике: именно из-за него Распутин в первой платной попытке выглядел наклейкой. Если с английским туго, напишите описания по-русски и переведите их в любом переводчике.

Нейросеть не волшебная, но приложения из рекламы ей проигрывают

В итоге за $9,97 и пару часов переписки с Codex у меня есть ролик, который приложения из рекламы так и не смогли сделать. Причём дорогой оказалась не удачная генерация, а ошибки по дороге: неверный режим, ужатый исходник и длинное видео кусками.

Мне кажется, сейчас это уже вполне рабочая история: пять секунд в Wan 3 выглядят так, будто Распутин и правда вышел на ту площадку. Идеала, правда, не ждите, кисти иногда плывут, и пробовать лучше в дешёвом разрешении. А кого бы вы заставили станцевать тектоник? Делитесь в нашем Telegram-чате.

Нейросеть ChatGPTСоветы по работе с Apple