Nodes/PopNow/Seedance 2.0 Fast · Video Extend
ComfyUI Node

Seedance 2.0 Fast · Video Extend

Cheap seconds on the end of your clip

By popnow-ai·Created 24 days ago·Updated about 20 hours ago· 0
Seedance 2.0 Fast · Video Extend
  • video_url
  • last_image_url
  • video
  • task id
◄prompt►
◄resolution720p►
◄duration_seconds5►
◄generate_audiotrue►
◄seed0►
◄bitrate_modestandard►
◄watermarkfalse►

You have a clip you like and you need it longer. Seedance 2.0 Fast's extend is the affordable way to do it: your last frame opens a new segment, PopNow joins the two, and you get the whole thing back as one file. The source isn't billed - only the new seconds are.

Two things to note before the settings. First, this is one of the few nodes in the family where prompt is optional, so you can technically queue an extension and let the model carry on by itself. Don't: an unprompted continuation usually reads as the model losing interest. Second, the joined output is the whole clip, which makes this trivially chainable - and trivially easy to over-spend on, because every link in the chain bills.

How it works

The node uploads your clip (MP4, MOV or WebM, up to 60 seconds, under the 90 MiB ceiling), quotes the job, submits it, polls with live status, and downloads the joined result. MP4 sources are remuxed on the way up rather than re-encoded, so the extension starts from the quality you actually produced. The source keeps its own sound; generate_audio only covers the new segment.

The mechanism that matters for repeat use is the re-basing: segment two starts from the generated last frame of segment one. Do that twice and you're two generations away from your original footage, and the drift everyone complains about with video extenders starts compounding. If the shot has to be right at length, generate it long in the first place and extend once.

The inputs that matter

video_url - the clip to continue. From a video loader, or chained off another PopNow video node's video output.

prompt - what happens next: the action that follows, the camera move, the sound. Optional in the schema, load-bearing in practice.

duration_seconds - the length of the new segment, 4 to 15, or -1 for smart duration. This is the billed quantity; the source clip is added on top and isn't charged.

resolution - 480p or 720p. The tooltip's "match your source clip" is the whole game: a mismatch at the join is more obvious than any artifact inside a segment.

generate_audio - native soundtrack for the new segment only. The source keeps whatever sound it had, so you're not paying to regenerate audio you already own.

bitrate_mode - standard or high for the delivered file. High if you're grading; it costs you bytes, not credits.

watermark - off by default, and applies to the new segment.

seed - fixed by default, which means re-queueing a graph gives you the same clip. For exploring continuations, flip control_after_generate to randomize and accept the bill.

last_image_url - an optional closing image the new segment lands on. Leave it out and the model decides how the shot ends, which is more often fine than you'd expect.

Outputs

video - source plus extension, joined. task id - the job reference for the console or support. No image output here, so chain by feeding the joined video back in.

Installing it

Manager → PopNow → Install → restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/popnow-ai/popnow-comfyui

Create the key at popnow.ai/api/console/keys, paste it in Settings > PopNow (or set POPNOW_API_KEY), restart again for the catalog. Nothing else installs - no weights, no Python dependencies beyond ComfyUI's own.

Where people get burned

The upload limit is the boring-but-real one: 90 MiB, and a 60-second high-bitrate source can hit it. Trim or re-encode first.

Drift is the interesting one. Two extensions is roughly the practical ceiling before a shot stops looking like itself; that's not this pack's fault, it's what re-basing on generated frames does.

And the arithmetic of "just one more segment". Extensions feel cheap because each one is a few seconds - which is exactly how a five-extension project turns into a number you didn't plan for. Set Settings > PopNow > Max credits per run, and remember that cancelling stops your wait, not the render: it finishes on PopNow and bills if it succeeds.

CategoryPopNow/Video/ByteDance

Inputs (9)

NameTypeDefaultDescription
promptSTRINGWhat happens next: the action that follows, the camera move and the sound. Optional.
video_urlVIDEOThe clip to continue: MP4, MOV or WebM, up to 60 seconds. Its last frame opens the new segment, and the result is your clip with the new segment joined on.
resolutionCOMBO720pResolution of the new segment. Match your source clip.
duration_secondsCOMBO5Length of the new segment in seconds. This is the billed quantity; the source clip is added on top and is not billed. Pass -1 for smart duration: the model picks the length itself.
generate_audioBOOLEANtrueGenerate a native soundtrack for the new segment. The source keeps its own sound either way.
seedINT00–2147483647Same seed and settings, same result. Set 'control after generate' to randomize to get a new result on every run; every run is billed.
bitrate_modeCOMBOstandardEncoding bitrate of the delivered file: standard, or high for crisper detail and a larger file.
watermarkBOOLEANfalseAdd the model’s visible "AI generated" watermark to the video.
last_image_urloptIMAGEOptional closing image: the new segment lands on this picture. Leave it out and the model decides how the shot ends.

Outputs (2)

NameTypeDescription
videoVIDEO—
task idSTRINGThe PopNow task id, for the API console logs or support.