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

Зачем сравнивать
Самый быстрый способ получить AI-ролик — описать его целиком в одном промпте и нажать «Сгенерировать». Проблемы начинаются, когда результат нужно исправить. Персонаж меняет лицо между кадрами, надпись на вывеске превращается в набор символов, камера дёргается. Чтобы исправить одну деталь, приходится перегенерировать весь ролик, и вместе с ошибкой пропадает то, что уже получилось.
Другой вариант — сценовый процесс. Бриф разбивается на короткие сцены, у каждой свой промпт и опорный кадр, а потом клипы склеиваются в монтажной программе. Шагов больше, зато исправлять можно по одной сцене.
Что лучше, по чужому мнению не решить: всё зависит от вашего генератора, длины ролика и требований к нему. Поэтому здесь нет готового вердикта. Вместо него — воспроизводимый протокол. По нему вы сделаете два ролика по одному брифу и заполните таблицу из четырёх метрик: число регенераций, время, визуальная стабильность и удобство правок.
Важно: все цифры и названия файлов ниже — примеры формата. Это не результаты наших замеров. Свои числа вы получите сами, пройдя шаги.
Что понадобится
- Доступ к любому генератору видео, который умеет text-to-video и, желательно, image-to-video (видео по опорному кадру). Конкретный сервис не важен, но в обоих процессах он должен быть один и тот же.
- Генератор изображений для опорных кадров. Можно использовать тот же сервис, если он это умеет.
ffmpegиffprobeдля склейки и проверки клипов.- Таймер и простой CSV-журнал.
Шаг 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 — один промпт
- Сожмите весь бриф в один промпт. Опишите персонажа, три действия по порядку, движение камеры и текст таблички.
- Запустите генерацию на максимальную длительность, которую даёт сервис. Если ролик получается короче брифа, так и запишите: это тоже результат.
- Сравните результат с критериями приёмки. Если не прошёл — поправьте промпт и перегенерируйте. Каждую попытку записывайте в журнал.
- Остановитесь, когда ролик прошёл приёмку или когда достигнут лимит попыток. Лимит задайте заранее, например 8. Без лимита сравнение затягивается и теряет смысл.
Сохраните итог как one-shot/final.mp4.
Шаг 4. Процесс B — сцены
- Опорный кадр персонажа. Сгенерируйте одно изображение героини по описанию из брифа. Оно будет ориентиром для всех сцен.
- Промпт на каждую сцену. Повторяйте в каждом одинаковый блок с описанием персонажа слово в слово, а меняйте только действие и камеру.
- Генерация по опорному кадру. Если сервис поддерживает image-to-video, подавайте опорный кадр на вход каждой сцены. Если нет — используйте только текст и отметьте это в выводах.
- Текст в кадре — отдельно. Если табличка не читается после 2–3 попыток, наложите её на этапе монтажа (см. команду ниже). Отметьте в журнале, что текст добавлен вручную: это честнее, чем засчитать его генерации.
- Приёмка по сценам. Перегенерируйте только ту сцену, которая не прошла. Лимит попыток тот же — на весь процесс, а не на каждую сцену.
Сохраните клипы как 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 | … | … |
| Контрольная правка: время / попытки | … | … |
| Ручные вмешательства (текст, монтаж) | … | … |
Типовые ошибки
- Разные брифы. Если бриф правится по ходу работы над одним из процессов, сравнение теряет смысл. Бриф фиксируется до старта.
- Разные модели или настройки. Другая версия модели, разрешение или длительность меняют результат сильнее, чем сам процесс.
- Учёт только «чистого» времени генерации. Очередь, написание промптов и монтаж — тоже часть стоимости процесса.
- Плавающий блок описания персонажа. Если в сценах он сформулирован по-разному, нестабильность персонажа гарантирована.
- Невидимая ручная работа. Наложенный в монтаже текст нужно отмечать. Иначе сценовый процесс выглядит лучше, чем есть на самом деле.
- Склейка с
-c copyпри разных параметрах клипов. Получится битый файл или рассинхрон. Сначала проверьте параметры черезffprobe. - Вывод по одному прогону. Генерация стохастична. Если есть возможность, повторите тест 2–3 раза или хотя бы на двух разных брифах.
Ограничения метода
- Результаты зависят от конкретного генератора и его версии. Они не переносятся автоматически на другие сервисы.
- Оценка стабильности по шкале 1–5 субъективна. Слепая оценка двумя людьми снижает погрешность, но не убирает её.
- Для очень коротких роликов с одной сценой разбивка на сцены может не дать выигрыша. Протокол рассчитан на ролики с несколькими действиями.
- Стоимость генераций здесь не сравнивается: тарифы у сервисов разные и часто меняются. Если она важна, добавьте в журнал столбец с расходом кредитов.
- Склейка сцен может дать заметные стыки: свет и цвет меняются между клипами. Это отдельная работа по цветокоррекции, и в тест она не входит.
Что дальше
Когда таблица заполнена, станет видно, где каждый процесс выигрывает именно у вас. Возможно, один промпт подходит для черновика или аниматика, а сцены — для финальной версии с правками от заказчика. Это гипотеза для проверки, а не вывод. Другие практические сценарии собраны в разделе Гайды, а термины из статьи объяснены в Глоссарии.