Claude Opus 5.5 já está disponível no SeedRouter

Estender vídeos no Seedance 2.5: como criar vídeos de 1 a 5 minutos com a API

Como encadear chamadas extend do Seedance 2.5 em um vídeo de 1 a 5 minutos pela API: a requisição, o limite de 30 s de referência, as emendas e o custo.

Ler em Markdown

O Seedance 2.5 renderiza no máximo 30 segundos por requisição, então um vídeo de um a cinco minutos é montado em segmentos: gere o primeiro clipe, depois envie-o de volta como vídeo de referência com omni_reference_task_type: "extend" e o modelo continua a partir do último quadro. Cada chamada de extensão devolve só a parte nova, então você junta os segmentos um depois do outro. Um teste em 3 de outubro de 2026 encadeou um clipe de 15 segundos e três extensões de 15 segundos em 480p até um vídeo de 60 segundos; as emendas quase não apareciam e cada segmento seguiu o próprio prompt. O porém é o custo: uma requisição de extensão é cobrada pelos segundos do vídeo de referência além dos segundos que gera.

Os dados sobre a requisição vêm da referência de API do Seedance 2.5. Os preços vêm da tabela de preços em tempo real mais abaixo, verificada em 3 de outubro de 2026.

O vídeo de teste de 60 segundos: um clipe de 15 segundos e três extensões de 15 segundos em 480p, unidos com o ffmpeg.

O Seedance 2.5 consegue criar um vídeo de um minuto em uma só requisição?

Não. duration aceita de 4 a 30 segundos (ou -1 para deixar o modelo escolher), então uma requisição termina em 30 segundos. Qualquer coisa mais longa é uma cadeia de requisições. O Seedance 2.5 dobrou a duração dos clipes do Seedance 2.0 e passou a editar e estender um vídeo que você envia; a comparação Seedance 2.5 vs 2.0 cobre as outras diferenças. O Seedance 2.0 não estende vídeos, então este método é exclusivo do Seedance 2.5.

Como funciona a extensão no Seedance 2.5?

Você envia um prompt de texto e um vídeo de referência e define omni_reference_task_type como extend. O modelo continua o vídeo de referência depois do último quadro e segue o prompt para o que acontece em seguida. Três regras da referência de API valem aqui:

  • ratio precisa ser adaptive ou ficar de fora. A saída mantém o enquadramento do vídeo de referência.
  • O vídeo de referência vai em content como um item video_url com a função reference_video, só por URL.
  • Os vídeos de referência precisam ser MP4 ou MOV, de 2 a 30 segundos cada e no máximo 30 segundos no total, a 24–60 FPS, com no máximo 200 MB.

O que o teste mostrou sobre a saída:

PerguntaResultado em 3 de outubro de 2026
O resultado inclui o vídeo de referência?Não. Cada extensão devolveu só os 15 segundos novos.
O primeiro quadro novo bate com o último antigo?Quase. Antes e depois de cada emenda, o barquinho, a luz e o enquadramento coincidiam bastante.
Cada segmento segue o próprio prompt?Sim. A cena passou de um riacho na floresta para um rio no campo, por baixo de uma ponte de pedra e até um lago ao pôr do sol, como cada prompt pedia.
Dá para usar a saída anterior direto como próxima referência?Sim. A URL de saída foi direto para a requisição seguinte, sem novo upload.

Cada segmento gera o próprio áudio. O som nas emendas não foi conferido de ouvido, então escute os cortes antes de publicar.

Como é uma requisição de extensão?

O primeiro clipe é uma requisição comum de texto para vídeo:

{
  "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
}

Cada segmento seguinte envia o resultado anterior como vídeo de referência:

{
  "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
}

As duas vão para POST https://api.seedrouter.ai/v1/contents/generations/tasks, que devolve um ID de tarefa. Consulte GET https://api.seedrouter.ai/v1/contents/generations/tasks/{id} até status ser succeeded e então leia content.video_url. Escrever o próximo prompt como "Continue the shot: …" e repetir o movimento de câmera manteve o movimento consistente nas emendas.

Como encadear chamadas extend em um vídeo longo?

Gere, estenda a partir do segmento mais recente, repita e depois junte os arquivos. Este script Python faz isso com a biblioteca requests e o 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)

Todos os segmentos têm o mesmo codec, a mesma resolução e a mesma taxa de quadros, então o ffmpeg junta tudo sem recodificar. Para cinco minutos em passos de 15 segundos, adicione prompts até ter 20; o método não muda. O teste cobriu 60 segundos, então, em cadeias mais longas, confira a cada poucos segmentos se o tema ou as cores estão se desviando antes de continuar.

Quanto custa um minuto de vídeo do Seedance 2.5 com extend?

O Seedance 2.5 cobra por tokens de vídeo, e uma requisição de extensão paga também pelo vídeo de referência:

video tokens = (output seconds + reference video seconds) × width × height × 24 / 1024

Uma requisição com vídeo de referência aplica a todos os seus tokens a tarifa mais baixa "com vídeo de referência". Estas são as tarifas atuais do 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.

Tokens medidos em 480p, 16:9, no teste:

SegmentoSegundos cobradosTokens informados
Primeiro clipe, sem referência15 de saída144.512
Cada extensão, referência de 15 segundos15 de referência + 15 de saída288.225
Vídeo de 60 segundos (1 clipe + 3 extensões)—1.009.187

Para calcular um minuto, multiplique os tokens do primeiro clipe pela tarifa "sem referência" e os de cada extensão pela tarifa "com vídeo de referência". Com as tarifas acima, um segundo estendido custa cerca de 1,2 vez um segundo gerado do zero em 480p e 720p, porque a requisição paga o dobro de segundos a uma tarifa menor. Os tokens crescem com a resolução: um segundo em 16:9 dá 9.607,5 tokens em 480p, 21.600 em 720p e 48.600 em 1080p, então a mesma cadeia de 60 segundos usa cerca de 2,25 vezes os tokens em 720p e cerca de 5 vezes em 1080p. O guia de preços da API do Seedance explica as tarifas e a fórmula dos tokens com mais detalhes.

Como deixar vídeos longos no Seedance mais baratos?

  • Faça rascunhos em 480p. Defina a história e os prompts em 480p e depois renderize a cadeia final em uma resolução maior.
  • Use uma referência curta. Cada segundo de referência é cobrado. O teste usou sempre o segmento anterior inteiro de 15 segundos; um trecho mais curto do fim do segmento anterior cobra menos segundos, mas o efeito na continuidade não foi testado.
  • Use passos mais longos. Uma extensão de 30 segundos a partir de uma referência de 30 segundos adiciona 30 segundos por requisição, então um vídeo de cinco minutos precisa de menos requisições. Os segundos cobrados por segundo adicionado continuam os mesmos, mas há menos prompts para escrever e menos emendas para conferir.
  • Pare cedo uma cadeia que deu errado. Se um segmento se desviar, gere esse segmento de novo em vez de estender a partir dele. Tarefas que falham ou expiram não são cobradas.

O que pode dar errado ao estender um vídeo do Seedance?

  • Rostos reais. O modelo não aceita imagens e vídeos de referência com rostos humanos reais. Personagens gerados não têm problema; o guia do erro de pessoa real explica a regra.
  • Ratio errado. A referência de API exige ratio: "adaptive" ou nenhum ratio na extensão; não leve o 16:9 da requisição do primeiro clipe.
  • Limites de referência. Um vídeo de referência fora de 2–30 segundos, acima de 200 MB ou fora de 24–60 FPS falha antes da geração, com uma mensagem que cita a regra, e não é cobrado.
  • Desvio ao longo de muitos passos. Cada segmento só vê o anterior, então os detalhes podem mudar aos poucos em uma cadeia longa. Repita a descrição principal do tema em todos os prompts.

Perguntas frequentes

A extensão do Seedance 2.5 devolve o vídeo inteiro?

Não. Ela devolve só a continuação, então você mesmo junta os segmentos. No teste de 3 de outubro de 2026, cada extensão de 15 segundos devolveu um arquivo de 15 segundos.

O vídeo de referência é cobrado na extensão?

Sim. A contagem de tokens inclui os segundos do vídeo de referência além dos de saída, na tarifa mais baixa "com vídeo de referência".

Posso estender um vídeo que não foi feito com o Seedance?

Sim. Qualquer MP4 ou MOV que respeite os limites de vídeo de referência pode ser estendido. Hospede-o em uma URL pública e envie como reference_video.

Até que duração um vídeo do Seedance 2.5 pode chegar com extend?

Cada extensão é uma requisição independente que adiciona até 30 segundos, então a duração depende de quantas você encadear. O teste chegou a 60 segundos; cadeias mais longas seguem os mesmos passos, com mais chances de desvio.

O Seedance 2.0 consegue estender um vídeo?

Não. Editar e estender um vídeo enviado são recursos do Seedance 2.5. O Seedance 2.0 só gera clipes novos.

Crie seu primeiro vídeo longo

Rode a cadeia no Seedance 2.5 com uma chave da SeedRouter. A referência de API do Seedance 2.5 lista todos os parâmetros, o guia da API do Seedance explica chaves e consulta de tarefas, e o guia de prompts do Seedance 2.5 ajuda a escrever o prompt de cada segmento. A SeedRouter é pré-paga por uso: você recarrega uma vez, os créditos nunca expiram e requisições que falham não são cobradas.

Guias relacionados