Введение
Wan 3.0 Prime Продление видео продолжает клип, который у вас уже есть. Передайте его в video_url; описание того, что происходит дальше, направит продолжение, а без него модель сама продолжит сцену. Последний кадр клипа становится начальным кадром нового плана Wan 3.0 Prime из изображения в видео длиной от 2 до 30 секунд, и обе части склеиваются в один MP4: сначала ваш оригинал, затем продолжение, без повторного кадра на стыке. Новый фрагмент также приходит отдельным файлом, чтобы продолжать дальше или монтировать части по отдельности.
Ключевые возможности и особенности
Непрерывность берётся из последнего кадра. Костюмы, декорации, свет и положение каждого в кадре сохраняются, потому что новый фрагмент буквально начинается с вашего последнего кадра. Движение так не передаётся: модель видит один неподвижный кадр, а не весь клип, поэтому опишите движение, которое должно продолжиться, вместо того чтобы рассчитывать на сохранение скорости и направления.
При желании можно выбрать, чем закончится фрагмент. Передайте last_image_url, и новый фрагмент закончится ровно на этом изображении, так что план может вернуться в главный ракурс или прийти к заданной композиции. Без него концовку выбирает модель. Начало всегда берётся с последнего кадра вашего клипа.
В ответ один файл и отдельно новый кусок. Склеенный MP4 сохраняет частоту кадров и кадрирование вашего клипа, без чёрных полос. Чтобы выровнять стык, изображение по краям может быть обрезано или слегка скорректировано на несколько процентов. Если модель вернёт заметно другие пропорции, новый фрагмент масштабируется так, чтобы заполнить ваш кадр, выравнивается по центру, а всё, что выходит за края, обрезается. Файл кодируется в H.264 со звуком AAC. Звук вашего оригинала сохраняется, сгенерированный для нового фрагмента звук идёт следом, а беззвучная сторона заполняется тишиной, чтобы изображение и звук совпадали на стыке. Второй ассет в выводе — только новый фрагмент, готовый к следующему продлению или монтажу.
Всё остальное — это Wan 3.0 Prime из изображения в видео. Новый фрагмент идёт по тем же маршрутам, с тем же допустимым содержанием и той же ценой за секунду, что и эндпоинт из изображения в видео, а неудачная генерация возвращается так же. Если генерация удалась, но склейка не собралась, задача завершается ошибкой и деньги возвращаются.
Параметры запроса
| Параметр | Обязательно | Описание |
|---|---|---|
prompt | Нет | Необязательно. Если оставить пустым, модель сама продолжит сцену с последнего кадра. Не менее 1 символов |
video_url | Да | Клип для продолжения: MP4, MOV или WebM, до 60 секунд. Его последний кадр становится начальным кадром нового фрагмента, поэтому обрежьте его на чистом, резком кадре. Не менее 1 символов |
last_image_url | Нет | Необязательный конечный кадр (URL изображения): новый фрагмент заканчивается ровно на этом изображении, оно используется как последний кадр, а не как смутная подсказка. |
enable_thinking | Нет | Заставляет модель продумать задание и референсы до генерации. Помогает с объёмными документами, веб-страницами и сложными референсными изображениями, но генерация идёт дольше. По умолчанию: |
resolution | Нет | Разрешение, в котором создаётся новый фрагмент: 480p, 720p или 1080p, по умолчанию 720p. Выбирайте разрешение оригинала, чтобы на стыке не было заметного скачка чёткости. |
duration_seconds | Нет | Длина нового фрагмента: любое целое число от 2 до 30 или -1, чтобы выбрала модель; тогда заранее резервируется 30 секунд, а оплата пересчитывается по фактической длине. |
generate_audio | Нет | По умолчанию включено: новый фрагмент получает сгенерированный звук. Оригинал в любом случае сохраняет свой звук; если одна сторона беззвучна, склеенный файл заполняется тишиной. По умолчанию: |
enable_prompt_expansion | Нет | По умолчанию выключено. Во включённом виде описание переписывается перед генерацией: тонкому брифу это помогает, подробному — мешает. По умолчанию: |
seed | Нет | От 0 до 2147483647. Держите его неизменным, чтобы сравнивать по одному изменённому полю; уберите — получите разнообразие. |
Стоимость
Оплачивается каждая секунда нового фрагмента в выбранном разрешении; отправленный исходный клип не оплачивается.
| Спецификация | Стоимость |
|---|---|
| $0.0612 / секунду |
| $0.126 / секунду |
| $0.252 / секунду |
Сценарии использования
Удлините план, который закончился слишком рано: вращающийся стол с товаром, который останавливается, прежде чем этикетка повернётся к камере, или проход, оборванный до того, как человек дойдёт до двери. Продлите на несколько секунд и опишите только оставшееся движение.
Собирайте длинную последовательность шаг за шагом. Сгенерируйте первый план, продлите его, затем снова продлите склеенный результат; каждый шаг оплачивается только за добавленные секунды. Поскольку каждый шаг начинается с одного кадра, проверяйте стык перед тем, как добавлять следующий.
Руководство по промптам и практические советы
Описывайте следующий момент, а не всю сцену. Кадр уже определяет, кто и где находится; тратьте описание на следующее действие, движение камеры и звук. Повторите операторский приём, которым закончился клип, например медленный наезд или статичный план, чтобы стык выглядел как один дубль. Описание необязательно; без него модель просто продолжает с кадра, и этого хватает для атмосферных или слабо срежиссированных планов.
Обрежьте клип перед продлением. Последний кадр — единственное, что видит модель, поэтому размытый, оборванный посреди движения или сильно сжатый финал переходит прямо в продолжение. Сначала обрежьте оригинал на чистом, резком кадре. Принимаются оригиналы до 60 секунд в MP4, MOV или WebM.
Сохраняйте разрешение. Разрешение лишь определяет, насколько чётко создаётся новый фрагмент. Выбирайте разрешение оригинала, чтобы на стыке не было заметного скачка чёткости, и задавайте в duration_seconds ту длину, которая действительно нужна: оплата идёт только за новый фрагмент.
Быстрый старт API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "alibaba/wan-3.0-prime/video-extend",
"input": {
"duration_seconds": 5,
"resolution": "720p",
"video_url": "https://example.com/reference.mp4"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Аутентификация, полная схема, опрос статуса и обработка ошибок описаны в справочнике API.





















