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

Что такое нода на самом деле

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

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

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

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

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

В моём пайплайне это выглядит буквально так же, как две станции с гарниром и соусом. Основной ролик и заставка с логотипом собираются в двух отдельных ветках графа, у каждой свой набор узлов, и ветки не пересекаются, пока не доходят до общей точки. Только в конце нода Video Merge принимает на вход два готовых видео с разных веток и объединяет их в один выходной файл - это точка слияния двух параллельных путей в графе. Цепочку собираешь один раз, а дальше меняешь только исходные файлы в первых узлах - остальной граф не меняется, потому что каждый узел реагирует только на то, что получает на вход, а не на то, что было раньше.

Сценарий ролика

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

Шаг 1. Исходные данные

Для этого видео я использовала три уже заготовленных изображения:

Результат, который хочу получить:

Скриншот для второй сцены:

 И скриншот для третьей сцены:

Шаг 2. Размещаю ноды на канвасе

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

Шаг 3. Добавляю надпись на результат

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

 И пишу ей промт:

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

Добавь крупную читаемую надпись в верхней части кадра:

"Хочешь сделать такой эффект за 1 минуту?"

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

В правом нижнем углу добавь небольшую подпись:

"sovetnik"

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

Использую GPT Image, потому что модель хорошо работает с русскими шрифтами, и ставлю соотношение 9:16, чтобы сделать контент под мобильное устройство. Результат готов. Шрифт показался слишком крупным, пришлось перегенерировать ещё раз.

Шаг 4. Работаю над скриншотами

Теперь поработаю над скриншотами. Для этого создаю новую текстовую ноду и вставляю промт для нанесения надписи.

Текстовая нода:

Промт:

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

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

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

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

Сверху добавь крупную читаемую надпись строго на русском языке:

"Просто замени картинку и запусти генерацию"

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

"Ссылка на шаблон в подписи"

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

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

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

Шаг 5. Генерирую по первому скриншоту

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

Шаг 6. Аналогично со вторым скриншотом

Делаю то же самое со вторым скриншотом. Промт:

Создай следующий кадр для Instagram*-карусели на основе приложенного изображения.

Формат кадра строго вертикальный 9:16. Кадр должен выглядеть как продолжение предыдущего слайда карусели: единый визуальный стиль, похожий фон, аккуратная композиция, современный дизайн, чистая подача.

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

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

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

"Или скопируй промт, если хочешь что-то скорректировать"

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

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

Шаг 7. Делаю видео из трёх кадров

Теперь делаю видео из этих трёх кадров. Использую Seedance - мне важно качество, и мне нравится результат, который она даёт. Можно использовать и другие модели, но я их не тестировал. Возможно, сделаю отдельную статью по тестированию разных моделей. Я попросила ChatGPT сделать промт универсальным:

Create a fast-paced Instagram Reel from 3 reference images, vertical 9:16, total duration 8-10 seconds.

Use the reference images in this exact order:

Image 1: final result preview - the striking orange poster with the glitch portrait effect.

Image 2: tutorial step - the interface showing how to use templates.

Image 3: tutorial step - the interface showing where to copy or edit the prompt.

Overall style:

modern AI tutorial Reel, fast social media pacing, clean tech aesthetic, sharp motion graphics, smooth zooms, energetic transitions, premium creator-tool presentation.

Shot 1, 0:00-2:5:

Show Image 1 as the opening hook. Start with a quick punch-in zoom on the orange poster. Add a subtle digital glitch pulse around the distorted portrait effect. Keep the image readable and centered. Camera movement: fast zoom-in, then slight handheld-style micro movement.

Transition to next image: horizontal glitch swipe with pixel streaks moving from left to right, matching the glitch effect from Image 1.

Shot 2, 2:5-5:5:

Show Image 2 as the "how to do it with templates" step. The phone interface appears with a smooth scale-up from the center. Add a quick highlight pulse around the template area and the generation button. Camera movement: gentle push-in with slight parallax. Keep all interface text clear and readable.

