Seedance 2.0 Fast
Seedance 2.0 Fast prioritizes generation speed and lower cost while retaining Seedance 2.0's multimodal inputs, synchronized audio, professional camera movements, and in-video text rendering.
View API reference- Output price
- Output $5.60, Per 1M generated tokens
import { experimental_generateVideo as generateVideo } from 'ai';
const result = await generateVideo({ model: 'bytedance/seedance-2.0-fast', prompt: 'A serene mountain lake at sunrise.'});Copy link to headingPlayground
Try out Seedance 2.0 Fast 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 2.0 Fast 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-2.0-fast', prompt: 'A chicken flying into the sunset in the style of 90s anime', });
// 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-2.0-fast', prompt: 'A chicken flying into the sunset in the style of 90s anime', 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. 4-15 seconds. |
resolution | string | No | Resolution ('854x480', '1280x720'). |
aspectRatio | string | No | Aspect ratio ('16:9', '4:3', '1:1', '3:4', '9:16', '21:9'). |
generateAudio | boolean | No | Generate synchronized audio with the video. |
frameImages | Array<{ image: string; frameType: 'first_frame' | 'last_frame' }> | No | Opening frame of the clip, as a single first_frame entry. Replaces prompt.image and wins when both are set. Seedance accepts image URLs only, so host local files on Vercel Blob first. |
inputReferences | Array<{ data: string; mediaType: string }> | No | Reference images and videos, referenced in the prompt as [Image 1], [Video 1], and so on, numbered separately in the order you pass them. Tag every URL with an explicit mediaType — an untyped URL is treated as an image and emits a warning. See the Input limits table for supported counts. |
Input limits
| Input | Formats | Sources | Max count | Max size | Limits |
|---|---|---|---|---|---|
| Image | jpeg, png, webp, bmp, tiff, gif | url | 9 | 30 MB | ≥300px · ≤6000px · aspect 2:5–5:2 |
| Video | mp4, mov | url | 3 | 50 MB | 2-15s · ≥300px · ≤6000px |
| Audio | wav, mp3 | url | — | 15 MB | 2-15s |
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-2.0-fast', prompt: 'A chicken flying into the sunset in the style of 90s anime', resolution: '1280x720', duration: 5, providerOptions: { bytedance: { seed: 42, 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 |
|---|---|---|---|
referenceImages | string[] | No | 1-9 reference image URLs for reference-to-video, referenced in the prompt as [Image 1], [Image 2], and so on. Legacy alternative to the top-level inputReferences, used only when inputReferences is omitted. |
referenceVideos | string[] | No | Reference video URLs for reference-to-video, numbered separately from the images and referenced in the prompt as [Video 1], [Video 2], and so on. Legacy alternative to the top-level inputReferences, used only when inputReferences is omitted. |
referenceAudio | string[] | No | Reference audio URLs, sent alongside the reference images and videos to drive the generated audio. |
seed | number | No | Fix the random seed for reproducible output. |
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.
Reference-to-video
Pass reference media through the top-level inputReferences so the model keeps subjects, style, and composition consistent — see the Input limits table for the supported counts. Reference each one in the prompt with [Image 1], [Video 1], and so on; images and videos are numbered separately in the order you pass them. Tag every URL with an explicit mediaType, since Seedance cannot infer image or video from a bare URL.
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-2.0-fast', prompt: 'A boy from [Image 1] walking a corgi from [Image 2] through the park at sunset, cinematic', aspectRatio: '16:9', resolution: '1280x720', duration: 5, generateAudio: true, inputReferences: [ { data: 'https://example.com/boy.png', mediaType: 'image/png' }, { data: 'https://example.com/corgi.png', mediaType: 'image/png' }, ], providerOptions: { bytedance: { 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 2.0 Fast
Seedance 2.0 Fast is the speed-optimized companion to Seedance 2.0, released April 14, 2026 as part of the second-generation ByteDance Seedance video lineup. It preserves the full capability set of the standard variant (text-to-video, image-to-video, multimodal reference-to-video, and video editing and extension) but prioritizes generation speed and lower cost over peak output quality.
For iterative creative workflows, draft generation, and high-volume content pipelines, faster turnaround compounds into significant time savings. Teams iterating on prompts, exploring storyboards, or generating dozens of video variants for A/B testing benefit from the Fast tier's lower per-clip cost while retaining the same input flexibility.
Like the standard variant, Seedance 2.0 Fast supports synchronized multilingual audio, professional camera movements, multi-shot composition, in-video text rendering, and complex scenes with facial expressions and physical interactions.
AI Gateway applies no markup on video generation for Seedance 2.0 Fast: the rate matches the direct ByteDance provider price. Set the model to bytedance/seedance-2.0-fast and call it through the AI SDK's generateVideo function.
Copy link to headingWhat To Consider When Choosing a Provider
- Configuration: Seedance 2.0 Fast shares inputs and capabilities with Seedance 2.0 but accepts some quality tradeoff for speed. Use it for iteration, volume batch generation, and drafting where turnaround matters more than absolute fidelity.
- 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 2.0 Fast
Best for
- Iteration and drafting: Rapid prompt iteration and storyboard exploration where turnaround drives creative velocity
- High-volume batch generation: Content pipelines producing dozens of video variants for A/B testing or personalization
- Cost-sensitive production: Video workflows where per-clip price scales with traffic and the standard tier's cost isn't justified
- Multimodal video at scale: The full input set of Seedance 2.0 at lower cost for high-throughput generation
- Preview generation: Fast first-pass outputs that teams review before committing to Seedance 2.0 for final renders
Consider alternatives when
- Peak output quality: Seedance 2.0 targets the highest video fidelity when cost and speed aren't the binding constraint
- Static image generation: Use a dedicated image model when motion isn't required
- Video understanding only: Use a vision-language model to analyze existing video rather than generate new content
Copy link to headingConclusion
Seedance 2.0 Fast makes second-generation Seedance video generation practical at higher volumes. For teams iterating on creative content, running personalization pipelines, or drafting before committing to final renders, the Fast variant delivers the same capability set with faster turnaround and lower cost.
Copy link to headingFrequently Asked Questions
How does Seedance 2.0 Fast differ from Seedance 2.0?
Both share the same input types, audio capabilities, camera controls, and in-video text rendering. The Fast variant trades some output quality for faster generation and lower cost. Choose based on whether peak fidelity or turnaround matters more.
Does Seedance 2.0 Fast generate audio alongside video?
Yes. Audio generation is native and synchronized to the video, with multilingual support for dialogue, sound effects, and ambient audio.
What input types does Seedance 2.0 Fast support?
Text-to-video, image-to-video, multimodal reference-to-video (combining image, video, and audio inputs), and video editing and extension. Same as the standard Seedance 2.0 variant.
Can Seedance 2.0 Fast render text inside generated video?
Yes. In-video text rendering carries over from the standard Seedance 2.0 variant.
Does Vercel AI Gateway support Zero Data Retention for Seedance 2.0 Fast?
Zero Data Retention is not currently available for this model. Zero Data Retention is offered on a per-provider basis. See https://vercel.com/docs/ai-gateway/capabilities/zdr for details.
What is the pricing for Seedance 2.0 Fast?
Rates are listed on this page. AI Gateway applies no markup on video generation, so the rate matches the direct ByteDance provider price.
How do I call Seedance 2.0 Fast through AI Gateway?
Set the model to
bytedance/seedance-2.0-fastand call it through the AI SDK'sgenerateVideofunction. AI Gateway handles authentication, retries, and failover acrossbytedance.
Your use is subject to ByteDance's Terms & Privacy Policies.