ByteDance
Seedance 2.0
seedance-2.0-mini
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-mini
Input
Showcases
View all showcasesOutput
videoPricing
seedance-2.0-mini per second
Positioning Overview
Seedance 2.0 Mini is the lightweight line in ByteDance's Seedance 2.0 family, called through the unified HiAPI.ai interface, and supports text-to-video, image-to-video, and reference-material-to-video generation. It can accept up to 9 reference images, 3 reference videos, and 3 reference audio clips, using visuals, motion, and timbre as generation conditions to output 4–15 second short videos with audio at 480p or 720p. It is suitable for developers who need to produce social materials, advertising previews, and creative samples in batches within short cycles.
Core Highlights
- Three-way conditional input with reference images, videos, and audio — reference materials can simultaneously constrain visual style, motion, and audio, reducing the uncertainty of pure text descriptions.
- First and last frames control the start and end of the shot — by providing both first-frame and last-frame images, you can specify where the visuals begin and where they converge, making it easier to connect multiple shots.
- Optional native audio generation — by default, audio synchronized with the visuals is generated, but the audio channel can also be turned off to produce only what the visuals require.
- Parameterized duration and aspect ratio — duration is adjustable from 4–15 seconds and supports aspect ratios such as 1:1, 16:9, 9:16, and 21:9, adapting to both landscape and portrait distribution.
Capability Description
Three generation paths: text prompts, first-frame images, or reference materials can all serve as input starting points. Choose the generation method based on the materials you already have, with no need to switch interfaces for different paths.
Reference materials constrain visuals and motion: up to 9 reference images (combined with first and last frames), and up to 3 reference videos with a total duration of no more than 15 seconds. Use real materials instead of long text descriptions to lock in style and action.
Reference audio guides timbre: pass in up to 3 reference audio clips with a total duration of no more than 15 seconds, so the generated result is closer to the given samples in timbre and audio character.
Resolution and audio track tiers: 480p generation is faster, while 720p balances speed and image quality; whether audio is generated and the resolution together determine the billing tier, allowing combinations to be selected according to budget.
Applicable Scenarios
- Batch production of short videos for social platforms — operations staff use short prompts or product images to generate 9:16 vertical clips and publish them directly to feeds and short-video accounts.
- Advertising storyboard previews — creative teams use reference images and first/last frames to output 4–15 second preview clips, aligning shot rhythm and visual tone before formal shooting.
- Brand material style extension — designers upload brand reference images and short reference videos to generate a series of clips with consistent style for landing pages and display placements.
- Rapid prototyping of short films with sound effects — content creators enable audio generation and pair it with reference audio to produce audio-visually synchronized samples for review and secondary editing.
Limitations and Selection Advice
The maximum output duration per request is 15 seconds, and billing is based on output seconds, so long content needs to be split into multiple segments and then stitched together. First-frame and reference materials are mutually exclusive scenarios and cannot be mixed in the same request; reference materials are subject to total image count and total duration limits, so projects with many materials need to be processed in batches. Resolution supports only 480p and 720p; scenarios requiring high-resolution final outputs should use higher-specification lines within the family.
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-mini
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for seedance-2.0-mini and route default — see the parameter table below.
promptstringRequiredminLength 3maxLength 20000Text prompt for video generation, describing the desired visual content, provided as a string.
durationintegerRequiredDefault: 5min 4max 15Video duration in seconds, as an integer, range 4–15; billed per second, so longer durations cost more. Default is 5 seconds.
resolutionstringRequiredDefault: "720p"Output video resolution, default 720p; 480p generates faster, 720p balances speed and quality; resolution, along with whether audio is included, corresponds to different billing tiers.
480p720paspect_ratiostringOptionalDefault: "16:9"Video aspect ratio, specified as a string to set the width-to-height ratio of the output video. Default is 16:9.
1:14:33:416:99:1621:9adaptivegenerate_audiobooleanOptionalDefault: trueWhether to generate native audio synchronized with the visuals, as a boolean value. Default is true.
last_frame_urlstringOptionalLast-frame image URL, used together with the first frame. Image requirements are the same as the first frame: format jpeg/png/webp/bmp/tiff/gif, aspect ratio 0.4–2.5, side length 300–6000 px, each image under 30 MB.
first_frame_urlstringOptionalFirst-frame image URL; when provided, the video is generated from the image. Supported formats: jpeg/png/webp/bmp/tiff/gif, aspect ratio 0.4–2.5, width/height side length 300–6000 px, each image under 30 MB; this is mutually exclusive with reference images and reference videos and cannot be mixed.
reference_audio_urlsarrayOptionalmaxItems 3List of reference audio URLs, up to 3 clips with a total duration not exceeding 15 seconds; each clip in wav/mp3 format, 2–15 seconds long, under 15 MB.
Array [ string ]
reference_image_urlsarrayOptionalmaxItems 9List of reference image URLs; the number of images in the list plus the number of first/last frames must not exceed 9; each image supports jpeg/png/webp/bmp/tiff/gif, aspect ratio 0.4–2.5, side length 300–6000 px, each image under 30 MB. This is mutually exclusive with the first frame and reference videos and cannot be mixed.
Array [ string ]
reference_video_urlsarrayOptionalmaxItems 3List of reference video URLs, up to 3 videos with a total duration not exceeding 15 seconds; each in mp4/mov format, resolution 480p/720p, duration 2–15 seconds, aspect ratio 0.4–2.5, side length 300–6000 px, total pixels 409600–927408, frame rate 24–60, each under 50 MB.
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-mini",
"input": {
"prompt": "…",
"duration": 5,
"resolution": "720p",
"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-mini",
input: {
"prompt": "…",
"duration": 5,
"resolution": "720p",
"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-mini",
"input": {
"prompt": "…",
"duration": 5,
"resolution": "720p",
"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
-
MiniMax H3 MiniMax $0.072 /second -
Ray 3.2 Luma $0.214 /video -
Vidu Q3 Vidu $0.149 /second -
Seedance 2.5 ByteDance $0.121 /second -
HappyHorse 1.0 Alibaba $0.168 /second -
Grok Imagine 1.5 xAI $0.011 /second -
HeyGen Avatar IV HeyGen $0.150 /second -
Kling 3.0 Kuaishou $0.100 /second -
Seedance 2.0 ByteDance $0.017 /second -
Hailuo 2.3 MiniMax $0.270 /video -
FLUX 3 Max Black Forest Labs $0.061 /second -
FLUX 3 Video Black Forest Labs $0.090 /second


