ByteDance
Seedance 2.0
seedance-2.0-fast
ByteDance's multimodal video generation model, supporting text-to-video, image-to-video, and reference-based video generation, and capable of producing multi-shot, cinematic short films with native synchronized audio
Try seedance-2.0-fast
Input
Showcases
View all showcasesOutput
videoPricing
seedance-2.0-fast per second
Overview
Seedance 2.0 Fast is a multimodal video generation model in ByteDance's Seedance 2.0 series, built for fast turnaround. It supports three input paths: text-to-video, image-to-video, and multimodal reference-to-video. Developers can generate short videos of 4–15 seconds at 480p or 720p with a single prompt, specify aspect ratio, first and last frames, and reference images/videos/audio, and optionally enable native audio and web search. It is suited to scenarios such as ad previews, social short clips, and narrative segments, where teams need to repeatedly generate and filter usable shots at low waiting cost.
Key Highlights
- Three input paths cover common generation methods — a single model supports text-to-video, first/last-frame image-to-video, and multimodal reference-to-video at the same time, so there is no need to switch between models when choosing an approach.
- Reference materials can be combined to control results — up to 9 reference images, 3 reference videos, and 3 reference audio clips, with a combined duration of no more than 15 seconds, using materials to constrain the visuals and audiovisual style.
- Native audio can be toggled — native audio is generated by default and can be turned off directly when pure visual material is needed for post-production dubbing.
- Text-to-video supports web retrieval — in text-to-video scenarios, web search can be enabled to supplement the prompt with time-sensitive information needed for generation.
Capabilities
Multimodal reference-to-video: constrains generated results through combined input of reference images, reference videos, and reference audio, with up to 9 images, 3 videos, and 3 audio clips per request, suited to shot production that requires material alignment.
First and last frame control: image-to-video accepts a first-frame image and an optional last-frame image to specify the starting and ending frames of a shot, making it easy to generate transitional content between existing materials.
Adjustable duration and resolution: output duration can be set in whole seconds between 4 and 15 seconds, and resolution can be 720p or 480p; 720p offers higher quality, while 480p is faster and more economical. Billing is calculated by output seconds.
Aspect ratio and audio configuration: aspect ratio supports seven options: 1:1, 4:3, 3:4, 16:9, 9:16, 21:9, and adaptive. Native audio can be generated, allowing you to choose the aspect ratio and audiovisual format based on the delivery channel.
Text prompt driven: prompts can be up to 20,000 characters and support Chinese and English. Describe the shot content in text to generate video directly, with no reference materials required.
Use Cases
- Ad teams rapidly generating multiple versions of copy-driven short clips — batch-generate 480p or 720p short clips from text scripts plus reference images for creative pitches and initial screening of delivery assets.
- Storyboard previews requiring consistent characters or style — pass in the same set of reference images and reference videos to generate stylistically coherent short shots as pre-production references for formal shooting or post-production.
- Vertical short video output for social platforms — choose a 9:16 aspect ratio and enable native audio to directly generate content assets suited to vertical feeds.
- Filling in transitional shots between existing materials — specify first-frame and last-frame images to generate the intermediate motion picture, used in editing to bridge two live-action or composited materials.
Limitations and Selection Advice
Single output duration is capped at 15 seconds, making it suitable only for short shots; long videos need to be generated in segments and then stitched together. Reference materials are limited by count and total duration, so complex projects need to be broken down into multiple calls. Resolutions above 480p/720p are not supported, and high-quality delivery requires separate upscaling. Web search only works in text-to-video and is unavailable in image-to-video and reference-to-video scenarios. If higher quality or longer shots are needed, other models in the same series should be evaluated.
What's new
View changelog →- New model seedance-2.0-fast video generation model now available
- New model New model available: seedance-2.0-mini
- Route change The seedance-2.0 ext route now exposes only its supported 72…
Frequently asked questions
View all FAQs →-
What type of video model is Seedance 2.0?
It is prompt-led and can also use endpoint frames or image, video, and audio references according to the active contract.
-
Which output settings does Seedance 2.0 support?
4-15 seconds, 480p, 720p, 1080p, 4k, and 1:1, 4:3, 3:4, 16:9, 9:16, 21:9, adaptive.
-
Can it generate sound or use audio references?
Optional image, video, and audio references; generated audio
-
How is Seedance 2.0 billed?
Billing follows output duration and the live tier. Resolution, mode, or audio differences are reflected by the page price and task record.
Create a generation task
https://api.hiapi.ai/v1/tasks Headers
AuthorizationstringRequiredAccount API key. Required on every request. Example: Bearer YOUR_HIAPI_API_KEY. Get your API key
Content-TypestringOptionalThe request body is always parsed as JSON; when sent, only application/json (optionally with charset) is accepted — any other value returns 415. Example: application/json.
Idempotency-KeystringOptionalIdempotency key, up to 255 bytes. Retries with the same key from the same account create the task only once; replays return the original taskId.
On network timeouts or client retries, the same key creates the task only once — no double charges (scope: the API key's account). Use a business-unique identifier as the key (e.g. "order-42"); replays return the original taskId, and keys expire 24 hours after the first request. See the Unified Async API overview for the full scenario matrix.
Body
modelstringRequiredCurrent fixed value: seedance-2.0-fast
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for seedance-2.0-fast and route default — see the parameter table below.
promptstringRequiredminLength 3maxLength 20000Text prompt describing the video content to generate; supports Chinese and English, and is the core input for scenarios such as text-to-video.
durationintegerOptionalDefault: 5min 4max 15Duration of the generated video in seconds; billing is per second based on duration, default is 5 seconds.
resolutionstringOptionalDefault: "720p"Resolution of the output video; 720p offers higher quality, while 480p generates faster and uses fewer resources, default is 720p.
480p720pweb_searchbooleanOptionalDefault: falseWhether to enable web search during generation; only available in text-to-video scenarios, default is false.
aspect_ratiostringOptionalDefault: "16:9"Aspect ratio of the output video, specified as a string, default is 16:9.
1:14:33:416:99:1621:9adaptivegenerate_audiobooleanOptionalDefault: trueWhether to generate native audio, a boolean value, default is true.
last_frame_urlstringOptionalURL of the last-frame image for image-to-video, optional; usually used together with the first-frame image to control the ending frame of the video.
first_frame_urlstringOptionalURL of the first-frame image for image-to-video, used in image-to-video scenarios to specify the starting frame of the video.
reference_audio_urlsarrayOptionalmaxItems 3Array of reference audio URLs for multimodal reference-to-video, up to 3; total audio duration must not exceed 15 seconds.
Array [ string ]
reference_image_urlsarrayOptionalmaxItems 9Array of reference image URLs for multimodal reference-to-video, up to 9 images.
Array [ string ]
reference_video_urlsarrayOptionalmaxItems 3Array of reference video URLs for multimodal reference-to-video, up to 3; total video duration must not exceed 15 seconds.
Array [ string ]
callbackobjectOptional
Terminal-state notification config. When omitted, no callback is delivered — poll the task yourself. See the callback note below.
Provide callback.url when creating a task and HiAPI POSTs to your service once the task reaches a terminal state — no polling needed. The callback payload mirrors the task detail structure; signature verification, delivery retries and idempotency are documented on the Unified Async API overview page.
urlstringRequiredRequired when callback is present. A POST is sent to this URL once the task reaches a terminal state; must be a valid http(s) URL.
whenstringOptionalDefault: "final"Only final is supported today — notified on both success and fail.
finalstoragestringOptionalDefault: "temp"Artifact storage tier: temp (default, retained about 7 days) or persistent (long-term, billed by size). Insufficient balance or exceeding the storage cap silently downgrades to temp; the effective tier is shown in the task detail response.
temppersistentRequest examples
# Submit an async task; returns a taskId immediately (no waiting for generation)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0-fast",
"input": {
"prompt": "…",
"duration": 5,
"resolution": "720p",
"web_search": false,
"aspect_ratio": "16:9",
"generate_audio": true
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "seedance-2.0-fast",
input: {
"prompt": "…",
"duration": 5,
"resolution": "720p",
"web_search": false,
"aspect_ratio": "16:9",
"generate_audio": true
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "seedance-2.0-fast",
"input": {
"prompt": "…",
"duration": 5,
"resolution": "720p",
"web_search": False,
"aspect_ratio": "16:9",
"generate_audio": True
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Get task detail
https://api.hiapi.ai/v1/tasks/:id Response fields
taskIdstringRequiredTask ID, always prefixed with tk-hiapi-.
modelstringRequiredResolved full model name. Tasks submitted with the route parameter return base@route (e.g. gpt-image-2/text-to-image@ext); otherwise identical to the name passed at creation.
routestringOptionalPresent only when the task was submitted with an explicit route parameter; echoes the submitted value.
statusstringRequiredTask status.
queued Queued, not started yet.
handling Being processed.
archiving Processing finished, artifacts being prepared.
success Terminal: completed, artifacts available (output returned).
fail Terminal: failed (error returned).
After submission, check status: success and fail are terminal, everything else is non-terminal. Poll every 1–3 seconds until terminal. On success, download artifacts from output[].url and transfer them before expireAt; pass storage: "persistent" at creation time when long-term retention is needed.
creatednumberRequiredTask creation time (Unix seconds).
completednumberRequiredUnix seconds when the task reached a terminal state; fixed to 0 while not terminal.
outputarrayOptional
Present only when status == success. Artifact list — always an array; a single task may return multiple types at once (e.g. video + first_frame).
Array [ object ]
Array items
urlstringRequiredArtifact URL, directly downloadable.
typestringRequiredCurrent possible values: video, image, audio, first_frame, last_frame, thumbnail; more may be added later.
expireAtnumberRequiredUnix seconds until which the artifact remains accessible; download or transfer before it expires.
errorobjectOptional
Present only when status == fail.
codestringRequiredBusiness error code.
messagestringRequiredError description.
Response examples
Success
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Processing (non-terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Failed
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
View all articles →Related Models
View all models →Same Type
-
Grok Imagine 1.5 xAI $0.011 /second -
LTX 2.5 Fast Lightricks $0.086 /second -
FLUX 3 Video Black Forest Labs $0.090 /second -
Gemini Omni Google -- -
Runway Gen 4.5 Runway $0.172 /second -
Creatify Boreal Creatify $0.015 /second -
Seedance 2.5 ByteDance $0.121 /second -
Wan 2.6 Flash Alibaba $0.043 /second -
Vidu Q3 Vidu $0.149 /second -
Hailuo 2.3 MiniMax $0.270 /video -
Seedance 2.0 ByteDance $0.017 /second -
Wan 3.0 Video Alibaba $0.040 /second
