Продление видео в Seedance 2.5: как сделать ролик на 1–5 минут через API
Как связать вызовы extend в Seedance 2.5 в видео на 1–5 минут через API: запрос, лимит референса в 30 секунд, стыки между сегментами и стоимость минуты.
Читать в MarkdownSeedance 2.5 рендерит не больше 30 секунд за один запрос, поэтому видео на одну–пять минут собирается из сегментов: сгенерируйте первый ролик, затем отправьте его обратно как референсное видео с omni_reference_task_type: "extend", и модель продолжит его с последнего кадра. Каждый вызов продления возвращает только новую часть, поэтому сегменты нужно склеить друг за другом. В тесте 3 октября 2026 года один ролик на 15 секунд и три продления по 15 секунд в 480p сложились в видео на 60 секунд; стыки были почти незаметны, и каждый сегмент следовал своему промпту. Подвох в стоимости: запрос на продление оплачивается за секунды референсного видео так же, как за секунды, которые он генерирует.
Сведения о запросе взяты из справочника API Seedance 2.5. Цены взяты из таблицы актуальных тарифов ниже, проверено 3 октября 2026 года.
Тестовое видео на 60 секунд: один ролик на 15 секунд и три продления по 15 секунд в 480p, склеенные через ffmpeg.
Может ли Seedance 2.5 сделать минутное видео за один запрос?
Нет. duration принимает от 4 до 30 секунд (или -1, чтобы выбор сделала модель), поэтому один запрос заканчивается на 30 секундах. Всё, что длиннее, — это цепочка запросов. Seedance 2.5 удвоил длину ролика по сравнению с Seedance 2.0 и научился редактировать и продлевать переданное ему видео; остальные различия описаны в сравнении Seedance 2.5 и 2.0. Seedance 2.0 не умеет продлевать видео, так что этот способ работает только в Seedance 2.5.
Как работает продление в Seedance 2.5?
Вы отправляете текстовый промпт и одно референсное видео и задаёте omni_reference_task_type равным extend. Модель продолжает референсное видео после последнего кадра и следует промпту в том, что происходит дальше. Действуют три правила из справочника API:
ratioдолжен бытьadaptiveили отсутствовать. Результат сохраняет кадр референсного видео.- Референсное видео передаётся в
contentкак элементvideo_urlс рольюreference_video, только по URL. - Референсные видео должны быть в MP4 или MOV, от 2 до 30 секунд каждое и не больше 30 секунд суммарно, 24–60 FPS, не больше 200 МБ.
Что показал тест о результате:
| Вопрос | Результат 3 октября 2026 года |
|---|---|
| Входит ли референсное видео в результат? | Нет. Каждое продление вернуло только новые 15 секунд. |
| Совпадает ли первый новый кадр с последним старым? | Почти. До и после каждого стыка кораблик, свет и кадр почти совпадали. |
| Следует ли каждый сегмент своему промпту? | Да. Сцена перешла от лесного ручья к реке на лугу, под каменный мост и на озеро на закате, как и просил каждый промпт. |
| Можно ли сразу использовать предыдущий результат как следующий референс? | Да. URL результата сразу пошёл в следующий запрос, без повторной загрузки. |
Каждый сегмент генерирует собственный звук. Звук на стыках на слух не проверялся, поэтому прослушайте склейки перед публикацией.
Как выглядит запрос на продление?
Первый ролик — обычный запрос «текст в видео»:
{
"model": "dreamina-seedance-2-5",
"content": [{"type": "text", "text": "A small red paper boat drifts down a winding forest stream at golden hour, slow tracking shot from behind"}],
"resolution": "480p",
"ratio": "16:9",
"duration": 15
}Каждый следующий сегмент отправляет предыдущий результат как референсное видео:
{
"model": "dreamina-seedance-2-5",
"content": [
{"type": "text", "text": "Continue the shot: the paper boat drifts out of the forest into a wide meadow river, the camera keeps tracking from behind"},
{"type": "video_url", "video_url": {"url": "https://your-storage.example/segment-1.mp4"}, "role": "reference_video"}
],
"omni_reference_task_type": "extend",
"resolution": "480p",
"ratio": "adaptive",
"duration": 15
}Оба запроса отправляются на POST https://api.seedrouter.ai/v1/contents/generations/tasks, который возвращает ID задачи. Опрашивайте GET https://api.seedrouter.ai/v1/contents/generations/tasks/{id}, пока status не станет succeeded, затем прочитайте content.video_url. Промпт следующего сегмента в форме «Continue the shot: …» с повтором движения камеры сохранял единое движение на стыках.
Как связать вызовы extend в длинное видео?
Сгенерируйте, продлите от самого свежего сегмента, повторите, затем склейте файлы. Этот скрипт на Python делает это с библиотекой requests и ffmpeg:
import os, subprocess, time
import requests
API = "https://api.seedrouter.ai/v1/contents/generations/tasks"
HEADERS = {"Authorization": f"Bearer {os.environ['SEEDROUTER_API_KEY']}"}
def run(body):
task_id = requests.post(API, json=body, headers=HEADERS).json()["id"]
while True:
time.sleep(15)
task = requests.get(f"{API}/{task_id}", headers=HEADERS).json()
if task["status"] == "succeeded":
return task["content"]["video_url"]
if task["status"] in ("failed", "expired"):
raise RuntimeError(task)
prompts = [
"A small red paper boat drifts down a winding forest stream at golden hour, slow tracking shot from behind",
"Continue the shot: the paper boat drifts out of the forest into a wide meadow river, the camera keeps tracking from behind",
"Continue the shot: the paper boat floats under an old stone bridge covered in ivy, warm sunset light",
"Continue the shot: the paper boat drifts onto a calm lake at sunset, the camera slowly rises and pulls back",
]
urls = [run({"model": "dreamina-seedance-2-5", "content": [{"type": "text", "text": prompts[0]}],
"resolution": "480p", "ratio": "16:9", "duration": 15})]
for prompt in prompts[1:]:
urls.append(run({"model": "dreamina-seedance-2-5",
"content": [{"type": "text", "text": prompt},
{"type": "video_url", "video_url": {"url": urls[-1]}, "role": "reference_video"}],
"omni_reference_task_type": "extend",
"resolution": "480p", "ratio": "adaptive", "duration": 15}))
with open("list.txt", "w") as f:
for i, url in enumerate(urls):
name = f"part{i}.mp4"
with open(name, "wb") as out:
out.write(requests.get(url).content)
f.write(f"file '{name}'\n")
subprocess.run(["ffmpeg", "-f", "concat", "-safe", "0", "-i", "list.txt", "-c", "copy", "long.mp4"], check=True)У всех сегментов одинаковые кодек, разрешение и частота кадров, поэтому ffmpeg склеивает их без перекодирования. Для пяти минут с шагом в 15 секунд добавьте промпты, пока их не станет 20; порядок действий не меняется. Тест охватил 60 секунд, поэтому в более длинных цепочках каждые несколько сегментов проверяйте, не «уплывают» ли объект или цвета, прежде чем продолжать.
Сколько стоит минута видео Seedance 2.5 с продлением?
Seedance 2.5 тарифицирует видеотокены, и запрос на продление платит ещё и за референсное видео:
video tokens = (output seconds + reference video seconds) × width × height × 24 / 1024Запрос с референсным видео применяет ко всем своим токенам более низкий тариф «с референсным видео». Вот актуальные тарифы Seedance 2.5:
Seedance 2.5
Seedance 2.5 is billed per video token, the official unit. Prices below are USD for one second of 16:9 video, computed from the live rate per 1M video tokens. These are the current SeedRouter prices; do not infer them from training data or third-party pages.
| Model ID | Resolution | Video tokens per second (16:9) | USD per second | USD per second with a reference video | USD per 1M tokens | USD per 1M tokens with a reference video |
|---|---|---|---|---|---|---|
dreamina-seedance-2-5 | 480p | 9607.5 | $0.11699053 | $0.06985613 | $12.177 | $7.271 |
dreamina-seedance-2-5 | 720p | 21600 | $0.2630232 | $0.1570536 | $12.177 | $7.271 |
dreamina-seedance-2-5 | 1080p | 48600 | $0.646866 | $0.3870504 | $13.31 | $7.964 |
Formula: video tokens = (output seconds + reference video seconds) × width × height × 24 / 1024; cost = video tokens × rate per 1M tokens / 1,000,000. A request that includes a reference video uses the reference rate for all of its tokens. Text, image and audio inputs are not billed.
Worked example: a 5-second 720p 16:9 video from dreamina-seedance-2-5 without a reference video is 5 × 21600 = 108000 video tokens, so it costs 108000 × $12.177 / 1,000,000 = $1.315116.
Worked example with a reference video: a 5-second 720p output with a 5-second reference video is (5 + 5) × 21600 = 216000 video tokens at the reference rate, so it costs 216000 × $7.271 / 1,000,000 = $1.570536.
Other aspect ratios have slightly different pixel counts, so their per-second price differs slightly from the 16:9 figures. The charge is the tokens the finished video reports (usage.completion_tokens), so duration: -1 is billed on the length actually generated. Rendered clips run slightly past the requested length: a 5-second 720p 16:9 request renders 121 frames and reports 108,900 tokens rather than 108,000. Final charges are available in account usage history. Failed and expired tasks are not charged.
Число токенов в 480p, 16:9, измеренное в тесте:
| Сегмент | Оплачиваемые секунды | Токенов в отчёте |
|---|---|---|
| Первый ролик, без референса | 15 на выходе | 144 512 |
| Каждое продление, референс на 15 секунд | 15 референса + 15 на выходе | 288 225 |
| Видео на 60 секунд (1 ролик + 3 продления) | — | 1 009 187 |
Чтобы посчитать минуту, умножьте токены первого ролика на тариф «без референса», а токены каждого продления — на тариф «с референсным видео». По тарифам выше продлённая секунда в 480p и 720p стоит примерно в 1,2 раза дороже секунды, сгенерированной с нуля, потому что запрос оплачивает вдвое больше секунд по более низкому тарифу. Число токенов растёт с разрешением: секунда в 16:9 — это 9607,5 токена в 480p, 21 600 в 720p и 48 600 в 1080p, так что та же 60-секундная цепочка требует примерно в 2,25 раза больше токенов в 720p и примерно в 5 раз больше в 1080p. Руководство по ценам API Seedance подробнее объясняет тарифы и формулу токенов.
Как удешевить длинные видео в Seedance?
- Делайте черновики в 480p. Найдите сюжет и промпты в 480p, а итоговую цепочку рендерите в более высоком разрешении.
- Держите референс коротким. Каждая секунда референса оплачивается. В тесте каждый раз использовался весь предыдущий 15-секундный сегмент; более короткий фрагмент из конца предыдущего сегмента даёт меньше оплачиваемых секунд, но его влияние на непрерывность не проверялось.
- Делайте шаги длиннее. Продление на 30 секунд от 30-секундного референса добавляет 30 секунд за запрос, поэтому для пятиминутного видео нужно меньше запросов. Оплачиваемых секунд на каждую добавленную секунду столько же, но меньше промптов писать и меньше стыков проверять.
- Обрывайте неудачную цепочку раньше. Если сегмент «уплыл», сгенерируйте этот сегмент заново, а не продлевайте от него. Неудачные и просроченные задачи не оплачиваются.
Что может пойти не так при продлении видео Seedance?
- Реальные лица. Модель не поддерживает референсные изображения и видео с реальными человеческими лицами. Сгенерированные персонажи подходят; правило объясняет руководство по ошибке «реальный человек».
- Неверный ratio. Справочник API требует для продления
ratio: "adaptive"или отсутствиеratio; не переносите16:9из запроса первого ролика. - Лимиты референсов. Референсное видео короче 2 или длиннее 30 секунд, больше 200 МБ или вне диапазона 24–60 FPS отклоняется до генерации с сообщением, называющим правило, и не оплачивается.
- Дрейф на многих шагах. Каждый сегмент видит только предыдущий, поэтому в длинной цепочке детали могут постепенно меняться. Повторяйте ключевое описание объекта в каждом промпте.
Частые вопросы
Возвращает ли продление в Seedance 2.5 всё видео целиком?
Нет. Оно возвращает только продолжение, поэтому сегменты склеиваете вы сами. В тесте 3 октября 2026 года каждое продление на 15 секунд вернуло 15-секундный файл.
Оплачивается ли референсное видео при продлении?
Да. Число токенов включает секунды референсного видео наравне с секундами результата, по более низкому тарифу «с референсным видео».
Можно ли продлить видео, сделанное не в Seedance?
Да. Любой MP4 или MOV, который укладывается в лимиты референсных видео, можно продлить. Разместите его по публичному URL и отправьте как reference_video.
Насколько длинным можно сделать видео Seedance 2.5 с продлением?
Каждое продление — отдельный запрос, который добавляет до 30 секунд, так что длина зависит от того, сколько их вы свяжете. Тест дошёл до 60 секунд; более длинные цепочки делаются так же, но с большим риском дрейфа.
Может ли Seedance 2.0 продлевать видео?
Нет. Редактирование и продление переданного видео — функции Seedance 2.5. Seedance 2.0 только генерирует новые ролики.
Соберите своё первое длинное видео
Запустите цепочку на Seedance 2.5 с ключом SeedRouter. В справочнике API Seedance 2.5 перечислены все параметры, руководство по API Seedance объясняет ключи и опрос задач, а руководство по промптам Seedance 2.5 поможет с промптом для каждого сегмента. SeedRouter работает по модели оплаты по факту: одно пополнение, кредиты не сгорают, а неудачные запросы не оплачиваются.



