Введение
Seedance 2.0 Mini Spicy Продление видео продолжает клип, который у вас уже есть. Отправьте его как video_url; промпт необязателен. Последний кадр клипа становится первым кадром нового плана Seedance 2.0 Mini Spicy из изображения в видео длиной от 4 до 15 секунд, и оба склеиваются в один MP4: сначала оригинал, затем продолжение, а повторяющийся кадр на стыке удаляется. Новый фрагмент также возвращается отдельным файлом, поэтому вы можете продлевать дальше или монтировать части по отдельности.
Ключевые возможности и особенности
Непрерывность обеспечивает последний кадр. Одежда, обстановка, свет и расположение всех людей сохраняются, потому что новый фрагмент буквально начинается с вашего последнего кадра. Движение переходит иначе: модель видит один неподвижный кадр, а не весь клип, поэтому опишите движение, которое нужно продолжить, а не рассчитывайте, что оно сохранит скорость и направление.
В ответ приходит один файл и отдельно сам новый фрагмент. Склеенный файл сохраняет частоту кадров и кадрирование вашего клипа, без чёрных полос, и кодируется как MP4 H.264 со звуком AAC. Чтобы стык совпал, изображение по краям может быть обрезано или слегка скорректировано на несколько процентов. Если модель вернёт заметно другие пропорции, новый фрагмент масштабируется так, чтобы заполнить ваш кадр, выравнивается по центру, а всё, что выходит за края, обрезается. Звук исходника сохраняется, звук, сгенерированный для нового фрагмента, идёт следом, а беззвучная сторона дополняется тишиной, чтобы картинка и звук на стыке не расходились. Второй ресурс в выводе — это только новый фрагмент, готовый к следующему продлению или к монтажу.
Всё остальное — это Seedance 2.0 Mini Spicy из изображения в видео. Новый фрагмент идёт тем же маршрутом, с тем же диапазоном содержания и той же ценой за секунду, что и эндпоинт из изображения в видео, а неудачная генерация возвращается так же. Если генерация удалась, но склейку собрать не удалось, задача завершается ошибкой, а оплата возвращается.
Параметры запроса
| Параметр | Обязательно | Описание |
|---|---|---|
prompt | Нет | Необязательно. Что происходит дальше: следующее действие, движение камеры и звук. |
last_image_url | Нет | Необязательный финальный кадр: новый фрагмент заканчивается на этом изображении, например для перехода или возврата к знакомой картинке. |
resolution | Нет | Разрешение нового фрагмента: 480p / 720p, по умолчанию 720p. Выберите такое же, как у исходника: оно задаёт только качество нового фрагмента. |
duration_seconds | Нет | Длительность нового фрагмента в целых секундах, от 4 до 15, по умолчанию 5; это же оплачиваемое количество. Исходник добавляется сверху и не оплачивается. |
generate_audio | Нет | По умолчанию включено, поэтому новый фрагмент получает сгенерированный звук. По умолчанию: |
seed | Нет | От 0 до 2147483647. Оставьте фиксированным, чтобы сравнивать по одному изменённому полю; уберите ради разнообразия. |
video_url | Да | Клип, который нужно продолжить: MP4, MOV или WebM, до 60 секунд. Его последний кадр становится первым кадром нового фрагмента, поэтому обрежьте клип на чистом, резком кадре. Не менее 1 символов |
Стоимость
Оплата за каждую секунду нового фрагмента при выбранном разрешении и настройке звука; отправленный исходный клип не оплачивается.
| Спецификация | Стоимость |
|---|---|
| $0.0387 / секунду |
| $0.0821 / секунду |
Сценарии использования
Удлините план, закончившийся слишком рано: например, поворотный столик с товаром, который останавливается, пока этикетка не повернулась к камере, или проход, оборванный до того, как герой дошёл до двери. Продлите на несколько секунд и опишите только недостающее движение.
Собирайте длинную последовательность шаг за шагом. Сгенерируйте первый план, продлите его, затем продлите склеенный результат ещё раз; каждый шаг оплачивает только добавленные секунды. Поскольку каждый шаг начинается с одного кадра, проверяйте каждый стык, прежде чем добавлять следующий.
Руководство по промптам и практические советы
Описывайте следующий момент, а не всю сцену. Кадр уже задаёт, кто и где, поэтому используйте промпт для следующего действия, движения камеры и звука. Повторите язык камеры, на котором закончился клип, например медленный наезд или статичный план, чтобы стык выглядел как один дубль.
Обрежьте клип перед продлением. Последний кадр — единственное, что видит модель, поэтому размытая, оборванная на полудвижении или сильно сжатая концовка перейдёт прямо в продолжение. Сначала обрежьте исходник на чистом, резком кадре. Исходники до 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-mini-spicy/video-extend",
"input": {
"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.









