Seedance v1.0 Pro
Seedance v1.0 Pro is ByteDance's Pro-tier Seedance 1.0 video generation model, producing 1080p clips up to 12 seconds with advanced cinematic controls for both text-to-video and image-to-video workflows. Your use is subject to ByteDance's Terms & Privacy Policies.
View API reference- Price
- $0.02, Per secondLowest available configuration
import { experimental_generateVideo as generateVideo } from 'ai';
const result = await generateVideo({ model: 'bytedance/seedance-v1.0-pro', prompt: 'A serene mountain lake at sunrise.'});Copy link to headingPlayground
Try out Seedance v1.0 Pro by ByteDance. Usage is billed to your team at API rates. Free users (those who haven't made a payment) get $5 of credits every 30 days.
Your generated video will appear here.
Copy link to headingProviders
Route requests across multiple providers. Copy a provider slug to set your preference. Visit the docs for more info. Using a provider means you agree to their terms, listed under Legal.
| Provider |
|---|
Getting started
Generate videos with Seedance v1.0 Pro using the experimental_generateVideo function from AI SDK 6 or later. AI Gateway handles routing and polls until the video is ready.
Install the AI SDK (pnpm add ai dotenv), create an API key from the API Keys page, and set it as AI_GATEWAY_API_KEY in your environment. Full setup is covered in the video generation quickstart.
import { experimental_generateVideo as generateVideo } from 'ai';import fs from 'node:fs';import 'dotenv/config';
async function main() { const result = await generateVideo({ model: 'bytedance/seedance-v1.0-pro', prompt: { image: 'https://example.com/cat.png', text: 'The cat slowly turns its head and blinks', }, });
// Save the generated video fs.writeFileSync('output.mp4', result.videos[0].uint8Array);
console.log('Video saved to output.mp4');}
main().catch(console.error);Top-level parameters
Exercise the supported top-level params: prompt, aspectRatio, resolution, and duration.
import { experimental_generateVideo as generateVideo } from 'ai';import fs from 'node:fs';import 'dotenv/config';
async function main() { const result = await generateVideo({ model: 'bytedance/seedance-v1.0-pro', prompt: { image: 'https://example.com/cat.png', text: 'The cat slowly turns its head and blinks', }, aspectRatio: '16:9', resolution: '1280x720', duration: 5, });
// Save the generated video fs.writeFileSync('output.mp4', result.videos[0].uint8Array);
console.log('Video saved to output.mp4');}
main().catch(console.error);| Parameter | Type | Required | Description |
|---|---|---|---|
prompt | string | No | Text description of the video to generate. |
duration | number | No | Video length in seconds. 2-12 seconds. |
resolution | string | No | Resolution ('854x480', '1280x720', '1920x1080'). |
aspectRatio | string | No | Aspect ratio ('16:9', '4:3', '1:1', '3:4', '9:16', '21:9'). |
frameImages | Array<{ image: string; frameType: 'first_frame' | 'last_frame' }> | No | First and last frames of the clip. A first_frame entry replaces prompt.image and wins when both are set, and adding a last_frame transitions between the two. Seedance accepts image URLs only, so host local files on Vercel Blob first. |
Input limits
| Input | Formats | Sources | Max count | Max size | Limits |
|---|---|---|---|---|---|
| Image | jpeg, png, webp, bmp, tiff, gif | url | 2 | 30 MB | ≥300px · ≤6000px · aspect 2:5–5:2 |
Provider options (bytedance)
Load the compatible Seedance options under providerOptions.bytedance. Frames and references are passed at the top level through frameImages and inputReferences, which change the call shape and are shown in their own examples below.
import { experimental_generateVideo as generateVideo } from 'ai';import fs from 'node:fs';import 'dotenv/config';
async function main() { const result = await generateVideo({ model: 'bytedance/seedance-v1.0-pro', prompt: { image: 'https://example.com/cat.png', text: 'The cat slowly turns its head and blinks', }, duration: 5, providerOptions: { bytedance: { cameraFixed: true, serviceTier: 'default', watermark: false, returnLastFrame: true, pollIntervalMs: 5000, pollTimeoutMs: 600000, }, }, });
// Save the generated video fs.writeFileSync('output.mp4', result.videos[0].uint8Array);
console.log('Video saved to output.mp4');}
main().catch(console.error);Pass these Seedance-specific options under providerOptions.bytedance in your generateVideo call.
| Parameter | Type | Required | Description |
|---|---|---|---|
lastFrameImage | string | No | URL of the last frame image, enabling first+last frame mode. Legacy alternative to the top-level frameImages, used only when frameImages is omitted. |
watermark | boolean | No | Add a watermark to the video. |
cameraFixed | boolean | No | Fix the camera position during generation. |
returnLastFrame | boolean | No | Return the last frame of the generated video. Useful for chaining consecutive videos. |
serviceTier | 'default' | 'flex' | No | 'default' for online inference. 'flex' for offline at 50% cost, higher latency. |
pollIntervalMs | number | No | How often to check task status. Defaults to 3000. |
pollTimeoutMs | number | No | Maximum wait time. Defaults to 300000 (5 minutes). |
Frames take priority over references
Frames and references are mutually exclusive. When frameImages is set, inputReferences and the legacy providerOptions.bytedance.referenceImages / referenceVideos are dropped with a warning.
The top-level parameters win over their provider-option equivalents: frameImages overrides prompt.image and lastFrameImage, and inputReferences overrides referenceImages and referenceVideos. Set one or the other, not both.
providerOptions.bytedance.referenceAudio has no top-level equivalent, so it stays a provider option and is sent alongside whichever reference path you use.
First and last frame
Generate a video that transitions smoothly between a starting and ending image. Pass both frames through the top-level frameImages, tagging one first_frame and one last_frame. Seedance requires image URLs, so host local images on Vercel Blob first.
import { experimental_generateVideo as generateVideo } from 'ai';import fs from 'node:fs';import 'dotenv/config';
async function main() { const result = await generateVideo({ model: 'bytedance/seedance-v1.0-pro', prompt: 'Create a 360-degree orbiting camera shot based on this photo', frameImages: [ { image: 'https://example.com/first-frame.jpg', frameType: 'first_frame', }, { image: 'https://example.com/last-frame.jpg', frameType: 'last_frame' }, ], duration: 5, providerOptions: { bytedance: { watermark: false, pollTimeoutMs: 600000, }, }, });
// Save the generated video fs.writeFileSync('output.mp4', result.videos[0].uint8Array);
console.log('Video saved to output.mp4');}
main().catch(console.error);Copy link to headingAbout Seedance v1.0 Pro
Seedance v1.0 Pro is the top Seedance 1.0 tier for film- and broadcast-style video production. It generates 1080p video at 24 fps with clip durations from two to 12 seconds and supports both text-to-video and image-to-video input modes. Seven aspect ratios (16:9, 9:16, 1:1, 4:3, 3:4, 21:9, 9:21) cover broadcast, social, and cinema display contexts.
The Seedance 1.0 tech report describes the architecture as a unified framework that handles T2V and I2V tasks via binary mask conditioning, with Multi-modal RoPE (MM-RoPE) encoding for interleaved visual and textual tokens. This design supports native multi-shot transitions, including smooth cuts between wide, medium, and close-up compositions, without post-processing.
The tech report places Seedance 1.0 first on Artificial Analysis leaderboard rankings for both T2V and I2V tasks. Use Seedance v1.0 Pro for final delivery, client presentations, and workflows where you need Pro-tier motion fidelity and controls.
See https://console.byteplus.com/ark/region:ark+ap-southeast-1/model/detail?Id=seedance-1-0-pro for full methodology and benchmark tables.
Copy link to headingWhat To Consider When Choosing a Provider
- Configuration: For production pipelines at Pro-tier quality, verify provider concurrency limits meet your throughput requirements for time-sensitive delivery schedules. Compare rates (N/A; N/A).
- Zero Data Retention: Zero Data Retention is offered on a per-provider and model basis. See the documentation for details.
- Authentication: AI Gateway authenticates requests using an API key or OIDC token. You do not need to manage provider credentials directly.
Copy link to headingWhen to Use Seedance v1.0 Pro
Best for
- Final-delivery video assets: Advertising, film, or broadcast work that requires 1080p output and Pro-tier motion fidelity
- Image-to-video workflows: Precise compositional control with first-and-last-frame conditioning
- Multi-shot sequences: Native scene transitions between wide, medium, and close-up compositions flow without manual editing
- Genre-specific cinematography: Film conventions, lighting, shot grammar, and pacing matter for the edit
Consider alternatives when
- Budget or iteration speed: Seedance 1.0 Lite offers lower-cost prototyping at comparable resolution
- Faster generation: Seedance 1.0 Pro Fast delivers approximately 3x faster generation at approximately 72% lower cost
- Audio-synchronized video: Seedance 1.5 Pro adds native audio-visual joint generation with dialogue and sound effects
Copy link to headingConclusion
Seedance v1.0 Pro is the quality ceiling of the Seedance 1.0 line. It delivers production-ready 1080p output with motion modeling and cinematic controls for professional video workflows. Choose it when you need Pro-tier fidelity and controls, not Lite or Pro Fast tradeoffs.
Copy link to headingFrequently Asked Questions
What is first-and-last-frame control in Seedance v1.0 Pro?
You specify both the opening and closing frames of the generated clip. This gives precise control over the video's visual bookends and enables consistent transitions in multi-clip sequences.
How does Seedance v1.0 Pro differ from the Pro Fast variant?
Pro Fast generates video approximately 3x faster at approximately 72% lower cost. Choose Pro when throughput isn't time-constrained and maximum quality is the priority.
What aspect ratios does Seedance v1.0 Pro support?
Seven ratios: 16:9, 9:16, 1:1, 4:3, 3:4, 21:9, and 9:21, spanning landscape, portrait, square, and ultra-wide formats.
Does Seedance v1.0 Pro support image-to-video in addition to text-to-video?
Yes. Both input modalities are supported within the same model, along with optional first-and-last-frame image control.
How was the Seedance 1.0 quality level validated?
The Seedance 1.0 tech report cites first-place rankings on Artificial Analysis T2V and I2V leaderboards.