Как сделать нейросетью петлю Spotify Canvas для своего трека?
Возьмите из текста песни один предмет, оживите его в сервисе image-to-video, обрежьте и замкните в вертикальную петлю на 3-8 секунд и загрузите в Spotify for Artists. Требования, промпт, две команды ffmpeg и правила, из-за которых Canvas отклоняют.
Spotify Canvas по собственным правилам Spotify на момент написания
длина от 3 до 8 секунд, по кругу
формат вертикальный, 9:16
высота от 720 до 1080 px
файл MP4 или JPG
где видно вместо обложки на экране Now Playing в мобильном приложении
загрузка Spotify for Artists > Music > нужный трек > Add Canvas
Вся работа укладывается в эту табличку. Чтобы сделать Canvas нейросетью, берёте из песни одну картинку, превращаете её в статичный кадр, оживляете кадр в сервисе image-to-video, обрезаете результат до нескольких секунд, сводите конец с началом и выгружаете вертикальный MP4 высотой не больше 1080 пикселей. Потом загружаете его к конкретному треку в Spotify for Artists. На момент написания загрузка доступна первому основному артисту трека либо основному артисту и трека, и релиза, с правами Admin или Editor, причём Canvas можно повесить и на ещё не вышедший релиз. Перед экспортом сверьте цифры с правилами Canvas от самого Spotify: требования площадок меняются, а эта статья вслед за ними сама не обновится.
Нейросетевая часть тут самая простая. Будут ли на петлю смотреть, решает картинка, которую вы отдали на вход, и брать её надо из песни, а не из жанра. Лоу-фай-трек по умолчанию получает дождь по стеклу, потому что его получила сотня других лоу-фай-треков. А если в припеве горит окно на пятом этаже панельки, то и в петле горит это окно, и больше ни у кого его нет.
Чем эта статья отличается от соседних
Canvas не клип. Он длится максимум восемь секунд, собственного звука у него нет, и крутится он поверх экрана Now Playing, пока играет трек. Если нужен полноценный ролик для YouTube со сценами и склейками на три минуты, вам в статью про клип к готовому треку: там другая длина, другие инструменты и другие проблемы. А если трека в Spotify пока нет вообще, начинайте с порядка выпуска, потому что кнопка загрузки Canvas появляется только когда трек уже виден в Spotify for Artists.
Отдельно про Россию. Для слушателей в России Spotify не работает с 2022 года, а для артиста из России выпуск туда и доступ к кабинету зависят от дистрибьютора и от того, проходят ли платежи. Что из этого реально сейчас, спрашивайте у своего дистрибьютора, условия у всех разные и меняются. Если основная ваша аудитория в других сервисах, проверьте в их документации, есть ли там похожий формат и какие к нему требования. Сама же логика петли, о которой ниже, переносится куда угодно.
Эта статья про узкий момент между релизом и продвижением: трек отгружен или стоит в расписании, обложка готова, не хватает того, что двигается.
Картинку даёт текст, поэтому сначала текст
Этот шаг в советах про Canvas обычно пропускают. Все пишут «передайте настроение трека», но настроение сервис image-to-video отрисовать не может. Предмет может.
Возьмём такой припев:
[Chorus]
Горит окно на пятом этаже,
Я знаю, ты не спишь уже.
Весь дом во тьме, а там светло,
И мне от этого тепло.
Первая и третья строки вместе дают одну вещь, которую можно снять: освещённое окно в тёмном доме. Она и станет вашим Canvas. Пересказывать песню не нужно, тем более что в рекомендациях Spotify прямо сказано выбирать кадры без речи, пения и читки: зацикленное видео с вокалом не синхронизируется. Значит, ни исполнителя, ни шевелящихся губ, ни сюжета. Панельный дом ночью, одно жёлтое окно, редкий снег. Семь секунд.
Если такой строки в песне пока нет, её мы и помогаем написать. Генератор текстов принимает короткое описание и возвращает название и полный текст с тегами [Verse] и [Chorus]. Поставьте в поле хука title-line, и припев будет строиться вокруг строки-названия, а она чаще всего и называет ту вещь, которую потом оживлять. Одна генерация стоит 20 кредитов, при 100 кредитах за доллар это $0.20 за текст внутри тарифа. Бесплатного пробного периода нет: самый дешёвый вход стоит $5 в месяц, и каждый месяц к нему прилагается 500 кредитов, то есть 25 текстов. Если выпускаете больше пары треков, есть пожизненный доступ за $19 один раз, к нему однократно начисляется 1500 кредитов, этого хватит на 75 текстов. Генератор не поёт и видео не делает: он пишет слова, а звук и петля получаются в тех сервисах, которые выберете вы.
Промпт для видео пишется от предмета, а не от настроения
Когда предмет найден, промпт складывается почти сам. Большинство сервисов image-to-video принимают стартовую картинку и короткое описание движения. Ошибка в том, чтобы описывать чувство («ностальгия, тепло, тоска»): тоску сервис не анимирует, а снег анимирует. Промпт пишем по-английски:
Image prompt (статичный кадр):
Vertical 9:16. A nine-storey concrete apartment block at night,
all windows dark except one warm yellow window in the middle.
Sparse snow in the air. Building centred, empty dark sky,
nothing important near the edges. No people, no text, no signs.
Motion prompt (для image-to-video):
Static camera. Sparse snow drifts slowly. The lit window glows
softly, its light flickers once. No camera movement, no zoom,
no other windows turning on, nothing new entering the frame.
Основную работу в этом промпте делают три детали, и каждая нужна из-за того, как Canvas показывают.
Неподвижная камера. У движения камеры есть начало и конец, и в петле оба видны на каждом круге: кадр шесть секунд плывёт влево, а потом дёргается обратно. Движение внутри неподвижного кадра (снег, дым, вода, флаг, пламя свечи) замыкается в круг куда мягче, чем движение самого кадра.
Предмет по центру, у краёв пусто. Spotify предупреждает, что на некоторых телефонах края обрезаются, а на экране Now Playing поверх нижней части картинки лежат название трека и кнопки. Всё важное, что попало на поля или в нижнюю треть, может просто пропасть.
Ничего нового в кадре. Сервисы генерации видео любят дорисовывать. Загорается второе окно, по двору едет машина, снег превращается в дождь. В трёхминутном клипе это смена сцены, а в восьмисекундной петле это сбой, который возвращается каждые несколько секунд, пока играет песня. Поэтому в промпте отдельно запрещено включать другие окна: для дома с сотней тёмных окон это первое, что сервису захочется сделать.
Тип петли выбирают до генерации
В правилах Spotify названы три вида петли, и с нейросетевым видео выбор между ними практический, а не вкусовой.
Непрерывная петля. Последний кадр перетекает в первый без видимого шва. С генератором её добиться труднее всего, потому что сгенерированный ролик почти никогда не заканчивается там, где начался. Если сервис позволяет задать и первый, и последний кадр, дайте на оба места одну и ту же картинку, тогда шанс есть. Если не позволяет, готовьтесь воевать со швом.
Жёсткая склейка. Шов виден, и вы делаете вид, что так задумано: окно на миг гаснет, порыв снега, затемнение. Работает, когда движение к чему-то нарастает, и склейка читается как акцент, а не как ошибка. Делайте её мягкой, потому что в тех же правилах просят обходиться без резких склеек и ярких вспышек.
Отскок (rebound). Ролик идёт вперёд, потом назад, потом снова вперёд. С нейросетевым видео начинать стоит с него, потому что чистый стык тут гарантирован по определению: последний кадр прямого прохода служит первым кадром обратного. Отскок ломается только там, где у движения есть очевидное направление. Снег, который вдруг летит вверх, выглядит странно. Дым, мерцание света, трава на ветру, медленная вода почти всегда переживают разворот.
Для окна отскок подходит, если снега мало и он скорее висит в воздухе, чем падает. Если в сгенерированном ролике снег явно падает, переходите на мягкую склейку через мигание окна: оно заодно оправдывает шов.
Обрезать, развернуть и замкнуть можно самому
Что бы ни выдал сервис, ролик почти всегда придётся укоротить и загнать в формат Canvas. Сгенерированное видео плывёт: первые секунды обычно держатся, а потом у дома прибавляется этаж или окно переезжает на соседнюю секцию. Берите самые чистые несколько секунд, остальное выбрасывайте. Бесплатная консольная программа ffmpeg делает всё двумя командами:
#1 берём первые 3,5 секунды, режем в 1080x1920, убираем звук
ffmpeg -i generated.mp4 -ss 0 -t 3.5 \
-vf "scale=1080:1920:force_original_aspect_ratio=increase,crop=1080:1920" \
-an -c:v libx264 -pix_fmt yuv420p part.mp4
#2 отскок: вперёд, потом задом наперёд, итого 7 секунд
ffmpeg -i part.mp4 \
-filter_complex "[0:v]split[a][b];[b]reverse[r];[a][r]concat=n=2:v=1:a=0[out]" \
-map "[out]" -c:v libx264 -pix_fmt yuv420p canvas.mp4
Два прохода по 3,5 секунды дают 7 секунд, это внутри окна от 3 до 8 и с запасом. Строка с обрезкой важнее, чем кажется. Если сервис отдал горизонтальный ролик, она увеличивает его, пока он не заполнит вертикальный кадр, и срезает бока, ради этого мы и просили поставить дом по центру. Если ролик изначально вертикальный, он в основном просто масштабируется, а срезается только то, что не влезает в 9:16. Параметр yuv420p стоит потому, что некоторые плееры другие форматы пикселей не открывают, и выяснять, какие именно, нет смысла.
Кто не дружит с терминалом, делает то же самое в любом видеоредакторе: обрезать до чистых секунд, завести проект 9:16 размером 1080 на 1920, продублировать клип и развернуть копию задом наперёд.
Прежде чем загружать, посмотрите результат на телефоне несколько раз подряд. Шов, который не заметен с первого раза, на пятом круге становится единственным, что вы видите.
Чего правила не пропустят
У Spotify есть отдельная политика по содержанию Canvas, и на момент написания в ней перечислено ровно то, что генератор охотно нарушит, если за ним не следить:
- никаких ссылок, продавцов билетов, соцсетей, чужих брендов и логотипа Spotify
- никакой рекламы других песен, товаров, скидок, конкурсов и встреч с фанатами
- текст допустим только как второстепенный элемент, главным должно быть изображение
- откровенное содержание (мат, насилие, наркотики, секс, острые темы) нужно помечать как explicit
- в общих рекомендациях добавлено: название песни и имя артиста писать не нужно, приложение и так их показывает
Генераторы картинок обожают надписи: вывески, номера домов, объявления на подъезде. Поэтому в промпте и стоит «no text, no signs». Если буквы всё равно проступили на стене, генерируйте заново, а не надейтесь, что никто не прочтёт.
Коротко о правах
Всё, что попало в петлю, вы должны иметь право использовать. Для нейросетевого видео это обычно две проверки: что сказано про коммерческое использование в условиях сервиса на вашем тарифе и нет ли в кадре чужого, например узнаваемого человека, логотипа, персонажа или чужой фотографии, которую вы подали как стартовую картинку. Условия у сервисов разные и меняются, так что читайте актуальную страницу того тарифа, за который платите. Это общая информация, а не юридическая консультация; если от релиза зависят деньги, спросите специалиста в своей стране.
С текстом так же. Наша позиция записана в отказе от ответственности: коммерческое использование результата генератора разрешено, авторства на него мы не заявляем, права неисключительные, поэтому у двух пользователей строки могут совпасть.
Пять способов испортить нейросетевой Canvas
Ролик сгенерирован горизонтальным. Обрезка оставит среднюю треть, а в средней трети широкого кадра часто пустая стена. Просите вертикальный формат сразу или хотя бы предмет строго по центру.
Ролик слишком длинный. Восемь секунд это потолок, а не цель. Генератор держит форму несколько секунд, потом начинает сочинять. Плотные три-четыре секунды с отскоком смотрятся лучше восьми секунд медленного таяния.
В кадре лицо, которое шевелит губами. С вокалом оно не совпадёт, потому Spotify и советует обходиться без пения и речи. Лицо, которое молчит, пожалуйста. Двигающийся рот будет выглядеть как плохой дубляж.
Петля не похожа на обложку. Canvas встаёт на место обложки на экране Now Playing, и Spotify советует держать его в одной линии с обложкой и остальными изображениями артиста. Если обложка плоская красная графика, а петля фотореалистичный снег, переключение выглядит как чужой релиз. Делайте стартовый кадр в той же палитре или оживляйте саму обложку. Тут помогает и обложка, придуманная под миниатюру: обложку с одной крупной формой легко анимировать.
В кадре тесно. Экран телефона, название поверх, кнопки управления и ещё движущаяся картинка. Одного предмета и одного вида движения хватает с головой.
Где Canvas стоит в очереди релиза
По порядку: текст, звук, мастеринг, обложка, дистрибуция, а Canvas уже после того, как трек появился в Spotify for Artists. Дальше питчинг, пресейвы и первые цифры; об этом отдельно написано в статье что делать в Spotify for Artists после релиза. Canvas из тех немногих вещей, которые можно поменять когда угодно, не трогая сам релиз, так что слабая первая версия обойдётся вам только заменой.
Поменять потом нельзя только песню. Петля получится ровно настолько конкретной, насколько конкретна строка, из которой она выросла, а трек, в котором слова ни о чём, оставляет вам тот же дождь по стеклу, что и у всех.
Так что начинайте со слов. Если их у трека ещё нет или в припеве нет ни одной вещи, которую можно было бы снять, опишите песню в форме, поставьте хук title-line и получите в генераторе текстов название и припев, от которых можно строить и песню, и петлю. Внутри тарифа один текст обходится в $0.20. Войти можно за $5 в месяц, а если выпускаете больше одного сингла, пожизненный доступ стоит $19 один раз, и 75 текстов в него уже входят.