Skip to main content

Seedance 1.5 Pro image-to-video from ByteDance starts the clip on a still you supply and animates it. Clips run 4 to 12 seconds at 480p, 720p or 1080p with native audio, and a camera lock keeps the framing exactly as composed.

From $0.011/s

Workbench

Input

Image to video
Required, and it should say what happens after the frame rather than restate what is already visible: the action, the passage of time, the sound. With camera_fixed true, keep every described movement inside the frame — a camera instruction and a locked camera pull against each other. Because the still already fixes the picture, this is also the path that survives uncensored briefs. at least 3 characters
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 of the clip — a soft or heavily compressed source shows up magnified in motion. Text, watermarks, and logos in the still travel into the video, so clean them off first where you can. Keep the file under 10 MB, as JPEG, PNG or WebP.
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: send it with `image_url` and the shot has to land on this still, which makes transitions and before-and-after pairs repeatable. Give it the same proportions as the opening frame. Available at 480p and 720p; a 1080p request that sets it is refused. No effect on price.
Output framing, six fixed values, 16:9 by default. There is no adaptive option in this generation, so a mismatch with the source is resolved by reframing to the requested ratio and the subject can lose its margins. Matching the source crop is the reliable route.
affects price
Output resolution, 720p by default and 1080p at the top; nothing higher is offered here. It sets a rate tier. Note that it governs the delivered format only — it will not rescue a soft source frame.
Durationaffects price
Length in whole seconds, 4 to 12, defaulting to 5, and the billed quantity. The longer a shot runs, the further it drifts from its source frame, so confirm the motion at 4 or 5 seconds before extending. no lower than 4 · no higher than 12
Generate audioaffects price
Whether a native soundtrack is rendered in sync with the picture. On by default and priced in a higher tier; switch it off for silent product loops or when sound is added in post.
Lock camera
Locks the camera, false by default. Set to true and the frame holds still while the subject moves within it — ideal for product shots and plates destined for a static background. Leave it false when you want a push, pan, or tilt, and say so in the prompt.
Seed
Integer from 0 to 2147483647 for the random start; leave it out and every run draws its own. Hold it fixed while you change one thing at a time to see what that change did — it keeps the starting noise the same, not the clip frame for frame. Available at 480p and 720p; a 1080p request that sets it is refused. No effect on price. no lower than 0 · no higher than 2147483647
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.

Animate one frame you already approved

Seedance 1.5 Pro's image-to-video endpoint takes image_url as the opening frame and animates it for 4 to 12 seconds at up to 1080p, with sound rendered in the same pass. The still fixes composition, likeness and grade, so the prompt only has to say what moves. Use last_image_url with image_url at 480p or 720p when the shot needs a defined closing frame.

Open the playground
Animate one frame you already approved
Required input
prompt and image_url (the opening frame)
Closing frame
last_image_url · 480p / 720p
Duration
4-12 whole seconds (duration_seconds), default 5
Resolution
480p / 720p / 1080p, default 720p
Audio
generate_audio renders sound in the same pass, true by default
Reruns
Optional seed: integer from 0 to 2147483647 for controlled comparisons
One anchor
image_url starts it, nothing pins the endThis endpoint accepts a single picture. The clip begins on that frame and the ending is described in the prompt, so a shot that has to land on one exact final image is better planned as two takes cut together than as a single request.
Identity
The opening frame owns who is in itWardrobe, framing, grade and likeness all arrive with the picture, which also decides how good the clip can look, since nothing downstream sharpens a soft source. The prompt handles what happens next: the movement, the camera behaviour, and where the shot finishes.
Ceiling
The same limits as text-to-videoThe boundaries match the text endpoint: one image in, four to twelve seconds out, 1080p at the top and no reference-to-video companion on this generation. Use last_image_url with image_url at 480p or 720p when the shot needs a defined closing frame.

What the Seedance 1.5 Pro API does well

Camera lock still applies

Camera lock still applies

camera_fixed behaves here exactly as it does on text-to-video: set it and the framing you approved in the still is the framing the clip keeps, while the subject moves inside it. That combination is what turns a photograph into a plate for tracking or compositing, so watch the first take for drift before an edit is built on top of it.

Synced audio by default

Synced audio by default

