Как редактировать видео в Seedance 2.5

Ролик почти получился, но в кадре лишние люди, герой говорит не на том языке или сцена обрывается раньше, чем нужно? Генерировать его заново не обязательно. Готовое видео можно загрузить в Seedance 2.5 и попросить модель исправить только то, что мешает, или продолжить сцену. А если ролик понадобится для соцсетей, по нему можно сделать вертикальную версию.

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

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

Начинаем с простой правки

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

Например, в ролике девушка в белом платье идет по собору, а вокруг ходят люди. Чтобы героиня осталась в соборе одна, загрузите ролик и напишите такой промпт (@Video 1 в нем — это загруженный ролик):

Prompt

Правка видео: убери из @Video 1 всех, кроме главной героини.

Исходное видео и результат

В итоге формат и длина ролика остались прежними, поменялось только содержимое кадра: скамьи опустели, и героиня идет по собору одна. Кадр у исходника и результата 5:4, а длина разошлась всего на десятую долю секунды: 16,8 и 16,9 секунды. Все остальное модель взяла из самого ролика, поэтому запросу хватило одной строки.

Если загрузить несколько роликов, они получат номера по порядку загрузки: второй станет @Video 2, третий — @Video 3. У картинок своя нумерация, тоже по порядку загрузки: @Image 1, @Image 2.

Слова «правка видео» (Video edit) и «убери» (remove) здесь работают как триггеры: по ним модель поймет, что загруженный ролик нужно изменить. Если из запроса неясно, что ролик надо именно поправить, модель может принять его за образец — взять из него героев и движение и снять по его мотивам новое видео.

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

Собираем запрос на правку

Убрать людей из собора — одно изменение, и его легко назвать. Если же нужно заменить героя на человека с картинки или поменять действие только на пару секунд, запрос удобнее собрать из нескольких частей: что было и что должно стать, в какие секунды, по какому образцу и что сохранить. Для движущегося объекта понадобится еще одна часть — о движении.

Начать можно с самого ролика: выписать все, что в нем видно, и возле каждого пункта отметить, что с ним сделать, — заменить, убрать или оставить. Из того, что должно остаться без изменений, в запрос достаточно вписать самое важное: все прочее закроет фраза «все остальное в @Video 1 — без изменений» в конце запроса.

Само изменение лучше описать парой «было — стало»: первая половина пары покажет модели, какой объект искать в кадре, а вторая — что должно появиться на его месте. Если таких объектов несколько, можно указать, сколько их во всем ролике: так модель не добавит лишних и не пропустит ни одного. А если правка нужна только на отрезке, его можно обозначить секундами.

Исправить видео можно с помощью разных слов-триггеров. Чтобы добавить что-то в кадр, подойдут add или insert, чтобы убрать — remove или delete, чтобы заменить или изменить — replace, modify или change to. Перед любым из них можно поставить слова «правка видео» (video edit), как в запросе про собор. Подойдут и похожие формулировки, если из них ясно, что ролик нужно поправить, а не снять заново.

Если новый вид героя, предмета или места задает картинка, ее можно загрузить вместе с роликом: в запросе она станет @Image 1. Рядом с обозначением стоит написать, что с картинки взять — внешность, материал или обстановку, — и чего не брать, например фон или других людей. Иначе вместе с нужной деталью они могут попасть в ролик.

Если заменить нужно то, что движется, новый объект можно попросить повторить движение прежнего: появиться в то же время, двигаться по той же траектории и с той же скоростью. А про прежний объект стоит написать, что в ролике он больше не появится. Так можно, например, заменить красный велосипед с велосипедистом патрульным электромобилем с картинки.

В конце запроса можно перечислить, что должно остаться как было: лица, движения, камеру, порядок событий. Завершите запрос фразой «все остальное в @Video 1 — без изменений»: она убережет ролик от правок, о которых вы не просили. А если из ролика нужно оставить только героя, концовка будет обратной: героя оставить, остальных убрать. Так устроен запрос про собор: «убери из @Video 1 всех, кроме главной героини».

Части запроса удобно записать отдельными строками:

Prompt

Что изменить: правка видео (video edit) — в @Video 1 замени только [что было] на [что должно стать]. [Если таких объектов несколько — сколько их во всем ролике.]

