Введение
Wan 2.2 LoRA Продление видео продолжает клип, который у вас уже есть. Передайте его в video_url вместе с описанием того, что происходит дальше. Последний кадр клипа становится начальным кадром нового плана Wan 2.2 LoRA из изображения в видео длиной ровно 5 или 8 секунд, и обе части склеиваются в один MP4: сначала ваш оригинал, затем продолжение, без повторного кадра на стыке. Новый фрагмент также приходит отдельным файлом, чтобы продолжать дальше или монтировать части по отдельности.
Ключевые возможности и особенности
Непрерывность берётся из последнего кадра. Костюмы, декорации, свет и положение каждого в кадре сохраняются, потому что новый фрагмент буквально начинается с вашего последнего кадра. Движение так не передаётся: модель видит один неподвижный кадр, а не весь клип, поэтому опишите движение, которое должно продолжиться, вместо того чтобы рассчитывать на сохранение скорости и направления.
В ответ один файл и отдельно новый кусок. Склеенный MP4 сохраняет частоту кадров и кадрирование вашего клипа, без чёрных полос. Чтобы выровнять стык, изображение по краям может быть обрезано или слегка скорректировано на несколько процентов. Если модель вернёт заметно другие пропорции, новый фрагмент масштабируется так, чтобы заполнить ваш кадр, выравнивается по центру, а всё, что выходит за края, обрезается. Файл кодируется как MP4 H.264. Wan 2.2 LoRA создаёт видео без звука: звук оригинала играет до стыка и плавно затихает, а новый фрагмент беззвучный. Второй ассет в выводе — только новый фрагмент, готовый к следующему продлению или монтажу.
Ваши LoRA переносятся. Три слота LoRA работают так же, как в эндпоинте из изображения в видео: каждая запись — прямая ссылка на файл весов и сила от 0 до 4. Подключите те же файлы, что и в клипе, и новый фрагмент сохранит его стиль; загрузка LoRA не стоит ничего дополнительно.
Всё остальное — это Wan 2.2 LoRA из изображения в видео. Новый фрагмент создаётся на том же движке, с тем же допустимым содержанием и той же ценой за секунду, что и эндпоинт из изображения в видео, а неудачная генерация возвращается так же. Если генерация удалась, но склейка не собралась, задача завершается ошибкой и деньги возвращаются.
Параметры запроса
| Параметр | Обязательно | Описание |
|---|---|---|
prompt | Да | Обязательное поле. Что происходит дальше: следующее действие и движение камеры. Не менее 1 символов |
video_url | Да | Клип, который нужно продолжить: MP4, MOV или WebM, до 60 секунд. Его последний кадр становится начальным кадром нового фрагмента, поэтому обрежьте клип на чистом, резком кадре. Не менее 1 символов |
resolution | Нет | Разрешение, в котором создаётся новый фрагмент: 480p или 720p, по умолчанию 480p. Выбирайте разрешение оригинала, чтобы на стыке не было заметного скачка чёткости. |
duration_seconds | Нет | Длина нового фрагмента: ровно 5 или 8 секунд, по умолчанию 5. Любое другое значение отклоняется, а не округляется. |
loras | Нет | До трёх LoRA, применяемых к обоим шумовым экспертам. В каждой записи прямая ссылка на веса и сила; берите этот слот, когда стиль должен касаться и композиции, и фактуры. По умолчанию: |
high_noise_loras | Нет | До трёх LoRA на эксперте высокого шума — проходе, где решаются композиция и движение. Правильный слот для стиля камеры или движения. По умолчанию: |
low_noise_loras | Нет | До трёх LoRA на эксперте низкого шума — проходе, где проявляются детали и фактура. Правильный слот для штриховой графики, зерна или манеры рендера. По умолчанию: |
seed | Нет | От 0 до 2147483647. Держите его фиксированным, пока перебираете силу LoRA, иначе силу от шума не отличить. |
Стоимость
Оплачивается каждая секунда нового фрагмента в выбранном разрешении; отправленный исходный клип не оплачивается. Загрузка LoRA не стоит ничего дополнительно.
| Спецификация | Стоимость |
|---|---|
| $0.024 / секунду |
| $0.048 / секунду |
Сценарии использования
Удлините план, который закончился слишком рано: вращающийся стол с товаром, который останавливается, прежде чем этикетка повернётся к камере, или проход, оборванный до того, как человек дойдёт до двери. Продлите на несколько секунд и опишите только оставшееся движение.
Собирайте длинную последовательность шаг за шагом. Сгенерируйте первый план, продлите его, затем снова продлите склеенный результат; каждый шаг оплачивается только за добавленные секунды. Поскольку каждый шаг начинается с одного кадра, проверяйте стык перед тем, как добавлять следующий.
Руководство по промптам и практические советы
Описывайте следующий момент, а не всю сцену. Кадр уже определяет, кто и где находится; тратьте описание на следующее действие и движение камеры. Повторите операторский приём, которым закончился клип, например медленный наезд или статичный кадр, чтобы стык читался как один дубль.
Обрежьте клип перед продлением. Последний кадр — единственное, что видит модель, поэтому размытая, оборванная на полудвижении или сильно сжатая концовка переходит прямо в продолжение. Сначала обрежьте оригинал на чистом, резком кадре. Принимаются оригиналы до 60 секунд в MP4, MOV или WebM.
Сохраняйте согласованное разрешение. Продление клипа 720p в 480p делает новую часть мягче на вид рядом с оригиналом. Подберите разрешение по оригиналу и выбирайте 5 или 8 секунд по необходимости: оплата идёт только за новый фрагмент.
Держите стиль стабильным: подключите те же LoRA с теми же значениями силы, что и в клипе. LoRA, которая есть только в новом фрагменте, проявится заметной переменой на стыке.
Быстрый старт 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-2.2-lora/video-extend",
"input": {
"duration_seconds": 5,
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"resolution": "480p",
"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.





















