Doubao Seedance 2.0 Mini is a compact Volcano Engine route for generated-video workflows. It is positioned for accessible iteration and short-form creative production.
Key strengths
- Compact video route
- Prompt-led generation
- Iteration-friendly workflow
- Managed Volcano access
Use cases
- Short-form content
- Storyboard motion
- Ad concept drafts
- Social video experiments
ByteDance's bytedance/doubao-seedance-2-0-mini is a high-fidelity video generation model. It supports text-to-video and image-to-video workflows with configurable duration, aspect ratio, and resolution, plus first-frame and last-frame control for guided scene composition.
Generates cinematic clips with consistent motion, camera control, and optional native audio. Billed per second of generated content.
bytedance/doubao-seedance-2-0-mini is fully OpenAI-compatible — drop in your existing OpenAI Python or Node SDK and switch `baseURL` to `https://api.tokenlx.ai`. TokenLX transparently routes your requests to the optimal provider endpoint while preserving streaming, function-calling, and structured-output semantics.
Performance
Compare different providers across TokenLX · All locations.
Effective Pricing
Actual cost per million tokens across providers over the past 7 days.
Recent activity
Total usage per day on TokenLX (last 30 days).
Sample code & API
TokenLX normalizes requests and responses across providers. Use any OpenAI SDK or our native SDK.
# ─── 文生视频示例 ───
import requests, time
headers = {"Authorization": "Bearer sk-aihub-...", "Content-Type": "application/json"}
resp = requests.post(
"https://api.tokenlx.ai/v1/aigc/video/tasks",
headers=headers,
json={
"model": "doubao-seedance-2-0-mini",
"prompt": "一个女孩在雨中撑伞行走,电影感画面",
"duration": 5,
"aspectRatio": "16:9",
"resolution": "1080p",
},
)
task = resp.json()
task_id = task.get("taskId") or task.get("task_id") or task.get("id")
# 轮询结果
while True:
result = requests.get(
f"https://api.tokenlx.ai/v1/aigc/video/tasks/{'{'}task_id{'}'}?model=doubao-seedance-2-0-mini",
headers=headers,
).json()
print("status:", result.get("status"))
if result.get("status") in ("completed", "succeeded", "done"):
print(result)
break
time.sleep(10)
# ─── 图生视频(首帧驱动)───
i2v_resp = requests.post(
"https://api.tokenlx.ai/v1/aigc/video/tasks",
headers=headers,
json={
"model": "doubao-seedance-2-0-mini",
"prompt": "画面中的人物缓缓转头微笑",
"referenceImageUrls": ["https://example.com/first-frame.jpg"],
"videoInputMode": "first_frame",
"duration": 5,
"aspectRatio": "16:9",
"resolution": "720p",
},
)
print("taskId:", i2v_resp.json())
# 轮询方式同上Replace sk-aihubrouter-… with your key from the dashboard.
Parameter Reference
POST /v1/aigc/video/tasksGET /v1/aigc/video/tasks/{taskId}?model=doubao-seedance-2-0-miniResponse is raw upstream JSON passthrough — fields vary by channel.
Volcano Seedance passes parameters as prompt suffixes: e.g. --dur 5 --ratio 16:9 --rs 720p. The system auto-appends them to your prompt.
| Parameter | Type | Required | Description |
|---|---|---|---|
| model | string | Yes | Model name |
| prompt | string | Yes | Video description prompt |
| duration | int | No | Duration — appended to prompt as --dur |
| aspectRatio | string | No | Aspect ratio — appended as --ratio |
| resolution | string | No | Resolution — appended as --rs |
| size | string | No | Video size — appended as --size |
| seed | int | No | Random seed — appended as --seed, fixed value produces reproducible results |
| referenceImageUrls | array | Image-to-video | Reference image URLs for image-to-video generation |
| videoInputMode | string | No | Input mode. Auto-inferred if omitted: 1 image → first_frame, 2 → first_last_frame, ≥3 → reference first_framefirst_last_framereference |
| referenceVideoUrls | array | Ref-video | Reference video URLs for video-driven generation |
| referenceAudioUrls | array | Audio-drive | Audio URLs for audio-driven video (lip sync) |
| cameraFixed | bool | No | Fix camera position during audio-driven generation |
| tools | array | No | Tool list, e.g. [{"type": "lip_sync"}] for lip sync |
| generateAudio | bool | No | Output audio in audio-driven mode |
modelstringYespromptstringYesdurationintNoaspectRatiostringNoresolutionstringNosizestringNoseedintNoreferenceImageUrlsarrayImage-to-videovideoInputModestringNofirst_framefirst_last_framereferencereferenceVideoUrlsarrayRef-videoreferenceAudioUrlsarrayAudio-drivecameraFixedboolNotoolsarrayNogenerateAudioboolNo