Когда: [с какой по какую секунду — если правка нужна только на отрезке ролика].

Образец: с @Image 1 возьми [внешность, материал или обстановку], но не бери [фон, других людей, композицию].

Движение: [новый объект] появляется в то же время, движется по той же траектории и с той же скоростью, что и [прежний объект]. [Прежний объект] в ролике больше не появляется.

Сохранить: [лица, движения, камеру, порядок событий]. Все остальное в @Video 1 — без изменений.

Заполните скобки описанием своего ролика, а строки, которые задаче не нужны, удалите: без картинки лишней окажется строка «Образец», без движущегося объекта — «Движение».

Заполненный шаблон может уместиться и в одну фразу. Например, в ролике мужчина пьет кофе, а с 4-й по 6-ю секунду он должен мыть пол шваброй. Такую правку можно описать так:

Prompt

Измени действие мужчины в @Video 1 с 4-й по 6-ю секунду: вместо того чтобы пить кофе, он моет пол шваброй. Остальное содержание оставь без изменений.

В этой фразе есть пара «было — стало», секунды и концовка, а слово-триггер — change («измени»).

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

Для правки подойдет ролик от 4 до 30 секунд, но лучше до 20: на более длинных результат чаще не удается с первого раза. Картинок-образцов можно приложить от одной до пяти. Шесть–восемь модель тоже примет, но попыток может понадобиться больше.

Меняем то, что видно в кадре

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

Меняем внешность героини по ходу сцены

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

Prompt

Сохрани композицию, положение камеры, освещение и ритм актерской игры из @Video 1. Измени только внешность и выражение лица главной героини: пусть она естественно постареет с двадцати с небольшим примерно до шестидесяти лет. Сдержанный взгляд постепенно смягчается, из уголков глаз скатываются слезы, а уголки губ медленно приподнимаются, пока она наконец не улыбнется сквозь слезы. Весь ролик должен быть одним непрерывным кадром, без склеек и мерцания. Черты лица должны стареть постепенно, не «плыть» и не превращать героиню в другого человека.

Исходное видео и результат

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

Первая фраза запроса закрепила все, что в сцене уже получилось: композицию, камеру, свет и ритм игры. Слова Only modify («измени только») сузили правку до внешности и выражения лица, а modify заодно сработало как слово-триггер.

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

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

Переносим действие в другое место по картинкам

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

Для этого понадобятся три картинки: каменная площадка замка в горах и два доспеха без людей — коричневый кожаный и темный с серым шарфом. Загрузите их вместе с роликом в таком порядке: площадка станет @Image 1, коричневый доспех — @Image 2, темный — @Image 3. Затем напишите такой промпт:

Prompt

Замени поединок двух бойцов в @Video 1 на схватку без оружия, в которой соперники прощупывают друг друга перед дуэлью на холодном оружии.

Замени место действия на каменную площадку средневекового замка, старинный двор, внешнюю площадку горной крепости или простую арену для дуэлей из каменного кирпича. На фоне должны быть стены замка, ветер, туман, далекие горные хребты и ровный каменный пол. Окружение — по @Image 1.

Замени мужчину в темной одежде из ролика на @Image 2, а мужчину в светлой одежде — на @Image 3. Исходные движения и ритм оставь без изменений.

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

Исходное видео, картинки и результат: @Image 1 — площадка замка, @Image 2 — коричневый кожаный доспех, @Image 3 — темный доспех с серым шарфом

В итоге поединок перенесся к замку, лица и движения бойцов сохранились, а доспехи с картинок стали их костюмами. Только костюмы достались бойцам наоборот: запрос отдавал коричневый доспех (@Image 2) бойцу в темной одежде, а темный (@Image 3) — бойцу в светлой, но модель одела их наоборот.

Первые три строки запроса начинаются со слова replace («замени»): они поменяли характер поединка, место и бойцов. У каждой картинки в запросе своя роль: @Image 1 — окружение, @Image 2 и @Image 3 — костюмы конкретных бойцов. На этих картинках доспехи без людей, поэтому «замени мужчину на @Image 2» здесь значит «одень его в этот доспех»: лица бойцов модель оставила прежними. Несколько вариантов места через «или» описывают тип обстановки, а конкретный вид задала картинка @Image 1.

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

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

