Seedance 1.5 Pro
ByteDance's Seedance 1.5 Pro. AI video generation up to 1080p with audio, 4-12 seconds.
/v1/media/queueOverview
ByteDance's Seedance 1.5 Pro — video generation up to 1080p with built-in audio. Async operation — submit a job, poll for completion.
| Property | Value |
|---|---|
| Model ID | bytedance/seedance-1-5-pro |
| Provider | ByteDance |
| Resolutions | 480p, 720p, 1080p |
| Aspect Ratios | 1:1, 3:4, 9:16, 9:21, 4:3, 16:9, 21:9 |
| Duration | 4–12 seconds |
| Audio Generation | Supported |
| Billing | Dynamic (actual cost per job) |
| Pricing | from $0.46/second |
Usage
All media models use the async job queue. Submit a job, then poll for the result.
Step 1: Submit Job
Text-to-Video
const res = await fetch('https://api.yepapi.com/v1/media/queue', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'bytedance/seedance-1-5-pro',
prompt: 'A cinematic drone shot over a rugged coastline at golden hour',
options: {
aspectRatio: '16:9',
resolution: '720p',
duration: '5',
},
}),
});
const { data } = await res.json();
// data.jobId — use this to poll for resultscurl -X POST https://api.yepapi.com/v1/media/queue \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "bytedance/seedance-1-5-pro", "prompt": "A cinematic drone shot over a rugged coastline", "options": {"aspectRatio": "16:9", "resolution": "720p", "duration": "5"}}'Image-to-Video
Pass a reference image via imageData with an imageRole (first_frame or last_frame) to generate a video from a still image.
const res = await fetch('https://api.yepapi.com/v1/media/queue', {
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'bytedance/seedance-1-5-pro',
prompt: 'Animate this scene — clouds drifting, light changing',
options: {
aspectRatio: '16:9',
resolution: '720p',
duration: '5',
imageRole: 'first_frame',
},
imageData: {
mimeType: 'image/jpeg',
base64: '...', // Base64-encoded image
},
}),
});Step 2: Poll for Result
const status = await fetch(`https://api.yepapi.com/v1/media/status/${data.jobId}`, {
headers: { 'x-api-key': 'YOUR_API_KEY' },
});
const { data: job } = await status.json();
// job.status — "pending" | "processing" | "completed" | "failed"
// job.result.video — { mimeType, base64 } when completedcurl https://api.yepapi.com/v1/media/status/JOB_ID \
-H "x-api-key: YOUR_API_KEY"Request Body
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
model | string | Yes | bytedance/seedance-1-5-pro or aliases seedance-pro, seedance-1-5-pro | — |
prompt | string | Yes | Text description of the video to generate | — |
options.aspectRatio | string | No | One of: 1:1, 3:4, 9:16, 9:21, 4:3, 16:9, 21:9 | 16:9 |
options.resolution | string | No | 480p, 720p, 1080p | 480p |
options.duration | string | No | 4 to 12 (seconds) | 5 |
options.generateAudio | boolean | No | Generate an audio track for the video | false |
options.imageRole | string | No | How to use the input image: first_frame or last_frame | first_frame |
imageData.mimeType | string | No | MIME type of input image (image/png, image/jpeg, image/webp) | — |
imageData.base64 | string | No | Base64-encoded input image for image-to-video generation | — |
Pricing
| Tier | Cost/sec |
|---|---|
| 720p (typical) | $0.46 |
Example: 5-second video ≈ 5 x $0.46 = $2.30. Billing is dynamic — each job is billed from the actual cost of the finished video, so shorter or lower-resolution jobs cost less.
Video jobs can take several minutes to complete. Results retained for 1 hour.
Powered by ByteDance's Seedance 1.5 Pro via our AI provider. 100% margin on upstream costs.