generate_audio defaults to true, so an animated still comes back with sound attached. ByteDance describes the model as producing voices and spatial effects that coordinate with the visuals, with lip-sync across a range of languages, which is what makes a portrait plus a written line a usable talking-head take. Switch it off for silent loops, and remember audio selects a higher rate tier.

  • Six ratios, matched to the source or reframed

    The same six values as text-to-video apply: 21:9, 16:9, 4:3, 1:1, 3:4 and 9:16, defaulting to 16:9. Nothing reads the picture and adapts to it, so a still whose crop differs from aspect_ratio is fitted to the value you asked for and the subject can lose its margins. Crop the source first when the framing matters.

  • A fair way to compare motion variants

    Keep the prompt, seed, duration and resolution unchanged, then vary one setting at a time. On image-based tasks, reuse the same source images. Compare the staging and motion across a few takes to see whether the change helps.

  • A smaller contract, easier to reason about

    Pair prompt with image_url for the opening shot, add last_image_url at 480p or 720p when the ending matters, and use seed for controlled comparisons. Set duration_seconds, resolution, aspect_ratio, generate_audio and camera_fixed to suit the shot.

  • Check at 480p, deliver at 1080p

    Refine the shot at the lower resolution, then render the selected version at the delivery resolution with the same inputs and seed. Changing resolution starts a new generation, so review the final staging and motion before delivery.

Who Seedance 1.5 Pro is for

  • Approve the still, then set only the motion

    Product and interview shots

    Approve the still, then set only the motion

    Start from a photograph that has already cleared review, turn camera_fixed on, and write a prompt that names the one thing that should move. None of the composition is up for renegotiation, which is what makes this route predictable for listings, interviews and anything that has to match a still already in use.

  • Match the still to the destination ratio first

    Short-form social cuts

    Match the still to the destination ratio first

    Crop or shoot the source picture in the ratio the feed expects before generating, because a mismatch is resolved by fitting the image to the requested value rather than by adapting to what you sent. Vertical placements usually want the subject centred with headroom to spare, since a reframe takes the difference off the edges.

  • Animate one clear beat from a still

    First-pass exploration under 12 seconds

    Animate one clear beat from a still

    Four to twelve seconds is the range, so describe a single action: a turn, a gesture, a breath, a step into frame. Confirm it at four or five seconds first, because the longer a clip runs, the further the picture travels from the frame you started with.

  • One approved still, several spoken lines

    Localisation and dialogue tests

    One approved still, several spoken lines

    Keep image_url fixed and vary only the line in the prompt when the same presenter has to read different copy. ByteDance describes the model as supporting several languages and dialects, so a test render per language is how you find out what carries before a batch is committed.

How to call the Seedance 1.5 Pro API

  1. Approve the frame before animating it

    Whatever is wrong in the still is wrong in every frame of the clip, so fix exposure, crop and stray text first. Host the file at a public, directly downloadable URL as JPEG, PNG or WebP under 10 MB, since image_url takes a link rather than file bytes.

  2. Decide the camera before writing the rest of the prompt

    camera_fixed changes what the prompt has to carry. A held frame needs only the subject's movement described, while a free camera needs a direction and a pace for the move as well as the action happening inside the frame.

  3. Write what happens after frame one

    The picture already states what is there. Spend the prompt on what moves, how the camera behaves and how the shot should look at the end, since no field pins the ending down and the wording is the only thing that decides it.

  4. Set audio deliberately

    generate_audio is on unless you turn it off, and it selects a higher rate tier. Leave it on when a spoken line or ambience ships with the clip, and switch it off when the still is becoming a silent loop or a plate for a sound pass.

Seedance 1.5 Pro worked examples

  • A rotating product shot from a single photo

    image_url is the approved hero shot, camera_fixed true, 8 seconds — the product turns in place while the frame itself stays put.

    Slowly rotate the product 180 degrees in place, soft studio lighting stays constant, no camera movement, gentle turntable motion only
  • A talking-head beat animated from a still portrait

    image_url is an approved portrait, camera_fixed true, audio on, and the prompt carries the ending because no field can set it.

    The person in the portrait speaks calmly to camera, subtle breathing and blinking only, camera does not move, settles back to a still, closed-mouth expression by the last frame
  • A wide outdoor still brought to life with camera motion

    image_url is a still photograph, camera_fixed false, 10 seconds, 21:9, so the prompt directs a camera move rather than holding the frame the way the two shots above do.

    Slow push forward over the still lake in the photo, ripples spread outward as a light breeze picks up, mist drifts across the far shore, camera continues moving forward through the whole shot

Seedance 1.5 Pro API questions

Treat image_url as the fact and the prompt as the instruction: say what happens after the frame, not what the frame already shows. The ending has to be written in words, since no field pins it down, and a short clip keeps that ending within reach. When the approved framing has to survive the whole shot, turn camera_fixed on before worrying about the wording.