Claude Opus 5.5 уже доступна в SeedRouter

Продление видео в Seedance 2.5: как сделать ролик на 1–5 минут через API

Как связать вызовы extend в Seedance 2.5 в видео на 1–5 минут через API: запрос, лимит референса в 30 секунд, стыки между сегментами и стоимость минуты.

Читать в Markdown

Seedance 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 IDResolutionVideo tokens per second (16:9)USD per secondUSD per second with a reference videoUSD per 1M tokensUSD per 1M tokens with a reference video
dreamina-seedance-2-5480p9607.5$0.11699053$0.06985613$12.177$7.271
dreamina-seedance-2-5720p21600$0.2630232$0.1570536$12.177$7.271
dreamina-seedance-2-51080p48600$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 работает по модели оплаты по факту: одно пополнение, кредиты не сгорают, а неудачные запросы не оплачиваются.

Похожие руководства