Skip to main content

ByteDance's Seedance 2.0 image-to-video starts the clip on a still you supply and animates it, with sound in the same pass. Clips run 4 to 15 seconds at 480p, 720p, 1080p or 4K, and an optional closing still makes the shot arrive on a set frame.

From $0.07/s

Workbench

Input

Image to video
Optional, but worth writing: say what happens after the frame rather than restate what is already visible — the action, the camera move, the passage of time, the sound. Left out, the model decides the motion on its own. Because the still already fixes the picture, this is the path that survives uncensored briefs — content that is in the frame does not have to be argued for in words.
1/1

Drop files or media links, paste, or browse · 1 file · Max 10 MB · JPG · PNG · WEBP · GIF

  • 1
1 / 1 files
Public, directly downloadable link to the first frame; required. It fixes composition, how the subject looks, the grade, and the quality ceiling — raising `resolution` will not sharpen a soft source. Text, watermarks, and logos carry into the video, so clean them off where possible. In a chained sequence this is usually the closing still returned by the previous segment. Seedance's own input check may turn away a photo that shows a real, identifiable person's face. Each side must be between 300 and 6000 pixels; a smaller plate is rejected by the input check before you are charged.
0/1

Drop files or media links, paste, or browse · 1 file · Max 10 MB · JPG · PNG · WEBP · GIF

0 / 1 files
Optional closing frame, only valid together with `image_url`. It decides the picture the shot lands on: transitions, before-and-after pairs, or a seamless loop that opens and closes on the same still. Keep the camera and light steady between the two and change a single clear state, or the middle turns into a cut. Each side must be between 300 and 6000 pixels; a smaller plate is rejected by the input check before you are charged.
Output framing, `adaptive` by default: the clip follows the ratio of the image you supplied, which removes the pre-crop step and keeps the subject away from the edges. Choose a fixed ratio only when the placement format is already set; the still is then centre-cropped to it. No effect on billing.
affects price
Output resolution, 720p by default and reaching 4k; no upscaled tier is offered here. It sets a rate tier, and higher tiers mean bigger files and longer renders. It governs the delivered format only and adds no detail the source frame does not have.
Durationaffects price
Length in whole seconds, 4 to 15, defaulting to 5, and the billed quantity. Pass -1 and the model picks the length itself: the estimate assumes the 15-second maximum and the final charge follows the delivered length. A shot driven by one frame drifts further the longer it runs, so confirm the motion at 4 or 5 seconds, and build longer pieces from several takes cut together. no lower than 4 · no higher than 15
Generate audioaffects price
Whether a native soundtrack is rendered in sync with the picture. On by default; switch it off for silent loops or when sound is added in post.
Safety checkerOff

SpicyAPI does not run a safety checker on this model. Your prompt and media go to the model as written, and the model itself decides what comes back.

Checking your account before enabling submission and pricing.

Output

Ready for a new run
Example result

Related models and next tasks

Missing the model you need?

Tell us what to add and where you would use it. Requests go to the people who decide what gets onboarded next.

Carry an approved frame into 4K motion

Seedance 2.0's image-to-video endpoint animates a still you supply as image_url, running 4 to 15 seconds at up to 4K, the same reach text-to-video has. The opening frame decides composition, wardrobe and grade for the whole clip, an optional last_image_url fixes the frame it lands on, and duration_seconds accepts -1 for smart duration when the length is better left to the model.

Open the playground
Carry an approved frame into 4K motion
Required input
image_url (opening frame); prompt optional
Optional input
last_image_url, only valid with image_url
Duration
4-15 seconds, or -1 for smart duration
Resolution
up to 4k, no upscaled tier
Aspect ratio
adaptive by default, follows image_url's own ratio
Audio
generate_audio on by default, renders with the picture
Two frame roles
One required input frame, one optional output-anchoring frameSet return_last_frame to true to receive the final frame as a separate image, then use it as image_url in the next image-to-video request. Each following segment is a new generation.
Identity
The reference owns appearance, the prompt owns changeSubject, wardrobe and composition come from image_url. Prompt space is best spent on motion, camera and timing rather than restating what the picture already shows in full detail.
Reach
Same 4K ceiling as text-to-videoSupplying an opening frame costs nothing in output range: this endpoint carries the same 4 to 15 seconds and the same four resolution steps, 480p through 4k, that text-to-video does.

What the Seedance 2.0 API does well

A hard constraint on the ending, if you want one

A hard constraint on the ending, if you want one

