Самое важное из мира AI — в канале MAX AgentLabОтдельные разборы, инструменты и практические схемы Читайте Agent Lab в Telegram Разборы, кейсы и новости о практических AI-агентах без лишней воды.

Один промпт или сцены: тестируем два процесса создания AI-видео

Один промпт или сцены: тестируем два процесса создания AI-видео
Temporary fallback cover; replace in editorial pass.

· Уровень: с нуля · Чтение: до 12 минут

Зачем сравнивать

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

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

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

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

Что понадобится

Шаг 1. Зафиксируйте один бриф

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

Бриф: ролик 15–20 секунд, 16:9.
Персонаж: женщина-курьер, рыжие волосы до плеч, жёлтая куртка, синий рюкзак.
Сцена 1: она выходит из подъезда утром, камера статична.
Сцена 2: едет на велосипеде по мокрой улице, камера сопровождает сбоку.
Сцена 3: передаёт коробку у двери с табличкой «Кв. 12».
Обязательные требования: один и тот же персонаж во всех сценах,
читаемая табличка «Кв. 12», плавное движение без рывков.

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

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

Шаг 2. Подготовьте рабочую папку и журнал

Эти команды только создают файлы и ничего не удаляют:

mkdir -p ai-video-test/{one-shot,scenes,frames}
cd ai-video-test
printf 'process,scene,attempt,start,end,accepted,reason\n' > log.csv

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

echo 'one-shot,all,1,10:02,10:06,no,табличка нечитаема' >> log.csv

Регенерацией считается любой повторный запуск после первой попытки, в том числе запуск с изменённым промптом.

Шаг 3. Процесс A — один промпт

  1. Сожмите весь бриф в один промпт. Опишите персонажа, три действия по порядку, движение камеры и текст таблички.
  2. Запустите генерацию на максимальную длительность, которую даёт сервис. Если ролик получается короче брифа, так и запишите: это тоже результат.
  3. Сравните результат с критериями приёмки. Если не прошёл — поправьте промпт и перегенерируйте. Каждую попытку записывайте в журнал.
  4. Остановитесь, когда ролик прошёл приёмку или когда достигнут лимит попыток. Лимит задайте заранее, например 8. Без лимита сравнение затягивается и теряет смысл.

Сохраните итог как one-shot/final.mp4.

Шаг 4. Процесс B — сцены

  1. Опорный кадр персонажа. Сгенерируйте одно изображение героини по описанию из брифа. Оно будет ориентиром для всех сцен.
  2. Промпт на каждую сцену. Повторяйте в каждом одинаковый блок с описанием персонажа слово в слово, а меняйте только действие и камеру.
  3. Генерация по опорному кадру. Если сервис поддерживает image-to-video, подавайте опорный кадр на вход каждой сцены. Если нет — используйте только текст и отметьте это в выводах.
  4. Текст в кадре — отдельно. Если табличка не читается после 2–3 попыток, наложите её на этапе монтажа (см. команду ниже). Отметьте в журнале, что текст добавлен вручную: это честнее, чем засчитать его генерации.
  5. Приёмка по сценам. Перегенерируйте только ту сцену, которая не прошла. Лимит попыток тот же — на весь процесс, а не на каждую сцену.

Сохраните клипы как scenes/s1.mp4, scenes/s2.mp4, scenes/s3.mp4.

Склейка сцен

Сначала проверьте, что у клипов одинаковые разрешение и частота кадров:

for f in scenes/s*.mp4; do
  ffprobe -v error -select_streams v:0 \
    -show_entries stream=width,height,r_frame_rate \
    -of csv=p=0 "$f"
done

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

printf "file 's1.mp4'\nfile 's2.mp4'\nfile 's3.mp4'\n" > scenes/list.txt
ffmpeg -n -f concat -safe 0 -i scenes/list.txt -c copy scenes/final.mp4

Если параметры разные, приведите клипы к одному формату при склейке:

ffmpeg -n -f concat -safe 0 -i scenes/list.txt \
  -vf "scale=1280:720,fps=24" -c:v libx264 -crf 20 -an scenes/final.mp4

Если табличка не получилась, её можно наложить на третью сцену (нужен ffmpeg со сборкой drawtext):

ffmpeg -n -i scenes/s3.mp4 \
  -vf "drawtext=text='Кв. 12':x=820:y=240:fontsize=48:fontcolor=white:box=1:boxcolor=black@0.6" \
  -c:a copy scenes/s3_text.mp4

Координаты в примере условные — подберите их под свой кадр.

Шаг 5. Проверка результата

Длительность

ffprobe -v error -show_entries format=duration -of csv=p=0 one-shot/final.mp4
ffprobe -v error -show_entries format=duration -of csv=p=0 scenes/final.mp4

Визуальная стабильность

Вытащите по кадру в секунду из каждого ролика и сравните их глазами в виде сетки. Так легче заметить, как «плывёт» лицо или одежда:

ffmpeg -n -i one-shot/final.mp4 -vf "fps=1,scale=320:-1,tile=5x4" -frames:v 1 frames/one-shot.png
ffmpeg -n -i scenes/final.mp4   -vf "fps=1,scale=320:-1,tile=5x4" -frames:v 1 frames/scenes.png

Оцените каждый ролик по шкале 1–5 по трём осям: персонаж, текст, движение. Лучше всего, если оценку ставит второй человек, который не знает, каким процессом сделан ролик (слепая оценка). Так меньше риск подогнать результат под ожидания.

Удобство правок

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

Сводная таблица

Подсчитайте регенерации и время прямо из журнала:

awk -F, 'NR>1 {n[$1]++} END {for (p in n) print p, "попыток:", n[p]}' log.csv

Заполните шаблон своими числами:

Метрика Один промпт Сцены
Регенераций до приёмки……
Время до приёмки, мин……
Стабильность персонажа, 1–5……
Читаемость текста, 1–5……
Плавность движения, 1–5……
Контрольная правка: время / попытки……
Ручные вмешательства (текст, монтаж)……

Типовые ошибки

Ограничения метода

Что дальше

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