Bytedance Seedance V1.5 Pro Video Extend Fast
Playground
Try it on WavespeedAI!Seedance 1.5 Pro Fast Video Extend turns short shots into longer clips with natural motion continuation and strong temporal consistency. Supports 4–12 s extensions, 720p/1080p output with built-in upscaling, and seed-reproducible results for shot matching. Ideal for ads, trailers, and short-drama beats. Production-ready REST API with fast response, no cold starts, and affordable pricing.
Features
ByteDance Seedance V1.5 Pro Fast — Video Extend
Seedance V1.5 Pro Fast (Video Extend) extends an existing video into a longer clip while maintaining motion continuity, subject consistency, and scene coherence. Use a guiding prompt to control what happens next, choose duration and resolution, and optionally generate audio for the extended segment.
Why it stands out
- Smooth continuation that follows the original clip’s motion rhythm and visual style
- Prompt-guided extension to steer actions, mood, and camera behavior
- Resolution control with a simple cost multiplier (720p vs 1080p)
- Optional audio generation with transparent pricing impact
Key Capabilities
-
Natural motion continuation Extends movement in a way that feels consistent with the input clip.
-
Scene coherence preservation Keeps lighting, composition, and identity cues stable across the extension.
-
Prompt-guided direction Describe what should happen next without rebuilding the scene from scratch.
-
Optional audio generation Enable or disable audio generation (pricing differs).
Parameters
| Parameter | Description |
|---|---|
| video* | Input video (public URL or uploaded file reference, depending on client). |
| prompt* | Describe what should happen next and what must remain consistent. |
| duration | Output duration in seconds, up to 12s (allowed values depend on the endpoint configuration). |
| resolution | Output resolution: 720p or 1080p. |
| generate_audio | Whether to generate audio for the output video (true/false). |
| camera_fixed | Whether to fix the camera position (true/false). |
| seed | Random seed (-1 for random; set a fixed integer for reproducible results). |
Prompt Tips
Write prompts like a continuation director’s note:
- Action next: what happens after the input ends
- Motion intensity: subtle / smooth / dynamic / dramatic
- Camera behavior: fixed / slow pan / gentle zoom (if you care, say it)
- Consistency constraints: “keep the same character, outfit, lighting, framing”
Example prompts:
- Continue the scene with the woman giving a wink to the camera, keep the same lighting and framing, subtle motion, natural facial expression.
- Extend with a slow zoom out to reveal more of the environment while keeping the subject centered and the mood unchanged.
Pricing
Reference pricing (generate_audio = true)
| Resolution | Price per second | Example (5s) | Example (10s) |
|---|---|---|---|
| 720p | $0.04 | $0.20 | $0.40 |
| 1080p | $0.06 | $0.30 | $0.60 |
Reference pricing (generate_audio = false)
| Resolution | Price per second | Example (5s) | Example (10s) |
|---|---|---|---|
| 720p | $0.02 | $0.10 | $0.20 |
| 1080p | $0.03 | $0.15 | $0.30 |
Best Practices
- Use clean input videos (clear subject, stable exposure, minimal compression artifacts).
- Keep prompts specific but short, and state what must stay the same.
- Start with 5s to validate motion and framing before extending longer.
- Use 720p for fast preview iterations, then switch to 1080p for final.
- Set a fixed seed when you want consistent reruns while refining the prompt.
Use Cases
- Ad creative extension (turn short shots into longer deliverables)
- Social content variations (longer cuts from a base clip)
- Storytelling continuity (extend key moments with controlled motion)
- Marketing edits (extend hero scenes with stable aesthetics)
Notes
- The input video must be accessible to the runtime (public URL or valid uploaded reference).
- If motion drifts or changes too much, add stronger constraints: “keep face unchanged”, “keep camera fixed”, “same outfit and lighting”.
- Capability and allowed duration values can vary by deployment; rely on the endpoint’s UI/validator for the exact supported options.
Related Models
- Seedance V1.5 Pro Video Extend — Standard video extension option for stable, production-oriented continuation.
- Seedance V1.5 Pro (Text-to-Video Fast) — Generate new videos from text prompts with fast turnaround.
- Seedance V1.5 Pro (Image-to-Video Fast) — Animate a still image into video with fast generation speed.
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-v1.5-pro/video-extend-fast" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"duration": 5,
"resolution": "720p",
"generate_audio": true,
"camera_fixed": false,
"seed": -1
}'
# 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
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | Yes | - | The positive prompt for the generation. | |
| video | string | Yes | - | The video URL to extend. | |
| duration | integer | No | 5 | 4 ~ 12 | The duration of the generated media in seconds. |
| resolution | string | No | 720p | 720p, 1080p | Video resolution. |
| generate_audio | boolean | No | true | - | Whether to generate audio. |
| camera_fixed | boolean | No | false | - | Whether to fix the camera position. |
| seed | integer | No | -1 | -1 ~ 2147483647 | The random seed to use for the generation. -1 means a random seed will be used. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | string | Array of URLs to the generated content (empty when status is not completed). |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |