Nodes/ERPK Collection/Bytedance Seedance 2.5 Video Extend
ComfyUI Node

Bytedance Seedance 2.5 Video Extend

Keep the clip going past its last frame

By eRepublik-Labs·Created 10 months ago·Updated 10 days ago· 1
Bytedance Seedance 2.5 Video Extend
  • client
  • video_url
prompt
video_url
duration5
resolution720p
generate_audiotrue
seed-1

Seedance 2.5 tops out at 30 seconds in a single pass, which is a hard ceiling if your story is longer than a half-minute. Video Extend is the workaround: it reads the last 30 seconds of an existing clip as context and appends a brand-new segment after it, continuing the action past the final frame. Chain one extend onto another and you can walk a shot well past the single-call limit - this is the "serial" node of the pack, the one that turns short clips into takes.

It's also the clearest sibling contrast in the family. Video Edit rewrites inside a clip ("make it dusk"); Video Extend appends after it ("then she walks out of frame"). Same input convention, opposite job. And note the model list: Extend is Seedance 2.5 only - there's no Turbo dropdown here, unlike its Edit cousin.

How it works

The video_url input takes the source clip, and the node reads up to the last 30 seconds of it as context - that's what the model "watches" to know where to continue. The duration widget is the length of the new segment (4–30s), not the total. Send it off to WaveSpeed, poll every 10 seconds (30-minute timeout, the family's standard), get a URL back.

The one input that deserves a closer read is generate_audio (default on): it generates audio for the new segment while preserving the original audio. So the extension keeps whatever sound your clip already had and layers in audio for the appended part - one of the few places in this pack where audio continuity across a boundary is handled for you.

Inputs that matter

  • prompt - required, and the tooltip frames it right: how the video should continue - action, camera, lighting, mood. Not a description of the whole thing; a description of what happens next.
  • video_url - the source. Chain it off any video node in the pack.
  • duration - 4–30s of new content.
  • resolution - 480p / 720p / 1080p / 4k. Billing counts the context read from the source plus the new segment - roughly $0.11/s at 480p to $1.10/s at 4k. Feeding it a long source costs you, so trim before you extend if budget matters.
  • generate_audio - new-segment audio on, original preserved.
  • seed - cache control only; fixed seed reuses the already-paid result, -1 reruns.

Output is video_url (STRING) → Preview Anything for preview/download. And since the output is a URL, it can feed straight back into this same node - that's the whole long-form strategy: extend → extend → extend.

Installing and configuring

Part of the ERPK Collection pack. ComfyUI Manager: search erpk, install ERPK Custom Nodes, restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/eRepublik-Labs/comfyui-nodes-erpk.git erpk
cd erpk && pip install -r requirements.txt

WaveSpeed API key from wavespeed.ai into Settings > ERPK > API Keys (right-click canvas > ERPK Settings). No model downloads, no GPU - server-side generation with the usual polling.

Common issues

  • Continuity degrades over multiple extends - every appended segment builds on the last read, and drift accumulates shot over shot, the same way it does with local VACE-style extension. Extend in as few jumps as possible, and re-seed between takes if a character starts mutating.
  • "Why is this costing more than the source did?" - extend billing counts the context you feed it plus the new segment. A 28s source getting a 30s extension is billed on ~58s of compute, not 30.
  • The continuation ignores your prompt - the prompt steers, but the model is anchored to the clip's last frames. Write continuation prompts that describe what's already on screen plus the next action; "then…" phrasing helps more than a whole new scene description.
CategoryERPK/WaveSpeedAI

Inputs (7)

NameTypeDefaultDescription
promptSTRINGHow the video should continue: action, camera, lighting, mood
video_urloptSTRINGSource video URL. Connect the video_url output of any video node in this package. Up to the last 30s is read as context.
clientoptWAVESPEED_AI_API_CLIENTWaveSpeed API client (optional if API key is configured in Settings)
durationoptINT54–30Length of the new segment in seconds (4-30)
resolutionoptCOMBO720pVideo resolution. Billing counts the context read from the source plus the new segment, roughly $0.11/s at 480p to $1.10/s at 4k.
generate_audiooptBOOLEANtrueGenerate audio for the new segment while preserving the original audio
seedoptINT-1-1–2147483647Cache control only. Seedance 2.5 takes no API seed, so this is never sent. A fixed seed reuses the video you already paid for; -1 generates again on every queue.

Outputs (1)

NameTypeDescription
video_urlSTRING