Введение
Seedance 1.5 Pro: продление видео продолжает клип, который у вас уже есть. Отправьте его как video_url и добавьте промпт о том, что происходит дальше. Последний кадр вашего клипа становится начальным кадром нового плана «изображение в видео» Seedance 1.5 Pro длиной от 4 до 12 секунд, а обе части склеиваются в один MP4: сначала оригинал, затем продолжение, без повторяющегося кадра на стыке. Новый фрагмент возвращается и отдельным файлом, так что можно продлевать дальше или править части по отдельности.
Ключевые возможности и особенности
Непрерывность берётся из последнего кадра. Костюмы, обстановка, свет и расположение людей сохраняются, потому что новый фрагмент буквально начинается с вашего последнего кадра. Движение переходит иначе: модель видит один неподвижный кадр, а не весь клип, поэтому опишите движение, которое нужно продолжить, а не рассчитывайте, что оно сохранит скорость или направление.
В ответ приходит один файл и отдельно сам новый кусок. Склеенный файл сохраняет частоту кадров и кадрирование вашего клипа, без чёрных полос, и кодируется как MP4 H.264 со звуком AAC. Чтобы стык совпал, изображение по краям может быть обрезано или слегка скорректировано на несколько процентов. Если модель вернёт заметно другие пропорции, новый фрагмент масштабируется так, чтобы заполнить ваш кадр, выравнивается по центру, а всё, что выходит за края, обрезается. Звук оригинала сохраняется, звук, сгенерированный для нового фрагмента, следует за ним с короткой перекрёстной склейкой на стыке, а беззвучная сторона дополняется тишиной. Второй ресурс результата — только новый фрагмент, готовый к следующему продлению или к редактору.
Необязательный конечный кадр. Добавьте last_image_url, и новый фрагмент закончится на этом изображении (480p и 720p); так переход или возврат к знакомому кадру получается повторяемым.
Всё остальное — «изображение в видео» Seedance 1.5 Pro. Новый фрагмент идёт по тем же маршрутам, с тем же диапазоном контента и той же ценой за секунду, что и эндпоинт «изображение в видео», а неудачная генерация возвращается так же. Если генерация прошла, но саму склейку собрать не удалось, задача завершается ошибкой, а оплата возвращается полностью.
Параметры запроса
| Параметр | Обязательно | Описание |
|---|---|---|
prompt | Да | Обязательный. Что происходит дальше: следующее действие, движение камеры и звук. Не менее 3 символов |
video_url | Да | Клип, который нужно продолжить: MP4, MOV или WebM, до 60 секунд. Его последний кадр становится начальным кадром нового фрагмента, поэтому обрежьте клип по чистому, чёткому кадру. Не менее 1 символов |
last_image_url | Нет | Необязательный целевой конечный кадр: новый фрагмент заканчивается на этом изображении, а не там, где решит модель. Дайте ему те же пропорции, что у последнего кадра клипа. |
resolution | Нет | Размер нового фрагмента: 480p, 720p или 1080p, по умолчанию 720p. |
duration_seconds | Нет | Длина нового фрагмента в целых секундах, от 4 до 12, по умолчанию 5; это же оплачиваемое количество. Исходный клип добавляется спереди и не оплачивается. |
generate_audio | Нет | По умолчанию включено и оплачивается по более высокому тарифу; выключите, если нужен фрагмент без звука. По умолчанию: |
camera_fixed | Нет | Фиксирует камеру на время нового фрагмента, по умолчанию выключено. По умолчанию: |
seed | Нет | Целое число от 0 до 2147483647; если не указывать, каждый запуск берёт своё. Зафиксируйте его, меняя за раз только одно; сохраняется начальный шум, а не клип кадр в кадр. |
Стоимость
Оплачивается каждая секунда нового фрагмента в выбранном разрешении и при выбранной настройке звука. Отправленный исходный клип не оплачивается.
| Разрешение | Генерировать аудио: Нет | Генерировать аудио: Да |
|---|---|---|
| $0.0112 / секунду | $0.0223 / секунду |
| $0.0227 / секунду | $0.0454 / секунду |
| $0.0491 / секунду | $0.0982 / секунду |
Сценарии использования
Удлинить план, который закончился слишком рано: вращающийся стол с товаром, который останавливается до того, как этикетка повернётся к камере, или проход, обрывающийся раньше, чем герой дойдёт до двери. Продлите на несколько секунд и опишите только недостающее движение.
Строить длинную последовательность шаг за шагом. Сгенерируйте первый план, продлите его, затем продлите склеенный результат ещё раз; каждый шаг оплачивает только добавленные секунды, а оригинал на каждом шаге может быть до 60 секунд. Поскольку каждый шаг начинается с одного кадра, проверяйте каждый стык, прежде чем наращивать следующий.
Руководство по промптам и практические советы
Описывайте следующий момент, а не всю сцену. Кадр уже задаёт, кто и где, поэтому промпт нужен для следующего действия, движения камеры и звука. Повторите язык камеры, которым закончился ваш клип, например медленный наезд или статичный план, чтобы стык читался как один дубль.
Обрежьте клип до продления. Последний кадр — единственное, что видит модель, поэтому размытая, оборванная на полуслове движения или сильно сжатая концовка прямо переходит в продолжение. Сначала обрежьте оригинал по чистому, чёткому кадру.
Держите разрешение согласованным. Разрешение задаёт только качество нового фрагмента, поэтому продление клипа 1080p в 480p сделает новую часть мягче оригинала. Подберите разрешение под исходник и задайте 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-1.5-pro/video-extend",
"input": {
"duration_seconds": 5,
"generate_audio": true,
"prompt": "A slow aerial shot drifting over a misty pine forest at sunrise",
"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.









