Browse ModelsBytedanceBytedance Seedance 2.0 Video Extend

Bytedance Seedance 2.0 Video Extend

Bytedance Seedance 2.0 Video Extend

Playground

Try it on WavespeedAI!

Seedance 2.0 (Video-Extend) extends an input video with a new cinematic continuation generated from its last frame and a natural-language prompt.

Features

Seedance 2.0 Video-Extend

Seedance 2.0 Video-Extend appends a new cinematic continuation to an existing video. The model generates a fresh segment from the input video’s last frame and a natural-language prompt, then the original and new segment are concatenated into a single output.


Key Features

  • Seamless continuation — Generation starts from the input video’s last frame so the join is visually consistent.
  • Optional target last frame — Provide last_image to steer the new segment toward a specific end frame.
  • Director-level control — Camera movement, lighting, shadows, and character performance via prompts.
  • Native audio synchronization — Audio from both the original video and the new segment are preserved in the final output.

Parameters

ParameterRequiredDescription
promptYesDescribe the cinematic continuation.
videoYesInput video URL. Generation continues from the last frame.
last_imageNoOptional target last-frame URL. Interpolates from the input’s last frame to this image.
durationNoLength in seconds of the new segment (4-15, default 5).
resolutionNo480p, 720p (default), or 1080p.
enable_web_searchNoEnable web search for real-time context.

How to Use

  1. Upload the input video. The new segment will be appended to it.
  2. Write the prompt. Describe the continuation in cinematic detail.
  3. (Optional) Upload a target last frame. The new segment will interpolate to this image.
  4. Pick a duration and resolution.
  5. Run. Receive the original video plus the new segment concatenated into one output.

Pricing

Billed per second of the new segment only. Resolution multipliers match Seedance 2.0 image-to-video.

ResolutionPer second
480p$0.12
720p$0.24
1080p$0.60

Examples (5s extension):

ResolutionCost
480p$0.60
720p$1.20
1080p$3.00

Notes

  • Pricing is based on the new segment length only — the input video is not re-billed.
  • Aspect ratio of the new segment matches the input video’s last frame automatically.
  • Native audio generation is included for the new segment; the original video’s audio is preserved.

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result


# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/bytedance/seedance-2.0/video-extend" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "resolution": "720p",
    "duration": 5,
    "enable_web_search": false
}'

# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
promptstringYes-Describe the cinematic continuation — action, camera movement, lighting, mood.
videostringYes-URL of the input video to extend. Generation continues from the last frame.
last_imagestringNo--Optional target last-frame URL. If provided, the new segment interpolates from the input video's last frame to this image.
resolutionstringNo720p480p, 720p, 1080pOutput resolution of the new segment.
durationintegerNo54 ~ 15Length in seconds of the new segment to append (4-15).
enable_web_searchbooleanNofalse-Enable web search for real-time information.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction, the ID of the prediction to get
data.modelstringModel ID used for the prediction
data.outputsobjectArray of URLs to the generated content (empty when status is not completed).
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2025 WaveSpeedAI. All rights reserved.