Bytedance Seedance 2.0 Fast Image To Video Spicy
Playground
Try it on WavespeedAI!Seedance 2.0 Fast Spicy Image-to-Video generates unlimited high-quality cinematic clips from images at faster speed and lower cost, optimized for scalable content generation with smooth animations and stable aesthetics. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
Seedance 2.0 Fast Spicy — Image-to-Video
Seedance 2.0 Fast Spicy generates unlimited high-quality cinematic clips from images at faster speed and lower cost than the standard Seedance 2.0 Spicy. It transforms static images into dynamic video with bold motion, rich tonal contrast, and stable temporal coherence — perfect for high-volume, iteration-heavy creative workflows.
Why It Works Well
- Speed-optimized generation: Faster processing for quick turnaround.
- 17% lower base cost than Seedance 2.0 Spicy.
- Unlimited-style generation: Optimized for high-quality, smooth animations at scale.
- Expressive motion: Bold, vivid motion with stable aesthetics and natural transitions.
- Flexible resolution: 480p, 720p (default), or 1080p to match your needs.
- Duration control: 4–15 second clips with fine-grained control.
- Native audio: Optional synchronized audio for complete audiovisual output.
Parameters
| Parameter | Required | Description |
|---|---|---|
| image | Yes | Reference image to animate (URL or upload). |
| prompt | No | Describe the motion, story, and style. |
| last_image | No | Optional ending frame to steer final composition. |
| duration | No | Video length in seconds (4–15, default: 5). |
| resolution | No | 480p, 720p (default), or 1080p. |
| aspect_ratio | No | 21:9, 16:9, 4:3, 1:1, 3:4, 9:16. |
| generate_audio | No | Generate synchronized audio (default: true). |
| seed | No | Random seed; -1 for random. |
How to Use
- Upload your image (ensure clarity and proper framing).
- (Optional) Enter a prompt describing desired motion, mood, or camera movement.
- Select resolution and duration.
- (Optional) Set aspect_ratio to match your target platform.
- (Optional) Set a seed for consistent results.
- Click Run to generate your video.
Pricing
| Resolution | Duration | Audio On | Audio Off |
|---|---|---|---|
| 480p | 5 s | $0.50 | $0.25 |
| 720p | 5 s | $1.00 | $0.50 |
| 1080p | 5 s | $2.50 | $1.25 |
| 480p | 10 s | $1.00 | $0.50 |
| 720p | 10 s | $2.00 | $1.00 |
| 1080p | 10 s | $5.00 | $2.50 |
| 480p | 15 s | $1.50 | $0.75 |
| 720p | 15 s | $3.00 | $1.50 |
| 1080p | 15 s | $7.50 | $3.75 |
Billing Rules
- Base rate (480p, audio on): $0.50 per 5 seconds
- 720p: 2× the 480p price
- 1080p: 5× the 480p price (2.5× the 720p price)
- Audio off: 0.5× multiplier on top of the resolution rate
- Duration range: 4–15 seconds (continuous)
Notes
- Works best with clear, well-lit images.
- Match aspect ratios to your input image to avoid awkward crops.
- Use Fast Spicy for iteration; switch to Seedance 2.0 Spicy when you need maximum quality.
Related Models
- Seedance 2.0 Fast Image-to-Video — Standard Fast tier.
- Seedance 2.0 Image-to-Video Spicy — Standard Spicy tier with maximum quality.
- Seedance V1.5 Pro Image-to-Video Spicy — Previous-generation spicy variant.
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-fast/image-to-video-spicy" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"resolution": "720p",
"duration": 5,
"generate_audio": true,
"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 |
|---|---|---|---|---|---|
| image | string | Yes | - | Start image URL to guide the video generation. | |
| prompt | string | No | - | Describe the scene, action, camera movement, and mood for the video. | |
| last_image | string | No | - | - | Last frame image URL for video continuation. |
| aspect_ratio | string | No | - | 16:9, 9:16, 4:3, 3:4, 1:1, 21:9 | The aspect ratio of the generated video. If not specified, adapts to the input image. |
| resolution | string | No | 720p | 480p, 720p, 1080p | The output video resolution. |
| duration | integer | No | 5 | 4 ~ 15 | The duration of the generated video in seconds (4-15s). |
| generate_audio | boolean | No | true | - | Whether to generate native audio synchronized with the output video. Defaults to true. |
| 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.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 | object | 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 |