What Seedance 2.0 Reference is good at
Video models are billed per second or per clip: turn a description or a picture into a clip a few seconds long.
Seedance 2.0 reference mode: upload 1–9 images and it blends style, elements and composition into a 4–15 s video with sound. Standard and fast versions. Billed by token.
Good for
- Short video ads and product showcases
- Bringing a still image to life
- Short clips for social media
Less suited for
- Videos several minutes long: generate in parts and edit together
- Articles or code: use a chat model
Code sample
Replace sk-... with the API key from your console.
curl https://api.macloudai.com/v1/media/generate \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "kwvideo-v2-ref", "prompt": "A cat watching the rain on a windowsill, cinematic shot", "params": {"duration": "5", "resolution": "720p", "aspect_ratio": "16:9"}}'
# → {"data": {"task_id": "mt_…"}}
curl "https://api.macloudai.com/v1/media/status?task_id=mt_…" \
-H "Authorization: Bearer $API_KEY"
import time, requests
BASE = "https://api.macloudai.com/v1"
H = {"Authorization": "Bearer sk-..."}
r = requests.post(f"{BASE}/media/generate", headers=H, json={
"model": "kwvideo-v2-ref",
"prompt": "A cat watching the rain on a windowsill, cinematic shot",
"params": {"duration": "5", "resolution": "720p", "aspect_ratio": "16:9"},
}).json()
task = r["data"]["task_id"]
# Poll every 5–10 seconds; when is_final is true the result is in result_url
while True:
s = requests.get(f"{BASE}/media/status", headers=H, params={"task_id": task}).json()["data"]
if s["is_final"]:
print(s["state"], s.get("result_url"), s.get("error"))
break
time.sleep(8)
# An estimate is held when you submit; the final charge follows actual usage, and failed tasks are fully refunded
Model name: kwvideo-v2-refFull docs →
What it costs, roughly
Estimated from the unit price above; you are charged per generation.
| 1 request1 × Rp 0 | Rp 0 |
| 10 requests10 × Rp 0 | Rp 0 |
| 100 requests100 × Rp 0 | Rp 0 |
Model status
Calls over the last 24 hours.
24h success100%
Fastest response118 s
Lines online4
Related models
One API key calls them all; to switch, just change the model name.
Other ByteDance models
Seedance 2.0 Per CallRp 26.935 per video
Seedance 2.5 Full Per SecondRp 2.378 per second
Seedance 2.5 FullRp 0 / Rp 235.073
Seedance 2.0 FullRp 0 / Rp 146.920
Seedance 2.0 Full Per SecondRp 700 per second
Seedance 2.5 Omni Ref Per SecondRp 2.378 per second
FAQ
Q1How is Seedance 2.0 Reference billed?
Rp 0 per video, deducted from your balance. Pay for what you use, no monthly fee.
Q2How do I use Seedance 2.0 Reference in Indonesia?
Sign up, top up in Rupiah by QRIS or bank transfer, create an API key, set the base URL to https://api.macloudai.com/v1 and model to kwvideo-v2-ref.
Q3What if a call fails?
401: the API key is wrong or deleted; copy it again from the console. Insufficient balance: top up and it works right away. 429: too many requests; wait a few seconds. 500, 502, 503: the upstream is briefly unstable; retry, or switch to another model in the same price range.
Q4Do I need a credit card?
No. You pay in Rupiah by QRIS or bank transfer. That is the whole point of this service.