Во многих инструкциях мультфильм в нейросети собирают из коротких видео: каждый кусок оживляют отдельно, а потом склеивают в редакторе.
Мы сделали по-другому. Сцена на 25 секунд, в которой 11 планов и 8 реплик по-русски, вышла в Seedance 2.5 за одну генерацию. План — это кусок видео от одной склейки до другой.
Ниже по шагам, как мы её делали, какие промты писали и сколько это стоило. Понадобились три сервиса:
Начинают не с изображений, а с сюжета.
У нас он такой. Митя стоит перед своей группой в детском саду с рисунком в руках и рассказывает, кем работает его папа. Пока он говорит, на экране пожар: папа врывается в горящий дом, бежит сквозь падающие балки и замечает в углу маленького мальчика. Тот пугается большой тёмной фигуры над собой и успокаивается, только когда папа встаёт на колено. Папа выносит малыша на улицу и отдаёт родителям, а потом мы возвращаемся к Мите.
Говорит в сцене только Митя, реплик восемь: «Это мой папа», «И он… пожарный», «Он большой и сильный», «А главное — он храбрый», «Его иногда боятся: он большой», «А на самом деле он добрый», «Дяди зовут его добрым великаном», «Вот такой у меня папа. И я его люблю!». Две первые и последнюю мы слышим, когда Митя в кадре, остальные звучат поверх пожара.
Реплики закрепляют раньше, чем появится первое изображение, и больше их не трогают. По ним считают, на сколько планов делится сцена и какой длины каждый. У нас вышло одиннадцать планов на 25 секунд. Seedance 2.5 делает за одну генерацию до 30 секунд, поэтому вся сцена уложилась в один запуск.
Для каждого героя делается одно изображение: он стоит во весь рост на сером фоне, в руках ничего нет, лицо спокойное. Это изображение потом идёт образцом для листа персонажа.
Мы держались трёх правил:
Промты всех героев устроены одинаково и написаны на английском. Первая фраза задаёт стиль: 3D-анимация, как в полнометражном мультфильме. Дальше идут строки: кто это, силуэт, лицо, глаза, брови, борода, если она есть, кожа, руки, волосы, одежда, поза, камера и фон.
Промт Мити:
Full-body render of one character from a feature-length 3D animated family film: studio-grade computer animation with stylised proportions, neither photoreal nor a flat 2D cartoon.
Subject: a six-year-old boy, small and thin, light freckled skin; solemn, very proud of his father.
Silhouette: five heads tall, the shape of a mushroom: a huge round cap of hair over a small face, narrow shoulders, a long body and short thin legs. In a black cut-out he reads as a mushroom.
Face: a tiny upturned nose and a small mouth under very round cheeks; large round eyes set wide apart; a short soft chin.
Eyes: green irises that take up only part of each eye, clear whites visible on both sides, soft heavy upper lids, short sparse lashes, no drawn outline around the eyes.
Eyebrows: ginger, thin and soft, made of fine hairs.
Skin: matte, with a pink tip of the nose, flushed cheeks and ears that glow a little where the light passes through. Freckles across the nose and cheeks, scattered unevenly.
Hands: small, but drawn large for his body, with soft rounded fingers, blunt fingertips and simple palms.
Hair: a thick mop of ginger curls, wider than his face, matte, built from big curls with smaller ones on top, falling onto the forehead.
Wardrobe: grey-green dungarees over an oatmeal long-sleeved top, one strap slightly twisted; worn grey trainers with untidy laces. A red felt fire-engine patch sewn onto the bib of the dungarees: it is the only bright colour on him, everything else is muted. Soft heavy cloth with a few big folds, no logos.
Pose: standing straight and relaxed, facing the camera, arms down, hands open and empty, mouth calm and closed, looking into the lens.
Camera: straight-on view from chest height, the whole figure in frame, feet visible.
Background: an empty, even mid-grey studio backdrop.
Промты папы и малыша устроены так же.
Такой промт можно попросить у чата: дать ему три правила и пару фраз о герое.
Что проверить на готовом изображении: руки пустые, лицо спокойное, яркий цвет только один.
Лист персонажа нужен, чтобы герой выглядел одинаково во всех планах. С листа видеомодель берёт его внешность.
Сверху на листе четыре фигуры в полный рост: спереди, в три четверти, в профиль и со спины. Снизу лица: спокойное, с лёгкой улыбкой, с широкой улыбкой от восторга, грустное, удивлённое, растерянное, сердитое и с открытым ртом на середине слова. Выражения нужны потому, что в мультфильме герой много играет лицом.
Лист делается по изображению героя из шага 2. Промт листа один на всех героев, в нём меняется только строка Character с описанием персонажа:
Model sheet of one character from a feature-length 3D animated film: studio-grade computer animation with stylised proportions, neither photoreal nor a flat 2D cartoon. The attached picture is the only source for the character: keep the same face, hair, clothes and proportions.
One plain backdrop for the whole sheet: flat mid-grey #B8B8B8, without a gradient and without shadows on it, in soft even light.
Upper row — four full-length figures of the same character, all the same size, standing on one line and evenly spaced, from left to right: facing the camera; turned three-quarters; in profile; from the back. The pose is the same in all four: standing straight, arms down, hands open and empty, feet flat and side by side, a calm face with a closed mouth.
Lower part — eight head-and-shoulders portraits of the same character in two rows of four, all the same size, all facing the camera. In reading order: 1) calm, mouth closed; 2) a small warm smile with closed lips; 3) delight: eyes wide, a big open smile; 4) sad: inner ends of the brows raised, corners of the mouth down; 5) surprised: brows high, a small round mouth; 6) puzzled: one brow higher than the other, mouth pushed to one side; 7) cross: brows drawn down, lips pressed together; 8) speaking: mouth open in the middle of a word.
Character: <one or two sentences taken from the picture: age, build, hair, clothes from head to toe>.
Matte skin with a warm glow in the ears and fingertips, heavy matte cloth with a few big folds. No text, no numbers, no frames around the panels, nothing in the hands.
Строку с описанием пишут, глядя на готовое изображение героя, а не переписывают из его промта. Если герой вышел не совсем таким, как просили, но нравится, описывают то, что получилось.
На готовом листе первым делом смотрят профиль и вид со спины: во всех фигурах должен быть один и тот же персонаж.
Место действия — пустая игровая в детском саду. Её описывают с оглядкой на планы: в ней должно найтись место, где Митя встанет лицом к группе. Цвета спокойные, чтобы в кадре выделялись только нашивка на комбинезоне и рисунок. Никаких надписей на стенах и полках.
Горящий дом и улицу у его двери изображениями не делали, их описали словами в промте сцены.
Рисунок Мити тоже сделан отдельным изображением: в первом и последнем плане он занимает почти весь кадр. В промте описано, как рисуют дети в шесть лет: линии жирные и кривые, мелок заезжает за край фигуры, солнце втиснуто в угол.
Надписи «Я» и «МОЙ ПАПА» вписаны в промт точно так, как должны выглядеть на листе. В первом варианте слова стояли в промте в кавычках, и модель нарисовала кавычки на рисунке. Поэтому в итоговом промте прямо написано, что вокруг букв нет кавычек и других знаков.
С первого кадра должны начинаться первый и последний план: Митя поднял рисунок перед грудью. Глядя на этот кадр, видеомодель решает, где стоит камера, как далеко она от Мити и откуда падает свет.
Для него понадобились три образца: изображение Мити, комната и рисунок. В промте прямо написано, что рисунок менять нельзя.
Вместе с промтом в Seedance 2.5 загружают шесть образцов. Порядок важен: в промте у каждого свой номер, от image 1 до image 6. Сначала идёт первый кадр, за ним рисунок, потом листы Мити, папы и малыша, последней комната. Изображения героев в полный рост в видео не идут, их заменяют листы.
Видео делали горизонтальным, длиной 25 секунд, в 720p и со звуком.
Промт написан на английском, реплики в нём по-русски. Он состоит из таких частей:
Пока камера едет не останавливаясь, это один план, даже если в нём много всего происходит. Каждая реплика стоит на своей строке в фигурных скобках, перед ней написано, кто говорит. Если голос звучит за кадром, стоит пометка voiceover.
Число планов в промте названо три раза: в описании сцены, в части о камере и в запретах. В запретах же прямо написано, что вслух звучат только слова в фигурных скобках.
Так выглядит один план из промта:
SHOT 6 | 12.5–15s
A medium-close view from the side, with the camera down at THE LITTLE BOY's level, both of them in the frame. For the first time PAPA stops hurrying. He lowers himself onto one knee, and as he comes down out of the backlight his face leaves the shadow… THE LITTLE BOY takes his arms off his head, looks up, hesitates for a long moment, then reaches out and takes hold of one of his fingers.
MITYA, voiceover: {А на самом деле он добрый.}
По-русски: план с 12,5 по 15 секунду, камера сбоку на уровне малыша. Папа впервые перестаёт спешить и опускается на колено, его лицо выходит из тени. Малыш опускает руки, смотрит на него, долго не решается и берёт его за палец. За кадром Митя говорит: «А на самом деле он добрый».
А вот этот план в готовом видео:
Seedance озвучивает видео сам: в нём сразу есть голос, шаги и треск огня. С русской речью он справляется не всегда. В нашей сцене часть слов вышла неправильно, а между седьмой и девятой секундой прозвучала фраза, которой в промте не было.
Поэтому в готовом видео заменили только голос. Голос Мити сделали в ElevenLabs и озвучили им все восемь реплик. Потом ИИ-агент на компьютере отделил старый голос от огня, шагов и двери, расставил новые реплики по планам и соединил их с остальными звуками. Результат проверили на слух: в двух местах слова не попадали в губы, их поправили.
Хватило одной генерации. Одиннадцать планов вышли в порядке промта, склейки почти совпали с секундами, которые в нём стоят. Первый план начинается точно с первого кадра, последний — с похожего, только камера чуть выше и видны глаза Мити. Огонь поднимается от нижнего края кадра и уводит в горящую комнату, как и было написано.
Внешность героев модель взяла с листов: во всех планах, где виден папа, у него борода и жёлтые подтяжки, а малыш везде в той же пижаме со звёздами. Вот что для этого сделано в промтах:
В 480p секунда стоит 21,83 ₽, сцена на 25 секунд — 545,75 ₽. Мы тестов в 480p не делали, сцену сразу запускали в 720p.
Порядок такой: реплики → герои → листы персонажей → место действия и первый кадр → сцена с образцами → голос.
Для своей сцены меняют героев, предмет, который должен оставаться одинаковым (у нас это рисунок), и планы с репликами в промте сцены. Если действие идёт в другом месте, меняются ещё место действия и первый кадр.