Nodes/PopNow/Seedance 2.5 · Image to Video
ComfyUI Node

Seedance 2.5 · Image to Video

30 seconds from one frame, for a price

By popnow-ai·Created 24 days ago·Updated about 20 hours ago· 0
Seedance 2.5 · Image to Video
  • image_url
  • last_image_url
  • video
  • last frame
  • task id
◄prompt►
◄aspect_ratioadaptive►
◄resolution720p►
◄duration_seconds5►
◄generate_audiotrue►
◄output_formatmp4►
◄enable_web_searchfalse►
◄seed0►
◄return_last_framefalse►
◄watermarkfalse►

Thirty seconds. That's the number that separates Seedance 2.5 from everything else in this pack's ByteDance section - the previous generation tops out around fifteen. Thirty seconds of native-audio video from a single still is a genuinely different format: not a clip, a scene. It's also 18.51 credits per second, so a full 30-second run is about 555 credits. Per shot.

Do that math before you wire it up, because it shapes how you use the node. Short durations at 720p for exploration; 30 seconds only when the first four already convinced you.

How it works

Your image is uploaded (once per content hash, cached for 12 hours) and becomes the first frame; the model animates forward from there. Generation runs on PopNow's servers, which is the only option - Seedance has no open weights, so this is a closed model behind an API call, with the trade-offs that always carries: per-call cost, your input leaving the machine, and ByteDance's filter applying with no local bypass.

Worth noting what 2.5 changes besides length. Reference capacity jumps hard - up to 30 reference images on the reference-to-video sibling - and duration becomes a proper integer slider instead of a fixed list of choices. This node also drops the previous generation's bitrate_mode switch in favour of output_format.

Inputs that actually matter

  • image_url - the IMAGE that opens the clip. Aspect ratio comes from this picture, which is why…
  • aspect_ratio - only accepts adaptive on this node. The tooltip says so outright: Seedance 2.5 frames an image-to-video clip on the first frame, so there's no ratio to choose. Don't hunt for a bug; there's one option on purpose.
  • last_image_url - optional closing frame, and it's only accepted alongside image_url. Set both and you've defined a shot from A to B: the model's job becomes plausibly getting you there in the time allowed.
  • duration_seconds - integer, 4 to 30. The billed quantity. Long clip plus high resolution is where the meter runs.
  • resolution - 480p, 720p or 1080p. There's no 4K tier here; 2.0 offers one, 2.5 doesn't.
  • generate_audio - on by default, synchronised to picture. If you're going to mix your own sound, turn it off; you're paying for it either way and generated audio on a silent-B-roll shot is just an extra variable.
  • enable_web_search - off by default. Ignore it unless the prompt genuinely needs current facts.
  • seed - fixed by default. Randomize via the control-after-generate widget for new takes, one bill each.

Outputs

video into Save Video, last frame as an IMAGE when return_last_frame is on - a natural first frame for a second segment - and task id for the console or support.

Small gotcha: the last frame socket is always there. With the switch off, downstream nodes get blocked with a "turn on return_last_frame" message rather than an empty image. Confusing the first time, obvious after.

Install

Search PopNow in ComfyUI Manager, or:

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

Then key it up: popnow.ai/api/console/keys → Settings > PopNow, or POPNOW_API_KEY in ComfyUI's environment. Restart twice - once for the pack, once so the node list is built from your account's catalog. No pip install; the pack's dependency list is empty by design.

Troubleshooting, in order of likelihood

  • PopNow 40201 - out of credits. At 18.51 credits a second this happens faster than you expect. Drop to 480p or shorten.
  • PopNow 40004 - unsupported combination. Usually last_image_url without image_url, or a 30-second run at a resolution the model won't serve.
  • The clip starts before your prompt "kicks in" - normal. The first second or so is your still being animated. Write the prompt for what happens after the frame you supplied.
  • Cancelling stops your wait, not the job. It finishes server-side, bills if it succeeds, and sits in the API console. Set Settings > PopNow > Max credits per run so a mis-clicked 30-second 1080p run can't go through.

For anyone using SDXL-era pose sheets or a character LoRA pipeline locally, this is the same job done by a rented model: you bring the frame you already like, and 2.5's job is to keep its face, wardrobe and light for as long as you asked. Thirty seconds is the first time that's been enough for a shot with a beginning, a middle and an end.

CategoryPopNow/Video/ByteDance

Inputs (12)

NameTypeDefaultDescription
promptSTRINGWhat to generate: subject, action, camera movement and mood.
image_urlIMAGEURL of the image used as the first frame.
aspect_ratioCOMBOadaptiveAspect ratio of the generated video. Seedance 2.5 frames an image-to-video clip on the first frame, so adaptive is the only accepted value.
resolutionCOMBO720pOutput resolution. Super-resolution tiers are not offered.
duration_secondsINT54–30Clip length in seconds. This is the billed quantity.
generate_audioBOOLEANtrueGenerate a native soundtrack synchronised to the picture.
output_formatCOMBOmp4Container of the returned video.
enable_web_searchBOOLEANfalseLet the model search the web for information related to the prompt before rendering.
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.
return_last_frameBOOLEANfalseAlso return the clip’s final frame as a separate image.
watermarkBOOLEANfalseAsk the model to watermark the video as AI-generated.
last_image_urloptIMAGEURL of the image used as the closing frame. Only accepted together with image_url.

Outputs (3)

NameTypeDescription
videoVIDEO—
last frameIMAGENeeds return_last_frame turned on.
task idSTRINGThe PopNow task id, for the API console logs or support.