Меняем зеленый фон на новые сцены

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

Prompt

На основе @Video 1 отрисуй окружение вместо зеленого фона, препятствия, одежду и второстепенных персонажей.

0–4 с: тренировка на улице, замени препятствия на камни, кирпичи, шины и деревянные ящики.

4–10 с: раздевалка, друзья подбадривают героя.

10–15 с: международный матч, замени тренировочные стойки на вымышленных защитников и вратаря, главный герой забивает гол.

В целом — фотореалистичное изображение кинематографического качества.

Исходное видео и результат

В итоге герой по очереди оказался на уличной тренировке, в раздевалке и на матче.

Это тоже правка: слово-триггер replace («замени») звучит в запросе дважды. В начале запрос перечисляет, что дорисовать: фон, препятствия, одежду и второстепенных персонажей. Самого героя и его игру с мячом модель взяла из исходника, поэтому одни и те же движения получилось поместить в три разные сцены.

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

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

Меняем только движение камеры

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

Prompt

Отредактируй @Video 1. Персонажей, их действия и визуальный стиль оставь без изменений. Измени только движение камеры. План камеры на 15 секунд по отрезкам:

0–4 с: камера, как маленький дрон (micro-FPV), проносится вплотную мимо сковороды, затем следует за выскакивающим тостом и резким поворотом (whip pan) переходит к кофе;

4–7 с: приближение (push in) и сопровождение сбоку (track laterally) вдоль края сковороды за яичницей, которая подлетает, переворачивается и ложится обратно на место;

7–11 с: камера быстро поднимается до вида сверху (top-down), затем ровно опускается и проходит над тарелкой и ключами;

11–15 с: крупный план с рук (handheld close-up) — камера следует за руками и быстрым рывком уходит в сторону (lateral whip), затем приближается к завтраку (push in) и отъезжает (pull back) до среднего плана с двумя персонажами (medium two-shot).

Вся последовательность должна быть плавной, непрерывной и устойчивой.

Исходное видео и результат в одном ролике-сравнении; надпись на китайском — служебная подпись к сравнению

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

Запрос начинается со слова edit («отредактируй»), а фраза «измени только движение камеры» сразу ограничила правку камерой. Дальше запрос расписал работу камеры по четырем отрезкам и привязал каждое движение к событию в кадре: к выскочившему тосту, к яичнице, которая переворачивается на сковороде. Действие уже было в ролике, поэтому план камеры запрос подстроил под него.

Последняя фраза попросила сохранить плавность и непрерывность: приемов в плане много, и они быстро сменяют друг друга.

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

Меняем звук

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

Переводим монолог на другой язык

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

Prompt

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

Исходное видео и результат

В итоге сцена и движения героя остались прежними, а говорит он уже по-китайски.

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

Слов-триггеров из списка в этом запросе нет, но похожие формулировки тоже работают: «переведи речь в ролике» и «все остальное оставь без изменений» ясно говорят модели, что ролик нужно поправить. А @Video 1 здесь не понадобился: ролик в запросе один.

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

Переводим диалог, не путая голоса

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

Prompt

Переведи озвучку ролика на китайский и точно подгони под нее движения губ. Все остальное оставь без изменений. Требования: никакого корейского текста и никаких китайских субтитров.

Исходное видео и результат короткого запроса: часть корейской речи осталась, а голоса достались не тем персонажам

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

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

Prompt

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

Главные требования:

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

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

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

4. Подгони движения губ каждого персонажа слово за словом, чтобы форма рта точно совпадала с китайским произношением, ритмом и длиной реплики. Губы не должны двигаться раньше, позже или невпопад, и не оставляй движений губ под корейское произношение.

5. Не добавляй субтитры, титры, стикеры и вообще никакой текст.

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

7. Если корейские реплики в ролике немного отличаются от таймлайна ниже, ориентируйся на полный текст реплик из исходника и сохраняй смысл и отношения персонажей из перевода. Не оставляй корейскую речь только потому, что таймлайн неполный.

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

Реплики на китайском и их время:

