Seedance 2.0 vs Kling 3.0: which video API to use, and what it costs
Seedance 2.0 from ByteDance and Kling 3.0 from Kuaishou both make video with sound from a prompt or a picture, and both run on the same Revana API key. Kling 3.0 costs less per second at 720p and above. Seedance 2.0 adds 480p, reference pictures and a choice of aspect ratio. Here are the prices side by side, where each model is stronger, and code that sends one prompt to both.
Seedance 2.0 vs Kling 3.0 at a glance
Both take the same POST /v1/generations request, so switching is a change to the model id and a few settings:
| Feature | Seedance 2.0 | Kling 3.0 |
|---|---|---|
| Criado por | ByteDance | Kuaishou |
| From, per second | $0.08 | $0.09 |
| Resoluções | 480p, 720p, 1080p e 4K | 720p, 1080p e 4K |
| Duração do clipe | 4 a 15 segundos | 3 a 15 segundos |
| Som | Same price with sound on or off | Costs more at 720p and 1080p, included at 4K |
| Parte de | A prompt, a first frame, first and last frames, or up to 9 reference pictures | A prompt, a first frame, or first and last frames |
| Proporção | 16:9, 9:16, 1:1, 4:3, 3:4, 21:9 ou adaptativa | Not a setting: leave aspect_ratio out |
If a route fails, Revana tries its other routes before giving up: Seedance 2.0 has three routes and Kling 3.0 has three routes. Full settings are on the Seedance 2.0 API page and the Kling 3.0 page.
Price per second at each resolution
Both are billed per second of video delivered. Kling 3.0 has two rates below 4K, silent and with sound:
| Resolução | Seedance 2.0 | Kling 3.0, silent | Kling 3.0, with sound |
|---|---|---|---|
| 480p | $0.08 | Not offered | Not offered |
| 720p | $0.15 | $0.09 | $0.13 |
| 1080p | $0.40 | $0.12 | $0.17 |
| 4K | $0.83 | $0.42 | $0.42 |
There is no separate audio rate for Seedance 2.0: the listed price is the same with sound on or off. So a 10 second clip with sound costs:
| Resolução | Seedance 2.0 | Kling 3.0 |
|---|---|---|
| 480p | $0.80 | Not offered |
| 720p | $1.50 | $1.30 |
| 1080p | $4.00 | $1.70 |
| 4K | $8.30 | $4.20 |
Without sound, Kling 3.0 is $0.90 for the same 10 seconds at 720p. Failed clips are never charged, so these totals are what delivered video costs.
Where they differ
- Reference pictures. Seedance 2.0 takes up to 9 reference pictures in one request, so a character, a product and a place can all come from your own pictures. Kling 3.0 starts from a prompt, a first frame, or a first and last frame. For references on Kling, use Kling 3.0 Omni, which also edits video.
- Resolution. Seedance 2.0 has 480p for cheap drafts and goes up to 4K. Kling 3.0 starts at 720p and also goes to 4K.
- Sound. Seedance 2.0 makes sound at no extra cost. Kling 3.0 charges a higher rate per second for sound at 720p and 1080p, and includes it at 4K.
- Shape. Seedance 2.0 takes
aspect_ratio(21:9, 16:9, 1:1, 9:16 and more). Kling 3.0 does not list one, so for a fixed shape such as 9:16 Seedance 2.0 is the safer pick. - Length. Both make clips up to 15 seconds. Kling 3.0 can be as short as 3 seconds; Seedance 2.0 starts at 4.
Which one to pick
- Lowest price at 720p or 1080p. Kling 3.0: $0.17 a second at 1080p with sound, against $0.40 for Seedance 2.0.
- Cheap drafts. Seedance 2.0 at 480p, or Seedance 2.0 Fast at $0.05 a second.
- Your own character or product in the shot. Seedance 2.0 with reference pictures. The Seedance 2.0 API tutorial has the request.
- A vertical or square video. Seedance 2.0, which takes
aspect_ratio. - More than 15 seconds. Neither. Seedance 2.5 and Kling 4.0 make clips up to 30 seconds on the same key.
Want to see Seedance 2.0 before you write code? You can try Seedance 2.0 free in the browser.
Send one prompt to both
This loop sends the same 10 second prompt to Seedance 2.0 and Kling 3.0 at 720p with sound, with a cap on each job:
import os
import time
import uuid
import requests
API = "https://api.revana.si/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['REVANA_API_KEY']}"}
PROMPT = "A barista slides a latte across a wooden counter, steam rising, morning light, the cafe murmuring."
# The same prompt on both. Kling 3.0 takes no aspect_ratio, so only Seedance 2.0 gets one.
JOBS = {
"seedance-2.0": {"aspect_ratio": "16:9"},
"kling-3.0": {},
}
started = {}
for model, settings in JOBS.items():
# One Idempotency-Key per job, made once: resend with the same key after a timeout,
# a 429 or a 5xx and you get the same job back, never a second charge.
key = str(uuid.uuid4())
resp = requests.post(f"{API}/generations", headers={**HEADERS, "Idempotency-Key": key}, json={
"model": model,
"input": {"prompt": PROMPT, "resolution": "720p", "duration": 10, "audio": True, **settings},
"max_cost_usd": 2, # your cap per job
})
resp.raise_for_status()
started[model] = resp.json()["id"]
for model, gen_id in started.items():
job = requests.get(f"{API}/generations/{gen_id}", headers=HEADERS).json()
while job["status"] in ("queued", "running"):
time.sleep(5)
job = requests.get(f"{API}/generations/{gen_id}", headers=HEADERS).json()
if job["status"] == "succeeded":
print(model, job["output"]["urls"], job["cost_usd"])
else:
print(model, "failed (free):", job["error"])Or one model from the shell. This 5 second Seedance 2.0 clip at 480p costs $0.40:
export REVANA_API_KEY="sr_live_..."
# One Idempotency-Key per job, made once: resend with the same $KEY after a timeout, a 429 or a 5xx
KEY=$(uuidgen)
# 1. Submit the job (returns 202 with the generation id). max_cost_usd is your cap: the most it may cost.
curl https://api.revana.si/v1/generations \
-H "Authorization: Bearer $REVANA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $KEY" \
-d '{
"model": "seedance-2.0",
"input": {
"prompt": "A barista slides a latte across a wooden counter, steam rising, morning light.",
"resolution": "480p",
"duration": 5,
"aspect_ratio": "16:9",
"audio": true
},
"max_cost_usd": 1
}'
# 2. Poll with the id from step 1 until status is "succeeded" or "failed".
# A failed job is free; make a new KEY before you submit it again.
curl https://api.revana.si/v1/generations/gen_01JC4M2R8D \
-H "Authorization: Bearer $REVANA_API_KEY"A setting a model does not list (a resolution, a length, an aspect ratio) comes back straight away as 422 invalid_input, with the values it does take, and nothing is charged.
See every video model with its live price on the models page, top up on the pricing page, read the request reference in the docs, or get an API key.
Perguntas frequentes
Is Seedance 2.0 or Kling 3.0 cheaper?
Kling 3.0, at 720p and above: $0.13 a second with sound at 720p, against $0.15 for Seedance 2.0, in November 2026. Seedance 2.0 is the only one of the two at 480p, from $0.08 a second.
Which one makes longer videos?
Neither: both make clips up to 15 seconds, Seedance 2.0 from 4 seconds and Kling 3.0 from 3. For up to 30 seconds, use Seedance 2.5 or Kling 4.0 on the same key.
Os dois geram som?
Yes. Seedance 2.0 costs the same with sound on or off. Kling 3.0 charges a higher rate for sound at 720p and 1080p and includes it at 4K.
Can I use reference pictures?
With Seedance 2.0, up to 9 in one request. Kling 3.0 takes a first frame or a first and last frame; Kling 3.0 Omni takes reference pictures.
Posso testar Seedance 2.0 de graça?
Yes, once. Save a card when you sign up (saving it charges nothing) and the cost of one 4 second clip at 480p, $0.32, is credited to your account.
Am I charged for a failed clip?
No. The price is held when you submit and released if the job fails, so a failed clip costs nothing.
Run Seedance 2.0 and Kling 3.0 on one key
One API key for Seedance, Kling, Veo, Wan and more. Prepaid credit from $10, charged only for videos that are delivered.