ByteDanceVideo
Seedance 2.5 final in 1080p
Renders an approved Seedance 2.5 draft in 1080p.
- Price
- 593 crper clip · varies with length or size
- Usual time
- ≈ 4 min
- Model id
video.seedance-2-5-final
Playground
No example of this model yet. These are its real settings.
# 1. Create the job. It is charged once and refunded if it fails.
JOB_ID=$(curl -s -X POST https://mobyvid.com/api/v1/jobs \
-H "Authorization: Bearer $STAGLIGHT_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"op": "video.seedance-2-5-final",
"params": {
"draft_job_id": "job_your_draft_id"
}
}' | jq -r .id)
# 2. Poll until it finishes. Each call waits up to 30 seconds.
while :; do
JOB=$(curl -s "https://mobyvid.com/api/v1/jobs/$JOB_ID?wait=30" -H "Authorization: Bearer $STAGLIGHT_API_KEY")
case "$(echo "$JOB" | jq -r .status)" in queued|running) ;; *) break ;; esac
done
# 3. Download the result from outputs[0].download_url.
DOWNLOAD_URL=$(echo "$JOB" | jq -r '.outputs[0].download_url')
curl -L -o result.mp4 "$DOWNLOAD_URL"
import os, uuid, requests
BASE = "https://mobyvid.com/api/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['STAGLIGHT_API_KEY']}"}
# 1. Create the job. It is charged once and refunded if it fails.
r = requests.post(f"{BASE}/jobs", timeout=60,
headers={**HEADERS, "Idempotency-Key": str(uuid.uuid4())},
json={
"op": "video.seedance-2-5-final",
"params": {
"draft_job_id": "job_your_draft_id"
}
})
r.raise_for_status()
job = r.json()
# 2. Poll until it finishes. Each call waits up to 30 seconds.
while job["status"] in ("queued", "running"):
job = requests.get(f"{BASE}/jobs/{job['id']}", headers=HEADERS,
params={"wait": 30}, timeout=60).json()
# 3. Download the result from outputs[0].download_url.
print(job["outputs"][0]["download_url"] if job["outputs"] else job["data"] or job["error"])
// Node 18 or newer. Save as run.mjs: top-level await needs a module.
const BASE = "https://mobyvid.com/api/v1";
const headers = { Authorization: `Bearer ${process.env.STAGLIGHT_API_KEY}` };
// 1. Create the job. It is charged once and refunded if it fails.
let res = await fetch(`${BASE}/jobs`, {
method: "POST",
headers: { ...headers, "Content-Type": "application/json", "Idempotency-Key": crypto.randomUUID() },
body: JSON.stringify({
"op": "video.seedance-2-5-final",
"params": {
"draft_job_id": "job_your_draft_id"
}
}),
});
if (!res.ok) throw new Error((await res.json()).error.message);
let job = await res.json();
// 2. Poll until it finishes. Each call waits up to 30 seconds.
while (job.status === "queued" || job.status === "running") {
job = await (await fetch(`${BASE}/jobs/${job.id}?wait=30`, { headers })).json();
}
// 3. Download the result from outputs[0].download_url.
console.log(job.outputs[0]?.download_url ?? job.data ?? job.error);
{
"id": "job_19a2b3c4d5e6f7a8b9c0d1",
"op": "video.seedance-2-5-final",
"status": "queued",
"credits": 593,
"title": "",
"params": {
"draft_job_id": "job_your_draft_id"
},
"progress": null,
"outputs": [],
"data": null,
"error": null,
"run_id": null,
"source": "api",
"created_at": "2026-11-06T12:00:00Z",
"finished_at": null,
"eta_seconds": 240
}
What it costs
593 cr at the default length here. The price follows the length of your text or file, and the exact price shows before the job runs.
The playground shows the exact price for your settings. A job is charged once when it is accepted, and refunded if it fails.
Parameters
| Name | Type | Default | Allowed |
|---|---|---|---|
draft_job_idrequiredApproved draft (take ID) |
string |
Up to 64 characters |
Send these inside params. Files are media ids from POST /api/v1/uploads. View documentation
More models
-
Real output Video
Kling AI / Kling 3.0
3 to 15 s video from text or your first frame.
53 crper clip · 5 s · std
-
Real output Video
Kling AI / Kling 4.0
3 to 30 s video with sound from text or your reference pictures, in 720p or 1080p.
107 crper clip · 5 s · 720p
-
Real output Video
Kling AI / Kling 3.0 Motion Control
The character in your image copies the motion in your video.
150 crper clip · 720p · varies with length or size