last_image_url is only accepted together with image_url. Supply it when the destination frame genuinely matters, such as a loop or a planned cut point, and leave it out when the ending should be discovered by the model on its own.

Continuing a clip means reusing its own last frame

Continuing a clip means reusing its own last frame

Set return_last_frame to true to receive the final frame as a separate image, then use it as image_url in the next image-to-video request. Each following segment is a new generation.

  • Real-world accuracy rides on image_url, not a lookup

    This endpoint doesn't check a named landmark or object against any external source. A photo of the real subject supplied as image_url is more reliable for accuracy than describing that same subject in words alone.

  • 4K without switching endpoints

    The same image-to-video call that runs at 480p for a quick composition check can be resubmitted at 4k for final delivery, with resolution as the only field that needs to change between the two calls.

  • Sound comes out of the same pass as the picture

    generate_audio is on by default, so ambience and voices arrive already locked to the frames instead of waiting on a separate scoring step. Switch it off when the edit will be scored later; resolution is the field that moves this endpoint into a different rate tier, not generate_audio.

  • adaptive follows the image's own ratio

    On this endpoint, adaptive doesn't guess a shape from the prompt: it reads the aspect ratio of image_url directly, which skips a manual pre-crop step and keeps the subject away from the frame edges without any extra field to set.

Who Seedance 2.0 is for

  • Animate a finished still without redesigning it

    Approved key art going to 4K delivery

    Animate a finished still without redesigning it

    The image is the source of truth for everything visual; the prompt directs only what happens next in the clip, so review time goes into approving the still rather than iterating across repeated video renders of it.

  • Chain calls by reusing the delivered frame

    Sequences built segment by segment

    Chain calls by reusing the delivered frame

    Each segment's saved final frame can become the next segment's image_url, keeping continuity at the cost of one saved frame per hand-off. The Video Extend endpoint does the same from the last frame in one call and joins the clips.

  • Set last_image_url when the ending is non-negotiable

    A loop or a fixed cut point

    Set last_image_url when the ending is non-negotiable

    Useful for content that has to land on a specific frame, such as a logo reveal or a matched cut into the next shot, in cases where letting the model discover its own ending on its own isn't acceptable.

  • Let image_url carry the real-world accuracy

    Product or location shots that must match a reference exactly

    Let image_url carry the real-world accuracy

    There's no lookup step here at all. A product, building or object photographs correctly because the reference image shows it directly, which a written description alone can't guarantee to the same degree of precision or detail.

How to call the Seedance 2.0 API

  1. Approve the image before animating it

    Every flaw in the reference persists through the whole clip. Resolve composition, lighting and cropping issues in the still itself, not after rendering the video from it. prompt is optional here; left blank, the model decides the motion on its own.

  2. Decide if the ending is fixed or discovered

    Add last_image_url only when the destination frame is a real requirement, such as a loop; otherwise let the model find its own ending from the prompt alone.

  3. Decide the hand-off frame before rendering a sequence

    If a second segment is likely, plan where the first one should end before you render it: Video Extend picks up from its last frame, and a hand-off by image_url needs that frame saved.

  4. Write motion and camera, not a re-description

    The picture already states what's there. The prompt's value is in what changes over the clip's duration, not in restating the subject or setting already visible.

Seedance 2.0 worked examples

  • A key visual animated for 4K delivery

    image_url is the approved hero frame, resolution 4k, 10 seconds, last_image_url left unset so the ending stays open for the model to resolve from the prompt.

    Bring gentle life to the still: fabric moves slightly in a breeze, light shifts subtly across the surface, camera holds its position
  • A two-call continuation using a saved frame

    Call one renders normally; a frame saved from its output becomes call two's image_url, continuing the same take at the cost of one extra request. Video Extend does it in one call from the last frame and joins the result.

    Call one: a hand slowly lifts a cup from the table. Call two (from the saved final frame): the cup reaches the lips, steam curling upward, camera unchanged
  • A loop that opens and closes on one still

    The same file is passed as image_url and as last_image_url, resolution 1080p, 5 seconds, so the clip finishes on the frame it started from and can run on repeat without a visible cut.

    A silk ribbon lifts off the table in a slow draft and settles back exactly where it began, one window light, camera locked off

Seedance 2.0 API questions

image_url is the fact and the prompt is the instruction: describe what changes over the clip, not what the frame already shows. Fix problems in the still before rendering, because raising resolution changes the delivered format and the rate tier without recovering detail the source never captured. Decide generate_audio in the same breath, since the soundtrack is rendered with the picture rather than added to it later.