00:05–00:09 Женщина: {那今天晚饭,要不要去吃你最喜欢的炸鸡?} («Тогда, может, сходим сегодня на ужин поесть твоей любимой жареной курицы?»)

00:16–00:21 Мужчина: {比起炸鸡……我更喜欢像这样和你一起喝咖啡的时间。} («Больше, чем жареную курицу… я люблю вот такие минуты, когда мы с тобой пьем кофе»)

00:23–00:24 Женщина: {噢……} («Ох…»)

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

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

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

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

Для своего диалога выпишите в запросе реплики на языке перевода и для каждой укажите время и того, кто ее произносит. Язык назовите перед репликами, а каждого говорящего пометьте отдельно, даже если у него всего одно междометие, как у женщины в конце разговора.

Убираем музыку или меняем реплику

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

Prompt

Убери фоновую музыку из @Video 1.

В правку можно загрузить и звук — например, образец голоса или новую музыку, — но для удаления музыки он не нужен: хватит слова-триггера remove («убери») и названия того, что убрать. Если после правки музыка все же останется, пригодятся приемы из раздела «Что делать, если результат не подошел».

Так же коротко можно заменить одну реплику героя. Например, мужчина в ролике должен произнести другую фразу и с другим акцентом:

Prompt

Отредактируй только реплику мужчины в @Video 1: замени ее на «Don’t come over here» («Не подходи сюда») и поменяй акцент на американский.

Первые слова, Only edit («отредактируй только»), ограничат правку одной репликой, а указание на говорящего подскажет модели, чей голос менять. Если реплик у героя несколько, к запросу можно добавить секунды, в которые звучит нужная. Новая реплика стоит здесь в кавычках, но ее можно выделить и фигурными скобками, как в примере с диалогом.

Продлеваем ролик

Правка поменяет то, что происходит внутри ролика, но его длина останется прежней. Если же сцене не хватает секунд, ролик можно продлить в обе стороны: вперед, чтобы показать, что было дальше, и назад, чтобы добавить начало. Такую задачу модель распознает по словам extend forward («продли вперед») и extend backward («продли назад»), а также continue («продолжи»), continue from («продолжи с…») и extend the story («продли историю»).

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

Добавляем несколько секунд в конце

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

Prompt

Продли @Video 1 на 5 секунд. Прилетает пчела и садится на цветок. Затем крупный план в макросъемке: лапки и брюшко пчелы покрыты золотистыми частицами пыльцы. Пчела взмахивает крыльями и взлетает, а камера следует за ней, пока она летит к другому цветку того же вида. В замедленной съемке пыльца осыпается с тонких волосков пчелы и падает точно на тычинки цветка, крупно показывая момент опыления.

Исходное видео и склейка с продолжением: стык на 15-й секунде

В итоге продолжение получилось отдельным роликом на 5 секунд: пчела села на цветок, крупным планом видна пыльца на ее лапках, потом пчела взлетела, и пыльца осыпалась. До другого цветка она за эти секунды не долетела: все, что просил запрос, в 5 секунд не поместилось. Цельное видео на 20 секунд — это исходник и продолжение, склеенные друг с другом. Место, где исходник переходит в продолжение, — стык: здесь он на 15-й секунде.

Росток и цветок запрос не описывает: они уже есть в ролике, и продолжение началось там, где закончился исходник. Первая фраза, Extend @Video 1 by 5 seconds («Продли @Video 1 на 5 секунд»), содержит слово-триггер и длину, а остальные описывают только новое: что делает пчела и как это снять.

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

Prompt

Продлить: @Video 1 вперед (extend forward).

На стыке: первый кадр продолжения сразу следует за последним кадром @Video 1. Сохранить [позу и направление героя, положение предметов, фон, положение камеры и композицию, свет, звук, траекторию движения].

Дальше: [что происходит в продолжении].

Во всем продолжении не меняются: [внешность и одежда героя, главные предметы, расположение фона, направление съемки, звуковая обстановка].

Один и тот же герой: [герой] остается одним и тем же персонажем, без двойников и раздвоений.

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

В готовой склейке стоит пересмотреть стык: переход от исходника к продолжению должен быть незаметен. Громкость продолжения может немного отличаться от исходника. Для продления это ожидаемо, а если исходник вы тоже делали в Seedance 2.5, разница будет меньше.

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