Transition to next image: fast UI-card flip transition, with motion blur and a short digital whoosh.

Shot 3, 5:5-8:5:

Show Image 3 as the "copy or edit the prompt" step. Start slightly zoomed out, then push in toward the prompt field. Add a soft glowing outline around the prompt box, as if showing where the user should edit the prompt. Keep the screenshot sharp and readable.

Transition / ending: quick zoom-out to show the whole interface, then freeze for a clean final frame.

Motion and transition notes:

Use modern quick Instagram-style transitions: glitch swipe, pixel stretch, UI card flip, motion blur, snap zoom, subtle parallax. Transitions should be fast but not chaotic. Each image should remain readable for at least 2 seconds.

Visual notes:

preserve original images, preserve text readability, no distortion of screenshots, no invented UI elements, no extra people, no fake buttons, no added logos, no subtitles unless already present in the images.

Audio style:

short digital whooshes on transitions, subtle click sounds on UI highlights, energetic modern tech tutorial rhythm.

Negative prompt:

do not change the text inside the images, do not replace the screenshots, do not blur the interface, do not add new captions, do not add watermarks, do not crop important UI elements, do not morph the person, do not create random extra frames, do not make transitions too long.

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

Шаг 8. Параллельно занимаюсь заставкой

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

Вот ноды:

 Вот промт:

Create a short vertical Instagram Reel, 3-4 seconds, 9:16, using the provided SOVETNIK logo as the main reference.

Scene style:

dark premium tech background, deep black / dark navy gradient, bright purple glow, modern AI brand identity, clean minimal composition, high contrast, sharp details, futuristic motion graphics.

Animation:

0:00-0:08 - dark background with subtle floating particles and soft purple light leaks.

0:08-1:20 - the purple icon logo appears first in the center with a fast neon pulse, slight scale-up, glow burst, and smooth settle animation.

1:20-3:20 - the word "SOVETNIK" types in letter by letter from left to right next to the icon: S, O, V, E, T, N, I, K. Each letter appears with a clean digital typing effect, tiny white flash, subtle motion blur, and soft glow.

3:20-4:00 - final logo lockup holds on screen: purple icon + white SOVETNIK text, centered, crisp, bright, premium.

Camera and motion:

smooth micro zoom-in during the whole video, subtle parallax background movement, quick modern UI-style animation, no camera shake, no chaotic motion.

Visual effects:

neon purple pulse, soft bloom, small digital particles, elegant glitch spark on the first logo appearance, clean typing cursor effect during the text reveal, bright but not overexposed.

Important:

preserve the exact logo shape, preserve the exact word "SOVETNIK", use clean uppercase letters, do not change the brand name, do not invent extra symbols, do not distort the logo, do not add subtitles, do not add watermarks, do not add other text.

Negative prompt:

wrong letters, misspelled brand name, distorted typography, warped logo, unreadable text, extra words, random symbols, low resolution, blurry logo, flickering text, noisy background, excessive glitch, overexposed glow, logo morphing, unstable animation.

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

Шаг 9. Объединяю ролики

Встает задача объединить два ролика. Обычно для этого используют видеоредакторы, но в этом сервисе есть нода "Video Merge", которая умеет склеивать видео. Беру её и в качестве исходных видео даю соответствующие ноды.

Шаг 10. Тестирую на новых исходниках

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

Почем это удовольствие

Генерация GPT Image мне обходится примерно в 9 рублей: тут 1 кредит равен 1 рублю, что удобно. Моё видео 480p - 120 рублей за 8 секунд. Для тестирования достаточно, для рабочего контента буду ставить 720p. Если делать 1080p, будет дороже - 600 рублей за 8 секунд. Много это или мало, решать вам.

Для сравнения. По данным агентства INGATE, заказ одного Reels или клипа для ВКонтакте у подрядчика стоит от 5 000 до 20 000 рублей. Даже с учётом времени на настройку пайплайна и нескольких перегенераций разница на порядок.

*Meta, которая владеет Instagram и Facebook, признана в России экстремистской и запрещена.