Seedance 2.5
Integrieren
bytedance/seedance-2.5/draft/complete
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://vit.doitong.com/api/v1/run/bytedance/seedance-2.5/draft/complete?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"draft_id": "your-draft-id"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://vit.doitong.com/api/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/bytedance/seedance-2.5/draft/complete?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"draft_id": "your-draft-id"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://vit.doitong.com/api/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"draft_id": "your-draft-id",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/bytedance/seedance-2.5/draft/complete", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
# 1. Connect once (Claude Code; Cursor, VS Code, Claude Desktop: https://doitong.com/de/developers/docs/mcp)
claude mcp add --transport http doitong-models https://vit.doitong.com/api/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "bytedance/seedance-2.5/draft/complete",
"input": {
"draft_id": "your-draft-id"
}
}
Rufe das Modell Seedance 2.5 (bytedance/seedance-2.5/draft/complete) über die Doitong API auf. Dokumentation für Agenten: https://doitong.com/de/developers/models/bytedance/seedance-2.5/draft/complete.md
POST https://vit.doitong.com/api/v1/run/bytedance/seedance-2.5/draft/complete?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"draft_id": "your-draft-id"
}
Wenn der Antwortstatus "queued" oder "running" lautet, frage GET https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20 ab, bis er "succeeded" lautet; die Dateien befinden sich in outputs[].url. POST https://vit.doitong.com/api/v1/quote/bytedance/seedance-2.5/draft/complete mit demselben Body gibt den exakten Preis vor der Ausführung zurück.
Diese Anfrage: ≈9,15 $ 9.150 API-Credits Auf dieser Seite ausführen
Dein neuer API-Schlüssel. Sie wird nur jetzt angezeigt und befindet sich bereits im Code und im untenstehenden API-Schlüssel-Feld. Halten Sie sie geheim: Fügen Sie sie niemals in Code ein, der in einem Browser ausgeführt wird.
Dein erstes Ergebnis erscheint hier
Erstelle unten eine Anfrage und führe sie mit deinem API-Schlüssel aus. Ausgaben werden in unseren Speicher kopiert und dauerhaft oder 7 Tage kostenlos aufbewahrt.
Anfrage erstellen
Die Steuerelemente werden aus dem Modellschema generiert. Code und Preis werden aktualisiert, während du sie änderst.
/run/bytedance/seedance-2.5/draft/complete?wait=20
Preis → 9,15 $
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://vit.doitong.com/api/v1/run/bytedance/seedance-2.5/draft/complete?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"draft_id": "your-draft-id"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://vit.doitong.com/api/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://vit.doitong.com/api/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/bytedance/seedance-2.5/draft/complete?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"draft_id": "your-draft-id"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://vit.doitong.com/api/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"draft_id": "your-draft-id",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/bytedance/seedance-2.5/draft/complete", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run",
"arguments": {
"model_id": "bytedance/seedance-2.5/draft/complete",
"input": {
"draft_id": "your-draft-id"
},
"wait_seconds": 20
}
}
}
Diese Anfrage ausführen
Dein Schlüssel bleibt in diesem Browser: Er wird nur an die Doitong API gesendet und nur gespeichert (localStorage), wenn du „Merken“ aktivierst. API-Schlüssel abrufen
Über Seedance 2.5
Nimmt eine `draft_id` aus einem früheren Seedance-2.5-Entwurfslauf entgegen und rendert das finale Video. Die ID bleibt sieben Tage lang und nur für den ursprünglichen Aufrufer gültig. Die Ausgabe ist fest auf 1080p eingestellt, der Codec kann auto, H264 oder H265 sein. Zurückgegeben werden Video und Seed.
Parameter
draft_iderforderlich
resolutionoptional
codecoptional
Ausgabe
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "bytedance/seedance-2.5/draft/complete",
"status": "succeeded",
"created_at": "2026-10-20T12:00:00Z",
"started_at": "2026-10-20T12:00:02Z",
"completed_at": "2026-10-20T12:00:09Z",
"queue_position": null,
"cost": {
"credits": 9150,
"usd": "9.15",
"charged": 9150,
"refunded": 0
},
"input": {
"draft_id": "your-draft-id"
},
"output": {
"video": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
"content_type": "video/mp4",
"file_name": "0-output.mp4",
"file_size": 1843200
},
"seed": 42,
"draft_id": "string"
},
"outputs": [
{
"type": "video",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.mp4",
"content_type": "video/mp4",
"file_size": 1843200,
"width": 1280,
"height": 720,
"duration": 5,
"stored": true
}
],
"error": null,
"metrics": {
"inference_seconds": 6.8
},
"urls": {
"self": "https://vit.doitong.com/api/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://vit.doitong.com/api/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Ausgabefelder
- video
- object {url, content_type, file_name, file_size}Durch die Generierung erzeugte Videodatei.
- seed
- integerWährend der Generierung angewendeter Seed-Wert.
- draft_id
- string | nullEntwurfsbezeichner für den Abschluss unter demselben Konto innerhalb von sieben Tagen; bei deaktiviertem Entwurfsmodus enthält die Antwort stattdessen null.
Weitere Modelle: Video zu Video
Für KI-Agenten: Diese Seite ist als Markdown verfügbar unter https://doitong.com/de/developers/models/bytedance/seedance-2.5/draft/complete.md. Alle Modelle und Anleitungen: https://doitong.com/developers/llms.txt