Продлеваем ролик к нужной сцене

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

Prompt

Продли @Video 1. Когда окно откроется, переместись в зал художественной галереи, показанный в @Video 2. В конце перемести камеру внутрь картины, показанной в @Video 3.

Исходные видео и результат: @Video 1 — пролет над городом к окну, @Video 2 — галерея, @Video 3 — ожившая картина

В итоге окно открылось, и камера вошла сначала в галерею, а затем в картину. Формат кадра результат взял у продлеваемого ролика, и два других на него не повлияли.

Когда в запросе несколько роликов, какой из них продлевать, модель выберет по тексту запроса. Поэтому запрос начинается с прямого указания: Extend @Video 1 («Продли @Video 1»). Два других ролика показали места, куда камера должна прийти, а текст задал путь к ним.

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

Дописываем начало

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

Prompt

Продли @Video 1 назад: персонаж с @Image 1 падает с неба.

Направление зададут слова extend backward («продли назад»), а внешность персонажа, который появится в добавленном начале, задаст картинка: образец героя к продлению можно приложить так же, как к правке.

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

Prompt

Продлить: @Video 1 назад (extend backward).

До начала ролика: [что происходило раньше].

На стыке: последний кадр продолжения переходит в первый кадр @Video 1. Сохранить [позу и направление героя, положение предметов, фон, положение камеры и композицию, свет, звук, траекторию движения].

Во всем продолжении не меняются: [внешность и одежда героя, главные предметы, расположение фона, направление съемки, звуковая обстановка].

Один и тот же герой: [герой] остается одним и тем же персонажем, без двойников и раздвоений.

Не показывать раньше времени: героев, предметы и эффекты, которые появляются в @Video 1 только позже.

В строке «До начала ролика» опишите свою предысторию, а скобки в строке о стыке заполните тем, что видно в первом кадре исходника. Последнюю строку оставьте как есть, а в готовом продолжении все равно стоит проверить, не появилось ли в нем то, что по сюжету возникает только позже.

Собираем ролик из готовых кусков

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

Соединяем два ролика переходом

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

Prompt

Соедини @Video 1 и @Video 2 без заметного стыка. В конце @Video 1 камера должна быстро взлететь до самого верха, стремительно развернуться и затем отвесно спикировать вниз, чтобы естественно и незаметно перейти в @Video 2. Во время перехода фишки маджонга постепенно превращаются в высотные здания, а вместе с ними меняется и вся сцена. Сами загруженные ролики не меняй.

Исходные видео и результат: @Video 1 — башня из фишек маджонга, @Video 2 — золотой небоскреб над городом

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

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

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

Собираем видео из фотографий

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

Prompt

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

Картинки могут слегка двигаться, как живые фото, но сами исходные изображения не меняй. Изображение в ролике должно максимально совпадать с исходными картинками.

Исходные фотографии и результат

В итоге получился вертикальный ролик на 15 секунд, а поверх кадров появились нарисованные сердечки, звездочки и обводка.

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

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

Делаем то, что не получается одной правкой

Вертикальную версию готового ролика надежнее сделать новой генерацией, сложную правку — разбить на два шага, а историю длиннее 30 секунд — собрать из нескольких продлений подряд.

Делаем вертикальную версию

Например, в горизонтальном ролике 16:9 тигр идет по пляжу на закате, а потом в небе пролетает чайка. Для коротких видео в соцсетях этот ролик нужен в вертикальном формате 9:16.

Правка рассчитана на формат и длину исходника, поэтому для вертикальной версии она не подходит. Если все же выставить в настройках 9:16 и попросить правку, модель дорисует недостающие края кадра, но они могут не сочетаться с исходной картинкой, а события — пойти в другом порядке.

Исходное видео 16:9 и попытка сделать из него вертикальную версию правкой

Поэтому загрузите ролик так же, как для правки, но в запросе попросите создать по нему новое видео, а формат 9:16 и длину выберите в настройках генерации. Для этого подойдет такой промпт — названия его разделов стоят в квадратных скобках, их можно оставить как есть:

Prompt

Создай новое видео, используя @Video 1 как строгий образец по изображению и по времени. Размеры кадра и длительность возьми из настроек генерации.

