Перейти к основному контенту

Из одного портрета — два кинематографичных видеошота

Из одного утверждённого портрета — два пригодных видеошота: выбор модели, промпты для наезда и бокового движения камеры, дрейф лица и повторы.

Автор
Lydia
Опубликовано
Время чтения
9 мин чтения
Обновлено
Взрослый оператор снимает вымышленную женщину в тёмной куртке у двери на террасу в сумерках

Сделайте два шота из одного утверждённого портрета: тихий медленный наезд, затем медленное боковое движение камеры, показывающее окружение. Запускайте оба на MiniMax H3 изображение в видео в 768p, пять секунд, $0.185 за клип. Переходите на Seedance 2.5, если нужно отключить саундтрек или сделать ролик длиннее, а на LTX 2.5 — если сдача нужна в 4K. Каждому шоту достаётся одно сдержанное действие, одно сдержанное движение камеры и список того, что меняться не должно.

Выберите маршрут

ЗадачаМаршрутСтартовые настройкиПять секунд
Самый дешёвый рабочий черновикMiniMax H3resolution: "768p"; 4–15 с$0.185
Саундтрек, который можно выключить, или клипы до 30 сSeedance 2.5resolution: "720p", generate_audio: false; 4–30 с$1.3865
Сдача в 4K до 20 сLTX 2.5resolution: "4k"; 5–20 с$1.50

Все цены указаны за пятисекундный клип. LTX в 720p стоит $0.45, поэтому платите за 4K только тогда, когда он нужен для сдачи. Seedance стоит одинаково при включённом и выключенном звуке.

Три вещи, которых нет в таблице:

  • Звук. H3 и LTX всегда возвращают сгенерированный саундтрек, и у них нет поля, чтобы его выключить. Seedance — единственный маршрут с переключателем generate_audio.
  • Форма кадра. Ни одна из трёх не даёт выбрать соотношение сторон для изображения в видео. Выход повторяет форму исходного изображения, поэтому обрежьте или расширьте портрет под нужный формат до загрузки.
  • Проекты для взрослых. Все три принимают вымышленный исходник со взрослыми людьми. Проверка входных данных Seedance может отклонить фотографии реальных узнаваемых людей (списания не происходит), поэтому используйте там вымышленные или разрешённые исходники. Для более серьёзных взрослых задач есть отдельные маршруты MiniMax H3 Spicy и Seedance 2.5 Spicy.

Подберите исходник, оставляющий простор для движения

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

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

Размытость, задвоившиеся украшения или рука, слипшаяся с перилами на стоп-кадре, в движении станут только хуже. Сначала исправьте стоп-кадр. Держите руки вне действия: в этом исходнике они в карманах, а значит, им не нужно двигаться вовсе.

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

Шот первый: тихий наезд

Для настоящего крупного плана обрежьте до загрузки версию того же утверждённого стоп-кадра по грудь под ваш формат сдачи; сам по себе наезд лишь немного ужимает кадр от талии вверх. Описывайте только движение; стоп-кадр уже задаёт, кто и где находится. Каждый промпт называет одно действие персонажа, одно движение камеры, что остаётся неизменным и что нужно исключить. Используйте этот промпт в MiniMax H3 с утверждённым стоп-кадром:

A restrained cinematic portrait of the adult woman in the supplied image. She remains in place, breathes naturally and blinks slowly, then makes one small eye movement toward the open space on screen right, followed by a subtle closed-mouth smile. Very slow camera push-in. Preserve her face, black blazer, hairstyle and the warm terrace light. No head turn, no walking, no new objects or text. No speech.

Попробуйте в Playground

  1. Откройте MiniMax H3 изображение в видео с уже подставленным промптом (или откройте страницу и вставьте промпт в поле Prompt). Оставайтесь на вкладке Playground, в режиме Form, и войдите с пополненным балансом, чтобы запустить генерацию.
  2. Добавьте утверждённый стоп-кадр в поле Input image.
  3. Установите Resolution на 768p, а Duration на 5.
  4. Запустите, затем повторите с промптом второго шота на том же стоп-кадре.

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

Шот второй: медленное скольжение, раскрывающее окружение

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

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

Используйте тот же исходник и те же настройки:

