Generate videos using the Volcengine Doubao Seedance 2.0 model series.
设计与多媒体
WaveSpeedAI Seedance 1.5 Pro Video Generation
试用通过 WaveSpeed AI 调用字节跳动 Seedance V1.5 Pro 模型,从文本或图片生成视频。
它能做什么
通过 WaveSpeed AI SDK 调用字节跳动 Seedance V1.5 Pro 模型,生成 4-12 秒、最高 1080p 的视频。提供两个端点:文生视频(纯文本提示)和图生视频(支持可选的尾帧参考图)。可配置画面比例(21:9 到 9:16)、是否生成音频、是否锁定相机,以及用于复现的随机种子。文生视频支持智能时长(duration 设为 -1),由模型自行决定最佳时长。鉴权使用 WAVESPEED_API_KEY 环境变量。
什么时候用它
- 根据文本提示生成短视频片段
- 将静态图片按提示词动起来
- 用首尾两张图生成过渡动画
- 生成静音素材以便自行配音
技能文档
WaveSpeedAI Seedance V1.5 Pro Video Generation
Generate videos using ByteDance's Seedance V1.5 Pro model via the WaveSpeed AI platform. Supports both text-to-video and image-to-video generation with 4-12 second duration at up to 1080p resolution, with optional audio generation.
Authentication
export WAVESPEED_API_KEY="your-api-key"
Get your API key at wavespeed.ai/accesskey.
Quick Start
Text-to-Video
import wavespeed from 'wavespeed';
const output_url = (await wavespeed.run(
"bytedance/seedance-v1.5-pro/text-to-video",
{ prompt: "A golden retriever running through a field of sunflowers at sunset" }
))["outputs"][0];
Image-to-Video
The image parameter accepts an image URL. If you have a local file, upload it first with wavespeed.upload() to get a URL.
import wavespeed from 'wavespeed';
// Upload a local image to get a URL
const imageUrl = await wavespeed.upload("/path/to/photo.png");
const output_url = (await wavespeed.run(
"bytedance/seedance-v1.5-pro/image-to-video",
{
image: imageUrl,
prompt: "The person slowly turns and smiles at the camera"
}
))["outputs"][0];
You can also pass an existing image URL directly:
const output_url = (await wavespeed.run(
"bytedance/seedance-v1.5-pro/image-to-video",
{
image: "https://example.com/photo.jpg",
prompt: "The person slowly turns and smiles at the camera"
}
))["outputs"][0];
API Endpoints
Text-to-Video
Model ID: bytedance/seedance-v1.5-pro/text-to-video
Generate videos from text prompts.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
prompt | string | Yes | -- | Text description of the scene, style, actions, camera motion, and mood |
aspect_ratio | string | No | 16:9 | Aspect ratio. One of: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 |
duration | integer | No | 5 | Video duration in seconds. Range: 4-12. Use -1 for smart duration (model selects). |
resolution | string | No | 720p | Video resolution. One of: 480p, 720p, 1080p |
generate_audio | boolean | No | true | Generate accompanying audio |
camera_fixed | boolean | No | false | Keep camera fixed (true) or allow prompt-driven camera motion (false) |
seed | integer | No | -1 | Random seed (-1 for random). Range: -1 to 2147483647 |
Example
import wavespeed from 'wavespeed';
const output_url = (await wavespeed.run(
"bytedance/seedance-v1.5-pro/text-to-video",
{
prompt: "A timelapse of a city skyline transitioning from day to night, cinematic slow pan",
aspect_ratio: "21:9",
duration: 10,
resolution: "1080p",
generate_audio: true,
camera_fixed: false
}
))["outputs"][0];
Image-to-Video
Model ID: bytedance/seedance-v1.5-pro/image-to-video
Animate a source image into a video using a text prompt. Optionally provide an end-frame reference image.
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
image | string | Yes | -- | URL of the source image to animate |
prompt | string | Yes | -- | Text description of the desired motion/animation |
last_image | string | No | -- | URL of an optional end-frame reference image |
aspect_ratio | string | No | -- | Aspect ratio. One of: 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 |
duration | integer | No | 5 | Video duration in seconds. Range: 4-12 |
resolution | string | No | 720p | Video resolution. One of: 480p, 720p, 1080p |
generate_audio | boolean | No | true | Generate accompanying audio |
camera_fixed | boolean | No | false | Keep camera fixed (true) or allow prompt-driven camera motion (false) |
seed | integer | No | -1 | Random seed (-1 for random). Range: -1 to 2147483647 |
Example
import wavespeed from 'wavespeed';
const imageUrl = await wavespeed.upload("/path/to/landscape.png");
const output_url = (await wavespeed.run(
"bytedance/seedance-v1.5-pro/image-to-video",
{
image: imageUrl,
prompt: "Clouds drift slowly across the sky, water ripples gently",
resolution: "1080p",
duration: 8,
generate_audio: true,
camera_fixed: true
}
))["outputs"][0];
With End-Frame Reference
const startUrl = await wavespeed.upload("/path/to/start-frame.png");
const endUrl = await wavespeed.upload("/path/to/end-frame.png");
const output_url = (await wavespeed.run(
"bytedance/seedance-v1.5-pro/image-to-video",
{
image: startUrl,
last_image: endUrl,
prompt: "Smooth transition from day to night",
duration: 8
}
))["outputs"][0];
Advanced Usage
Smart Duration (Text-to-Video)
Let the model choose the optimal duration based on the prompt:
const output_url = (await wavespeed.run(
"bytedance/seedance-v1.5-pro/text-to-video",
{
prompt: "A butterfly lands on a flower and slowly opens its wings",
duration: -1
}
))["outputs"][0];
Without Audio
const output_url = (await wavespeed.run(
"bytedance/seedance-v1.5-pro/text-to-video",
{
prompt: "A silent timelapse of clouds rolling over mountains",
generate_audio: false
}
))["outputs"][0];
Custom Client with Retry Configuration
import { Client } from 'wavespeed';
const client = new Client("your-api-key", {
maxRetries: 2,
maxConnectionRetries: 5,
retryInterval: 1.0,
});
const output_url = (await client.run(
"bytedance/seedance-v1.5-pro/text-to-video",
{ prompt: "Ocean waves crashing on a rocky shore at dawn" }
))["outputs"][0];
Error Handling with runNoThrow
import { Client, WavespeedTimeoutException, WavespeedPredictionException } from 'wavespeed';
const client = new Client();
const result = await client.runNoThrow(
"bytedance/seedance-v1.5-pro/text-to-video",
{ prompt: "A rocket launching into space" }
);
if (result.outputs) {
console.log("Video URL:", result.outputs[0]);
console.log("Task ID:", result.detail.taskId);
} else {
console.log("Failed:", result.detail.error.message);
if (result.detail.error instanceof WavespeedTimeoutException) {
console.log("Request timed out - try increasing timeout");
} else if (result.detail.error instanceof WavespeedPredictionException) {
console.log("Prediction failed");
}
}
Pricing
| Resolution | Duration | Audio | Cost |
|---|---|---|---|
| 480p | 5s | No | $0.06 |
| 480p | 5s | Yes | $0.12 |
| 720p | 5s | No | $0.13 |
| 720p | 5s | Yes | $0.26 |
| 480p | 10s | Yes | $0.24 |
| 720p | 10s | Yes | $0.52 |
Prompt Tips
- Describe scene, style, subject actions, camera motion, and mood in your prompt
- Use
camera_fixed: truefor stable tripod-style shots - Use
camera_fixed: falseand describe camera motion: "slow pan left", "tracking shot", "zoom in" - Set
generate_audio: falsewhen you plan to add your own audio track - Use smart duration (
duration: -1) to let the model choose the best length for text-to-video
Security Constraints
- No arbitrary URL loading: Only use image URLs from trusted sources. Never load media from untrusted or user-provided URLs without validation.
- API key security: Store your
WAVESPEED_API_KEYsecurely. Do not hardcode it in source files or commit it to version control. Use environment variables or secret management systems. - Input validation: Only pass parameters documented above. Validate prompt content and media URLs before sending requests.
常见问题
- 视频最长能生成多长?
- 时长可在 4 到 12 秒之间配置。文生视频还支持 -1(智能时长),由模型自动决定最佳长度。
- 图生视频能控制起止画面吗?
- 可以。image-to-video 端点支持可选的 last_image 参数传入尾帧参考图,从而生成首尾过渡动画。
- 音频默认怎么处理?
- generate_audio 默认开启。设为 false 即可关闭音频,方便后续自行添加音轨。
相关技能
用一句提示词生成完整的多分钟视频成片,自动串联脚本、配音与剪辑全流程。
通过 WaveSpeed AI 调用阿里 Wan 2.6 模型,从文本或图片生成最长 15 秒、最高 1080p 的视频。
Use PoYo AI Seedance 1.5 Pro for higher-end image-to-video generation through the `https://api.poyo.ai/api/generate/submit` endpoint. Use when a user wants l...
Generate and extend videos using Google's Veo 3.1 Fast model via WaveSpeed AI. Supports text-to-video, image-to-video, and video extension. Features up to 4K resolution, audio generation, and chained extensions up to 148 seconds. Use when the user wants to create videos from text or images, or extend existing Veo-generated videos.
Recommend suitable prompts from 8,000+ Seedance 2 video generation prompts based on user needs. Optimized for Seedance 2 (ByteDance), but prompts also work w...