[Точность по времени: наивысший приоритет]

Выдержи непрерывное соответствие с @Video 1 по времени, один к одному, от первого кадра до последнего. Каждый момент нового видео соответствует тому же моменту @Video 1 при той же скорости воспроизведения.

Каждый кадр исходника и каждый отдельный план обязательны. Включи все очень короткие планы, кадры-вспышки, вставки, планы с реакцией героев, переходные изображения, размытые в движении кадры, резкие повороты камеры (whip pan) и визуальные события короче секунды. Каждому дай то же экранное время и то же место в последовательности, что в исходнике.

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

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

[Содержание образца]

@Video 1 задает всю сцену: героев, предметы, действия, выражения лиц, позы, расположение в пространстве, движение камеры, работу объектива, фокус, освещение, тени, отражения, цвета, фактуры, последовательность кадров, склейки, время событий, движение и звук.

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

Каждый человек, лицо, тело, рука, предмет одежды, объект, реквизит, поверхность, элемент фона, текст, логотип, цвет, фактура, тень, отражение, размытие в движении и перекрытие на протяжении всего видео остаются такими же, как в @Video 1.

[Дополнительные области кадра]

В дополнительных областях кадра незаметно продолжается окружение, которое видно у краев @Video 1. Продолжи поверхности, предметы, тени, отражения и элементы окружения, которые уходят за край исходного кадра, с той же геометрией, глубиной резкости, перспективой, освещением, фактурой, фокусом, размытием в движении, движением камеры и параллаксом.

Сохраняй строгую непрерывность от кадра к кадру по всей площади изображения. Неподвижные детали окружения остаются на своих местах в пространстве. Движущиеся элементы остаются синхронными с движением камеры и сцены в @Video 1.

Готовое видео содержит всю последовательность кадров, все быстрые визуальные события, тех же героев и те же действия, исходный звук, а также точный порядок повествования и событий из @Video 1, и все это — в новом выбранном формате кадра.

[Посекундное описание]

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

00:01–00:04: близкий план тигра в полный рост: он идет по пляжу. На фоне катятся бледно-голубые волны, небо пожелтело от заката, под лапами — ровный мокрый песок. Тигр уверенно идет к камере твердыми, мощными шагами и неотрывно смотрит вперед. Съемка с низкой точки подчеркивает, какой он внушительный.

00:04–00:06: белая морская птица, например крачка или чайка, парит в ярко-синем небе с несколькими белыми облаками. Камера сопровождает птицу сзади, следуя за ее полетом; крылья движутся легко и изящно.

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

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

Запрос начинается с просьбы создать новое видео, для которого @Video 1 — строгий образец. Слова вроде edit («отредактируй»), modify («измени») или convert («преобразуй») здесь лучше не использовать: по ним модель может принять задачу за правку. Если модель все же примет задачу за правку, в запрос можно добавить фразу Please note that this is not video editing («Обратите внимание: это не правка видео»).

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

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

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

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

Разбиваем сложную правку на два шага

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

Prompt

Отредактируй @Video 1 так, чтобы кепка прилетела парню на голову по траектории, отмеченной на @Image 1. Красную траекторию не показывай.

Исходное видео и результат одного запроса: в кадре осталась красная линия траектории

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

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

Prompt

Создай 5-секундное видео, в котором кепка прилетает парню на голову по траектории, отмеченной на @Image 1. Красную траекторию не показывай. Звук не нужен.

Кадр из ролика с нарисованной красной стрелкой — траектория полета кепки, @Image 1

Картинка с траекторией и результат первого шага: отдельный ролик с летящей кепкой

Слов-триггеров правки в этом запросе нет: он начинается с Generate («создай») и просит новое видео. Звук запрос отключил, потому что этот ролик понадобится только как образец полета.

На втором шаге загрузите исходник первым, а ролик с кепкой — вторым: в запросе он станет @Video 2. Правка теперь решит одну задачу — вставит готовый полет в исходник:

Prompt

Отредактируй @Video 1 так, чтобы кепка прилетела парню на голову. Внешний вид и траекторию кепки сделай такими же, как у кепки в @Video 2, а все остальное оставь без изменений.

Результат второго шага: кепка на голове у парня

Картинку с красной линией на втором шаге загружать уже не нужно: внешний вид и полет кепки модель возьмет из ролика первого шага.

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

Собираем длинную историю из продлений

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

Prompt

Продли видео. Продолжи изображение и героев из @Video 1 и создай еще один ролик на 30 секунд, сохранив персонажей, место действия, визуальный стиль и звуковые эффекты. Маленький мальчик с футбольным мячом в руках бежит по вагону метро. Когда поезд останавливается, боковая дверь открывается, и мальчик тут же выскакивает наружу, а главный герой бросается за ним. Они пробегают через платформу и выбегают на улицу, по пути распугивая прохожих и водителей. Наконец главный герой догоняет мальчика и хватает его. Мальчик обиженно поднимает на него глаза. Гнев героя постепенно утихает: он гладит мальчика по голове и беспомощно улыбается.

Исходное видео и продолжение подряд: стык — около 30-й секунды

В итоге мальчик выбежал из вагона на платформу, а оттуда на улицу, где мужчина его догнал.

Слово-триггер стоит в самом начале: Extend the video («Продли видео»). Следующая фраза закрепила героев, место действия, стиль и звуковые эффекты, а остальной текст рассказал продолжение как законченный эпизод.

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

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

Что делать, если результат не подошел

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

Что не такЧто написать или сделать
Правка изменила то, что должно было остатьсяПеречислите в запросе, что сохранить, и завершите его фразой «все остальное в @Video 1 — без изменений». Если правка нужна только на отрезке, укажите его секунды (см. «Собираем запрос на правку»).
После правки длина ролика на долю секунды разошлась с исходникомС роликами, сделанными в Seedance 2.5, длина совпадет, а у остальных такая погрешность — обычное дело для правки. Если нужна строго заданная длина в целых секундах, сделайте новую генерацию по ролику-образцу и выберите длину в ее настройках (см. «Делаем вертикальную версию»). Это уже не правка, поэтому содержание может отличаться от исходника.
Сложная правка оставила в кадре лишнее, например нарисованную траекториюРазбейте задачу на два шага: сначала сделайте новый элемент отдельной генерацией, потом вставьте его в ролик правкой (см. «Разбиваем сложную правку на два шага»).
После смены формата правкой дорисованные края не совпали с исходникомСделайте новую генерацию по ролику-образцу: формат выберите в ее настройках, а исходник опишите в запросе по секундам (см. «Делаем вертикальную версию»).
Появились субтитры, хотя запрос их запрещалЕсли субтитры были в исходнике, возьмите его версию без них (см. «Добавляем несколько секунд в конце»). Не повторяйте слова реплики в других частях запроса и не привязывайте к отдельным ее словам указания о тоне, мимике или действии: такие повторы и указания могут вызвать субтитры. Если репликам нужна разная подача, запишите каждую отдельной строкой: «Реплика героя (с какой эмоцией): {текст}».
Модель перепутала образцы между героямиПроверьте, что номера картинок в запросе совпадают с порядком загрузки и у каждого героя своя строка со своей картинкой. Если все верно, запустите генерацию еще раз или опишите героев по месту в кадре (см. «Переносим действие в другое место по картинкам»).
Часть речи осталась на исходном языке, а голоса перепуталисьПопросите перевести всю речь, включая фоновую и междометия, и выпишите в запросе реплики на языке перевода — каждую с секундами и именем говорящего (см. «Переводим диалог, не путая голоса»).
Музыка звучит, хотя запрос просил ее убрать или запрещалПеречислите в запросе все слова, которыми можно назвать музыку: «No music, BGM, score, instrumental, melody, soundtrack…», и повторите этот запрет в начале и в конце. Другой вариант — после генерации оставьте в ролике только голос с помощью редактора, который умеет выделять голос, но тогда вместе с музыкой пропадут и звуковые эффекты.
Первые ролики проекта вы делали в Seedance 2.0, а 2.5 по тому же запросу выдает другой стильЗагрузите ролик из 2.0 и продлите его уже в Seedance 2.5: так в продолжении лучше сохранится стиль 2.0.

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

Памятка: что написать и что проверить

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

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

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

0 комментариев
Старые
Новые Популярные