A medium portrait of the adult woman from the supplied image on the same dusk terrace. The camera slides slowly and steadily a short distance to the right along the railing, revealing more of the lit city on screen right. She stays in frame, holds her pose and shifts her gaze slightly toward the city lights. Keep her face, black blazer and hairstyle unchanged, and the warm light constant. No orbit, no walking, no speech, no text.

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

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

Вызовите это из кода

Установите Python SDK (pip install spicyapi), задайте SPICY_API_KEY и запустите первый шот из утверждённого стоп-кадра. Это стоит $0.185:

python
import uuid

from spicyapi import SpicyClient, output_assets

client = SpicyClient()
still = client.upload_file("./approved-still.png")  # local file -> spicy:// address
task = client.create_task(
    model="minimax/h3/image-to-video",
    input_data={
        "image_url": still["uri"],
        "prompt": (
            "A restrained cinematic portrait of the adult woman in the supplied image. "
            "She remains in place, breathes naturally and blinks slowly, then makes one small "
            "eye movement toward the open space on screen right, followed by a subtle "
            "closed-mouth smile. Very slow camera push-in. Preserve her face, black blazer, "
            "hairstyle and the warm terrace light. No head turn, no walking, no new objects "
            "or text. No speech."
        ),
        "resolution": "768p",
        "duration_seconds": 5,
    },
    idempotency_key=str(uuid.uuid4()),  # new key per new request; reuse only to retry the same one
)
final = client.wait_for_terminal(task["taskId"])
print(output_assets(final)[0]["url"])

Для второго шота подставьте промпт скольжения. Загрузка, ожидание и ошибки: справочник по Python SDK.

Или пусть запустит агент

Когда клипы должен создать ассистент, официальные инструменты показывают цену и спрашивают перед платным вызовом.

  • CLI. spicyapi files upload ./approved-still.png, затем spicyapi tasks create --model minimax/h3/image-to-video --input-file input.json --wait с возвращённым адресом spicy:// как image_url в input.json. npx @spicyapi/cli работает без установки; см. документацию CLI.
  • MCP-сервер. Добавьте MCP-сервер и попросите наезд на своём стоп-кадре. Ассистент загружает файл через spicyapi_upload_file, вызывает spicyapi_task_create (он остановится для подтверждения цены), затем spicyapi_task_wait.
  • Skill. npx skills add spicyapi-ai/spicy-skill устанавливает Agent Skill, чтобы ассистент для кода читал актуальную схему модели, а не угадывал поля.

Склейте два клипа

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

Оставьте один саундтрек. Если вы работали с H3 или LTX, заглушите собственный звук клипов и подложите под него одну музыкальную подложку или атмосферу. В Seedance отключите сгенерированный звук и сделайте то же самое. Если нужна атмосфера отдельно для каждого шота, возьмите Seedance со включённым сгенерированным звуком и строкой вроде «quiet distant street ambience, no speech».

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

Чините только то, что сломалось

Что видноЧто делать дальше
Глаза или челюсть меняются во время наездаВернитесь к исходному стоп-кадру; замените наезд зафиксированной камерой и одним морганием.
В улыбке проступают нестабильные зубыПопросите сдержанную улыбку с закрытым ртом и уберите речь.
Волосы ползут по щекеУберите ветер и движение головы; оставьте только дыхание.
Лицо уходит из кадраДобавьте места в исходнике до генерации; у модели нет поля соотношения сторон, чтобы это исправить.
Перила или вывески гнутся во время скольженияЗамедлите и укоротите движение либо вырежьте вывеску из исходника; надписи сохраняются ненадёжно.
Два клипа отличаются по свету или цветуСгенерируйте заново более слабый из того же стоп-кадра; не подставляйте новый исходник.
Одна секунда отличная, остальное плывётОбрежьте вокруг стабильного отрезка и используйте его как короткую вставку.

Четыре черновика H3 по пять секунд стоят $0.74, значит два шота по четыре черновика — $1.48. Стабильные две секунды из одного черновика уже могут пойти в склейку. На Seedance 2.5 и LTX 2.5 зафиксируйте seed и меняйте только промпт, чтобы видеть, что именно изменила правка; это не гарантирует идентичный клип. В H3 настройки seed нет: сохраните удавшийся промпт как есть и запустите генерацию заново.

Другие языки English · 日本語 · 한국어 · Deutsch · Français · Español · Português (Brasil) · Italiano · Polski