What Seedance 2.0 Per Call 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 0–9 images for a 720p video with sound, 4–15 s, five aspect ratios. Flat fee per video, not per second. Failed jobs are refunded automatically.
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": "seedance-2.0-anci", "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": "seedance-2.0-anci",
"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: seedance-2.0-anciFull docs →
What it costs, roughly
Estimated from the unit price above; you are charged per generation.
| 1 request1 × Rp 26.935 | Rp 26.935 |
| 10 requests10 × Rp 26.935 | Rp 269.350 |
| 100 requests100 × Rp 26.935 | Rp 2.693.500 |
| A minimum Rp 50.000 top-up coversbilled per request | ≈ 1 generations |
Model status
Calls over the last 24 hours.
24h success100%
Fastest response245 s
Lines online1
Related models
One API key calls them all; to switch, just change the model name.
Other ByteDance models
Seedance 2.5 Full Per SecondRp 2.378 per second
Seedance 2.5 FullRp 0 / Rp 235.073
Seedance 2.0 ReferenceRp 0 / Rp 142.373
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
Alternatives at a similar price
Kling V3 VideoRp 15.734 per video
Kling Omni ReferenceRp 13.985 per video
Kling Omni First-Last FrameRp 13.985 per video
Wan 2.7 First-Last FrameRp 6.297 per video
FAQ
Q1How is Seedance 2.0 Per Call billed?
Rp 26.935 per video, deducted from your balance. Pay for what you use, no monthly fee.
Q2How do I use Seedance 2.0 Per Call 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 seedance-2.0-anci.
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.