TL;DR: Seedance 2.0 is ByteDance Seed Team's cinematographer-grade video API — it parses camera directions ("dolly zoom", "steadicam follow", "rack focus") as literal instructions instead of flavor text, runs a 94.2%-accurate physics engine, and lip-syncs in 8 languages. Priced per token through LinkModel at 10% below Volcano Engine direct. Best when production value justifies the per-video cost; pair with Kling V3 for batch volume.
Seedance 2.0: The Cinematographer's API
Where Kling V3 optimizes for speed and resolution, Seedance 2.0 optimizes for creative control. It's ByteDance's Seed Team flagship — the same group behind TikTok's recommendation system — and it treats every prompt like a shot list.
What this means in practice: you write "dolly zoom into subject's face as background stretches" and it actually renders a Vertigo effect. Not an approximation. Not a zoom-and-crop. A proper counter-zoom.
Available through LinkModel via the Seedance model page at 10% below Volcano Engine's direct pricing.
Camera Vocabulary It Actually Understands
Most video models treat camera directions as flavor text. Seedance 2.0 parses them as instructions:
- Dolly zoom (Vertigo/Hitchcock effect)
- Tracking shot — lateral camera movement parallel to subject
- Crane shot — smooth vertical sweep
- Steadicam follow — handheld-look pursuit
- Rack focus — shift depth of field between planes
- Whip pan — fast rotational transition
This matters for the prompting playbook — the more specific your camera language, the better the output.
What Makes It Different
Physics engine: 94.2% accuracy on rigid body, fluid, cloth, and hair simulation. Water actually splashes. Fabric drapes realistically.
8-language lip-sync: English, Chinese, Japanese, Korean, Spanish, French, German, Portuguese. Audio generates alongside video at zero extra cost.
Flow Matching architecture: 30% faster than Seedance 1.5. A 5-second 720P video completes in ~45 seconds.
Pricing
| Resolution | Audio | LinkModel | Volcano Engine | Savings |
|---|---|---|---|---|
| 480P | No | $6.30/1M tokens | $7.00/1M | 10% |
| 720P | Yes | $3.87/1M tokens | $4.30/1M | 10% |
| 1080P | No | $6.93/1M tokens | $7.70/1M | 10% |
| 1080P | Yes | $4.23/1M tokens | $4.70/1M | 10% |
Seedance is priced per token (not per video), so cost scales with prompt complexity and duration. For budget-sensitive workloads, Kling V3 at $0.061/video is dramatically cheaper per unit.
Code Examples
Video generation on LinkModel is async: POST /api/v1/video-generation creates a task and returns a task_id; then GET /api/v1/query/video-generation?task_id=… polls until the status flips to "Success" and a file_url is ready.
Cinematic Text-to-Video
# Step 1: create the task
curl -X POST https://api.linkmodel.ai/api/v1/video-generation \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2-0",
"prompt": "A woman walks into a neon-lit Tokyo alley at night. Camera follows from behind with steadicam. Rain reflects city lights on the ground. Hitchcock zoom as she turns around. Cinematic color grading, shallow depth of field.",
"duration": 8,
"resolution": "1080P",
"size": "16x9"
}'
# → { "code": 0, "data": { "task_id": "abc123" }, ... }
# Step 2: poll until status = "Success"
curl "https://api.linkmodel.ai/api/v1/query/video-generation?task_id=abc123" \
-H "Authorization: Bearer YOUR_API_KEY"
# → { "code": 0, "data": { "task_id": "abc123", "status": "Success", "file_url": "https://.../out.mp4" }, ... }import time
import requests
API_KEY = "YOUR_API_KEY"
BASE = "https://api.linkmodel.ai/api/v1"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
create = requests.post(
f"{BASE}/video-generation",
headers=HEADERS,
json={
"model": "seedance-2-0",
"prompt": (
"A woman walks into a neon-lit Tokyo alley at night. "
"Camera follows from behind with steadicam. "
"Rain reflects city lights on the ground. "
"Hitchcock zoom as she turns around. "
"Cinematic color grading, shallow depth of field."
),
"duration": 8,
"resolution": "1080P",
"size": "16x9",
},
).json()
if create["code"] != 0:
raise RuntimeError(f"create failed: {create['msg']}")
task_id = create["data"]["task_id"]
while True:
time.sleep(3)
poll = requests.get(
f"{BASE}/query/video-generation",
headers={"Authorization": f"Bearer {API_KEY}"},
params={"task_id": task_id},
).json()
status = poll["data"]["status"]
if status == "Success":
video_url = poll["data"]["file_url"]
print(video_url)
break
if status == "Failed":
raise RuntimeError(f"generation failed: {poll['msg']}")Values of status are "Processing", "Success", or "Failed". Every response uses the standard envelope { code, data, msg, request_id }.
Image-to-Video
Seed generation from a starting frame by adding a first_frame_image URL to the create call. The poll flow is identical:
curl -X POST https://api.linkmodel.ai/api/v1/video-generation \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2-0",
"prompt": "Crane shot rising from ground level to aerial view, golden hour lighting",
"first_frame_image": "https://your-cdn.com/frame.jpg",
"duration": 8,
"resolution": "1080P",
"size": "16x9"
}'Prompt Engineering Tips
From testing 500+ prompts:
- Lead with camera — "Dolly zoom into..." not "A scene where the camera does..."
- Layer temporal markers — "First 3s: wide establishing. Seconds 4-8: tracking forward."
- Name the look — "Roger Deakins style: natural light, deep shadows, desaturated"
- Be specific about physics — "Wind catches scarf, causing it to ripple and twist clockwise"
- Use audio context — "Ambient rain sounds, distant traffic, her footsteps echo"
See the full Seedance 2.0 Prompting Playbook for more patterns.
When to Use Seedance vs Alternatives
| Need | Best choice |
|---|---|
| Premium cinematic quality | Seedance 2.0 |
| Cheapest per-video | Kling V3 ($0.061) |
| 4K resolution | Kling V3 |
| Best prompt adherence | Sora 2 |
| Fastest generation | Hailuo 2.3 |
Use Cases
- Brand films — Replace camera crews for commercial content
- Music videos — Cinematic visuals with native lip-sync
- Film pre-visualization — Test scenes before live-action commitment
- Real estate — Controlled camera tours through properties
Get Started
Sign up for Free $1 credit — enough to test one Seedance generation and see if the quality fits your needs. Explore all video options on the models page.
Seedance 2.0 API, 10% off direct
Dolly zooms, crane shots, 8-language lip-sync — the same API ByteDance ships, billed per token at a contractual discount.
