Введение
Seedance 2.0 Продление видео продолжает клип, который у вас уже есть. Передайте его в video_url и, если хотите направить продолжение, добавьте промпт с описанием того, что происходит дальше. Последний кадр клипа становится начальным кадром нового плана Seedance 2.0 из изображения в видео длиной от 4 до 15 секунд, и обе части склеиваются в один MP4: сначала ваш оригинал, затем продолжение, без повторного кадра на стыке. Новый фрагмент также приходит отдельным файлом, чтобы продолжать дальше или монтировать части по отдельности.
Ключевые возможности и особенности
Непрерывность берётся из последнего кадра. Костюмы, декорации, свет и положение каждого в кадре сохраняются, потому что новый фрагмент буквально начинается с вашего последнего кадра. Движение так не передаётся: модель видит один неподвижный кадр, а не весь клип, поэтому опишите движение, которое должно продолжиться, вместо того чтобы рассчитывать на сохранение скорости и направления.
Вы выбираете концовку. last_image_url необязателен: если передать его, новый фрагмент завершится на этом изображении, если нет, решает модель. Промпт тоже необязателен, так что продление в один клик работает без единого слова.
В ответ один файл и отдельно новый кусок. Первый ассет в выводе — склеенный клип (роль video), второй — только новый фрагмент (роль segment), готовый к следующему продлению или монтажу. Звук вашего оригинала сохраняется, сгенерированный для нового фрагмента звук идёт следом, а беззвучная сторона заполняется тишиной, чтобы изображение и звук совпадали на стыке.
Всё остальное — это Seedance 2.0 из изображения в видео. Новый фрагмент идёт по тем же маршрутам, с тем же допустимым содержанием и теми же ценами за секунду по разрешению и настройке звука, что и эндпоинт из изображения в видео, а неудачная генерация возвращается так же. Если генерация удалась, но склейка не собралась, задача завершается ошибкой и деньги возвращаются.
Параметры запроса
| Параметр | Обязательно | Описание |
|---|---|---|
prompt | Нет | Необязательно, но писать стоит: что происходит дальше, то есть следующее действие, движение камеры и звук. |
video_url | Да | Клип для продолжения: MP4, MOV или WebM, до 60 секунд. Его последний кадр становится начальным кадром нового фрагмента, поэтому обрежьте его на чистом, резком кадре. Не менее 1 символов |
last_image_url | Нет | Необязательный финальный кадр: новый фрагмент завершается на этом изображении, так вы задаёте, где приземлится план, например переход, пара «до и после» или устоявшаяся поза. |
resolution | Нет | Разрешение нового фрагмента: 480p, 720p, 1080p или 4k, по умолчанию 720p. От него зависит цена. |
duration_seconds | Нет | Длина нового фрагмента в целых секундах, от 4 до 15; по умолчанию 5. |
generate_audio | Нет | По умолчанию включено: новый фрагмент получает звуковую дорожку, синхронную с картинкой. Настройка влияет на цену, поэтому проверьте оценку. По умолчанию: |
seed | Нет | Целочисленный seed; уберите его — и каждый прогон возьмёт свой. Зафиксируйте при неизменном остальном, чтобы понять, что на самом деле изменила правка prompt. |
bitrate_mode | Нет | Битрейт выдаваемого файла: |
watermark | Нет | Добавляет в видео видимый водяной знак «AI generated» самой модели. По умолчанию: |
Стоимость
Оплачивается каждая секунда нового фрагмента в выбранном разрешении и при выбранной настройке звука; отправленный исходный клип не оплачивается.
| Спецификация | Стоимость |
|---|---|
| $0.07 / секунду |
| $0.152 / секунду |
| $0.374 / секунду |
| $0.778 / секунду |
Сценарии использования
Удлините план, который закончился слишком рано: вращающийся стол с товаром, который останавливается, прежде чем этикетка повернётся к камере, или проход, оборванный до того, как человек дойдёт до двери. Продлите на несколько секунд и опишите только оставшееся движение.
Собирайте длинную последовательность шаг за шагом. Сгенерируйте первый план, продлите его, затем снова продлите склеенный результат; каждый шаг оплачивается только за добавленные секунды. Поскольку каждый шаг начинается с одного кадра, проверяйте стык перед тем, как добавлять следующий.
Руководство по промптам и практические советы
Описывайте следующий момент, а не всю сцену. Кадр уже определяет, кто и где находится; тратьте промпт на следующее действие и движение камеры и назовите нужный звук. Повторите операторский приём, которым закончился клип, например медленный наезд или статичный план, чтобы стык выглядел как один дубль.
Обрежьте клип перед продлением. Последний кадр — единственное, что видит модель, поэтому размытый, оборванный посреди движения или сильно сжатый финал переходит прямо в продолжение. Сначала обрежьте оригинал на чистом, резком кадре. Принимаются оригиналы до 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": "bytedance/seedance-2.0/video-extend",
"input": {
"bitrate_mode": "standard",
"duration_seconds": 5,
"generate_audio": true,
"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.









