Seedance 2.0 Fast
ByteDance Seedance 2.0 Fast — speed-optimized variant with multimodal references and audio.
POST /v2/videos/generate — model: "seedance-2-fast"
Seedance 2.0 Fast is the speed-optimized variant of Seedance 2.0. It shares the same multimodal reference inputs, audio generation, and web search capabilities at lower cost and faster generation times.
See Video Generation overview for common request fields, response format, and error codes.
Model-specific parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
seedanceParams.duration | integer | 8 | Video duration in seconds, any integer from 4 to 15 |
seedanceParams.resolution | string | "720p" | Output resolution: "480p" or "720p" |
seedanceParams.aspect_ratio | string | "16:9" | Aspect ratio: "21:9", "16:9", "4:3", "1:1", "3:4", "9:16", or "adaptive" |
seedanceParams.start_image | string | — | URL or asset://{assetId} for the first frame |
seedanceParams.end_image | string | — | URL or asset://{assetId} for the last frame |
seedanceParams.reference_image_urls | string[] | — | Up to 9 reference image URLs or asset URIs |
seedanceParams.reference_video_urls | string[] | — | Up to 3 reference video URLs or asset URIs |
seedanceParams.reference_audio_urls | string[] | — | Up to 3 reference audio URLs or asset URIs |
seedanceParams.generate_audio | boolean | true | Enables synchronized audio generation. Audio is included in the base price. |
seedanceParams.return_last_frame | boolean | false | Returns the last frame of the generated video |
seedanceParams.web_search | boolean | false | Enables web search grounding for the prompt |
seedanceParams.seed | integer | — | Optional random seed for reproducible generations |
seedanceParams.camera_fixed | boolean | false | Locks the camera for more static motion |
Asset references
Reference fields (start_image, end_image, reference_image_urls, reference_video_urls, reference_audio_urls) accept both direct URLs and asset URIs in the format asset://{assetId}. Use the Assets API to pre-upload media and obtain asset IDs.
Credit cost
Pricing is per second of output. The total credit cost is credits-per-second × duration. Reference images and audio do not affect cost; only reference_video_urls does (it shifts pricing to the *-refvid rate because reference video changes the upstream generation mode).
| Variant | Credits / sec |
|---|---|
480p | 1 |
720p | 2 |
480p-refvid | 2 |
720p-refvid | 4 |
Examples: a 5-second 720p clip costs 2 × 5 = 10 credits; a 15-second 720p-refvid clip costs 4 × 15 = 60 credits.
Code examples
curl -X POST https://api.apiframe.ai/v2/videos/generate \
-H "X-API-Key: afk_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A timelapse of a flower blooming in a garden, close up macro shot",
"model": "seedance-2-fast",
"seedanceParams": {
"duration": 4,
"resolution": "720p",
"generate_audio": false
}
}'import requests
response = requests.post(
"https://api.apiframe.ai/v2/videos/generate",
headers={
"X-API-Key": "afk_your_api_key_here",
"Content-Type": "application/json",
},
json={
"prompt": "A timelapse of a flower blooming in a garden, close up macro shot",
"model": "seedance-2-fast",
"seedanceParams": {
"duration": 4,
"resolution": "720p",
"generate_audio": False,
},
},
)
print(response.json())const response = await fetch("https://api.apiframe.ai/v2/videos/generate", {
method: "POST",
headers: {
"X-API-Key": "afk_your_api_key_here",
"Content-Type": "application/json",
},
body: JSON.stringify({
prompt: "A timelapse of a flower blooming in a garden, close up macro shot",
model: "seedance-2-fast",
seedanceParams: {
duration: 4,
resolution: "720p",
generate_audio: false,
},
}),
});
console.log(await response.json());Try it
/v2/videos/generateTry it