HiAPI
Блог

Руководство по использованию

Рецепт промпта для генерации видео по ключевым кадрам в flux-3-max, готовый к копированию и вставке

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

Nov 3, 2026
Cover art of overlapping translucent glass planes casting calm bands of cool blue across a pale field, evoking keyframes flowing into motion.
Готовый к копированию и вставке рецепт генерации видео по ключевым кадрам в flux-3-max: наезд камеры на мокрую от дождя крышу с естественным лёгким дрейфом и неоновым цветовым градиентом.

Чего рабочий процесс генерации видео по ключевым кадрам ожидает от вашего промпта

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

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

У такого разделения есть практическое следствие: промпту не нужно заново описывать весь мир. Всё, что отчётливо видно на ключевых кадрах, уже задано. Промпт должен тратить слова на то, что не может выразить статичное изображение — движение, ритм, намерение камеры и любые изменения состояния между якорями (дверь открывается, субъект поворачивается, свет меняется).

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

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

Анатомия описания ключевого кадра

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

Для каждого ключевого кадра используйте следующий порядок из четырёх частей:

1. Субъект

Кто или что является фокусом и в каком состоянии. Будьте конкретны в количестве и позе: «один велосипедист, сидит прямо, руки на руле» лучше, чем «человек едет на велосипеде».

2. Сцена и окружение

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

3. Кадрирование и положение камеры

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

4. Свет и атмосфера

Время суток, направление света, погода, дымка. «Вечерний контровой свет, мягкая дымка» более практично, чем пять эмоциональных прилагательных подряд.

Несколько практических правил:

  • Сохраняйте одинаковый порядок во всех ключевых кадрах. Если ключевой кадр A начинается с субъекта, а ключевой кадр B — со света, редактирование превращается в угадывание.
  • Описывайте только видимое. Спекулятивная предыстория лишь добавляет шум, который модель не может использовать.
  • Одно предложение на часть. Если часть требует двух предложений, скорее всего, это две мысли, борющиеся за контроль.
  • Повторно используйте лексику между ключевыми кадрами. Если в A это «средний план», то и в B называйте это «средний план», а не «среднедистанционное кадрирование».

Эта структура намеренно сделана скучной. Скучная структура — именно то, что делает интересную часть — движение — отлаживаемой.

Формулировки движения камеры и движения субъекта

Формулировки камеры и движения — это место, где большинство промптов терпят неудачу, обычно из-за попытки сделать слишком много в одном предложении.

Правило: кратко, одна цель, отдельное придаточное предложение.

Хорошая формулировка движения называет только одно движение и даёт ему завершиться:

  • «Камера медленно наезжает.»
  • «Камера движется вправо, удерживая субъект в центре.»
  • «Лёгкий ручной дрейф, без зума.»
  • «Субъект поворачивается к камере и останавливается.»

Плохая формулировка движения нагромождает намерения и вынуждает модель идти на компромисс:

  • «Камера медленно наезжает, одновременно панорамируя влево и слегка наклоняясь вверх, а субъект идёт вперёд и поворачивается, при этом с тонким зумом.»

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

Несколько практических приёмов, которые окупаются:

  • Разделяйте камеру и субъект. «Камера остаётся неподвижной. Субъект идёт слева направо.» Два придаточных предложения, два владельца движения.
  • Осознанно используйте слова скорости. «Медленно», «плавно», «быстро» полезны. «Драматично» и «кинематографично» — не слова скорости, а пожелания.
  • Называйте конечное состояние, когда это важно. «Наезд, пока субъект не заполнит кадр» даёт модели цель.
  • Отрицательные формулировки слабы. Предпочитайте «неподвижная камера» вместо «без движения камеры».

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

Шаблон рецепта, готовый к копированию и вставке

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

[KEYFRAME A]
Subject: {{subject_a}}
Scene: {{scene_a}}
Framing: {{framing_a}}
Light: {{light_a}}

[KEYFRAME B]
Subject: {{subject_b}}
Scene: {{scene_b}}
Framing: {{framing_b}}
Light: {{light_b}}

[MOTION]
Camera: {{camera_move}}
Subject: {{subject_move}}
Pacing: {{pacing}}

Заполненный пример для короткого ролика в продуктовом стиле:

[KEYFRAME A]
Subject: a single ceramic mug, handle facing right, steam rising
Scene: on a wooden desk, blurred window behind
Framing: close-up, slightly above eye level, mug centered
Light: soft morning side light from the left

[KEYFRAME B]
Subject: the same ceramic mug, steam thinner, handle facing right
Scene: same wooden desk, window still blurred
Framing: close-up, slightly above eye level, mug centered
Light: slightly warmer morning light from the left

[MOTION]
Camera: slow push in
Subject: steam drifts upward and fades
Pacing: steady, unhurried

Два слота требуют особой осторожности. {{camera_move}} должен быть одним движением из вашего краткого списка. {{pacing}} задаёт энергию всего ролика — это самый дешёвый регулятор, когда результат кажется слишком быстрым или слишком медленным.

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

Варианты рецептов для разных намерений движения

Шаблон остаётся неизменным; меняется только блок движения. Ниже — три варианта, построенные на одинаковых блоках ключевых кадров, каждый нацелен на разное намерение.

Вариант 1: Раскрытие (работает камера)

[MOTION]
Camera: slow push in from medium to close-up
Subject: holds pose, breathing only
Pacing: slow, even

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

Вариант 2: Проход (работает субъект)

[MOTION]
Camera: static, locked off
Subject: walks left to right across frame, steady stride
Pacing: moderate, continuous

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

Вариант 3: Атмосфера (работает окружение)

[MOTION]
Camera: very slow lateral drift
Subject: mostly still, slight sway
Pacing: slow, ambient

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

Обратите внимание, что не меняется: описание ключевых кадров. В этом смысл структуры. Как только ваши якоря стабилизировались, переключение намерения движения — это правка двух строк, а не переписывание, что делает A/B-тестирование роликов на одной и той же сцене действительно осуществимым.

Режимы отказа и как отлаживать ролики, которые пошли не так

Когда ролик идёт не так, не спешите переписывать промпт. Отклонение — это информация. Меняйте по одной переменной за раз, перезапускайте, и только потом трогайте что-то ещё.

Ниже — распространённые режимы отказа и способы их исправления с помощью одной переменной.

Ролик кажется хаотичным или «усреднённым»

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

Субъект деформируется или теряет идентичность

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

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

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

Движение происходит слишком быстро или слишком медленно

Причина: ритм не указан или противоречив. Исправление: измените только {{pacing}}. Перезапустите. Не настраивайте придаточное предложение камеры в том же раунде.

Ролик игнорирует второй ключевой кадр

Причина: ключевой кадр B отклоняется от A одновременно по слишком многим измерениям. Исправление: сравните два описания строка за строкой и уменьшите различие в наименее важной строке. Измените одну строку, перезапустите, повторите.

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

Версионирование и обмен рецептами внутри команды

Как только рецепт работает, он перестаёт быть промптом и становится активом проекта. Относитесь к нему как к активу.

Достаточно лёгкой системы:

  • Храните рецепты в репозитории. Каталог prompts/, один файл на рецепт, рядом с кодом, который их использует. Рецепты версионируются вместе с кодом запросов.
  • Называйте по намерению, а не по сцене. reveal-product-closeup.md можно найти; prompt-final-v3-really.md — нет.
  • Разделяйте каркас и заполнение. Шаблон хранится один раз, заполненные примеры сохраняются как небольшие диффы относительно него. Так рецензенты точно видят, какие слоты изменились.
  • Записывайте, что вы изменили и что произошло. Журнал изменений из двух строк на рецепт — изменённая переменная, наблюдаемый эффект — ценнее длинного прозаического описания.
  • Рецензируйте рецепты как код. Товарищ по команде должен уметь прочитать дифф и предсказать ролик. Если не может, значит, придаточное предложение о движении делает слишком много.
  • Выводите из эксплуатации осознанно. Когда рецепт заменён, пометьте его и дайте ссылку на замену вместо удаления, чтобы старые ролики оставались воспроизводимыми.

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

Похожие статьи

Все статьи →

Начните работать с постоянными артефактами ИИ

Получите API-ключ и вызывайте модели изображений, видео и аудио через один API на основе tasks.

Читать документацию API