Seedance 2.5
Integreren
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://api.doitong.com/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://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/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://api.doitong.com/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/nl/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.com/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"
}
}
Roep het Seedance 2.5-model (bytedance/seedance-2.5/draft/complete) aan via de Doitong API. Documentatie voor agents: https://doitong.com/nl/developers/models/bytedance/seedance-2.5/draft/complete.md
POST https://api.doitong.com/v1/run/bytedance/seedance-2.5/draft/complete?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"draft_id": "your-draft-id"
}
Als de responsstatus "queued" of "running" is, poll dan GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 totdat deze "succeeded" is; de bestanden staan in outputs[].url. POST https://api.doitong.com/v1/quote/bytedance/seedance-2.5/draft/complete met dezelfde body retourneert de exacte prijs vóór de uitvoering.
Deze request: ≈$ 9,15 9.150 API-tegoed Op deze pagina uitvoeren
Je nieuwe API-sleutel. Deze wordt alleen nu getoond en staat al in de code en in het onderstaande API-sleutelveld. Houd deze geheim: zet deze nooit in code die in een browser wordt uitgevoerd.
Gemaakt op Doitong
Openbare werken gemaakt met Seedance 2.5 door de Doitong-community. Gebruik een prompt opnieuw met één klik.
Video
Use the input image as the base scene and visual appearance. Use the reference video strictly as a motion reference for the dog’s movement. The dog must move exactly like in the reference video: - same gait (trotting rhythm) - same speed and tempo - same head motion and body dynamics - same ear...
Video
First-person POV of a dog trotting forward along the path at a realistic, moderate speed (approximately 8 km/h). The camera is positioned low, at the natural height of the dog’s head. The motion follows a true trotting gait: steady, rhythmic, grounded movement with gentle vertical bounce and...
Video
Subject: Young woman with dark hair, pale skin, glowing green eyes. Context: Dark, shadowy room. Action: Slow subtle breathing, slight blink. Cold direct gaze at camera. Finger pressed to lips. Minimal movement. Style: Cinematic, hyperrealistic, mysterious, intense. Camera motion: Static shot, no...
Video
First-person POV of a dog running forward along the path at a realistic, moderate speed (approximately 10 km/h). The camera is positioned low, at the natural height of the dog’s head. The motion follows a true trotting gait: steady, rhythmic, grounded movement with gentle vertical bounce and...
Video
Очень медленный финальный наезд камеры. Пламя свечи на переднем плане горит ярче, создавая блики. Dialogue in this scene: Астролог: "Но в марте будет одна дата… когда решение изменит всё. Напишите в комментариях “Овен” — и я сделаю отдельный разбор." No background music.
Video
A close-up portrait of a striking cyberpunk woman with sleek dark hair partially wet and falling around her face. She’s wearing glossy, high-tech neon visor goggles with a vivid color gradient — bright yellow, orange, and pink reflecting glowing city lights. Her expression is confident and...
Video
Ultra-realistic scene featuring miniature construction workers in orange vests and hard hats, actively working on a giant [pizza]. The tiny workers are using small tools, cranes, and machines to [assemble]. The [pizza] is placed on a metal surface or kitchen countertop. Steam or particles rise...
Video
Slow motion. Low angle camera tilting up at Ilya. Warm light from the kitchen intensifies behind him, making him look heroic. On-screen dialogue (characters speak with lip-sync): Илья: "Не трогай её!"; Бабушка Нина: "Илья, отойди! Он же…" No background music.
Video
Two sandboarders racing down massive golden sand dunes, carving aggressively in wide S-curves, heading directly toward the camera in a low, dramatic angle. They are captured in mid-motion, kicking up thick trails of sand behind their boards. Both riders wear full protective sandboarding suits in...
Video
Алиса издает радостный, заливистый смех и весело дрыгает ножками в воздухе. Камера плавно уходит в затемнение через мягкий расфокус, оставляя ощущение тепла. На последних секундах в кадр попадает ладонь мамы, которая нежно гладит ребенка по голове, успокаивая суету. Завершающий аккорд видео...
Video
Папа судорожно разворачивает подгузник, случайно роняет его и быстро наклоняется, чтобы поднять, исчезая из кадра на секунду. Камера плавно переводит фокус от папы к лицу Алисы на переднем плане. Малышка издает тихий звук, похожий на вздох, сохраняя полное олимпийское спокойствие и глядя на суету...
Video
Родители забавно сталкиваются спинами на заднем плане, синхронно ойкают и продолжают свой безумный бег. Камера быстро отъезжает назад, открывая масштабный вид на всю комнату, полную движения. В самом центре кадра Алиса остается абсолютно неподвижной, создавая сильный визуальный контраст между...
Video
Алиса медленно и очень забавно поворачивает голову сначала влево, затем вправо, пытаясь осознать причину шума. Камера совершает круговое вращение вокруг ее головы на 90 градусов. Ее маленькая пухлая ручка тянется к объективу, пальцы медленно сжимаются и разжимаются. Атмосфера сцены передает милое...
Video
На заднем плане мама и папа комично проносятся из стороны в сторону, создавая эффект ускоренной суеты. Камера слегка покачивается, имитируя живой взгляд. Алиса медленно переводит взгляд с одного родителя на другого, ее брови слегка приподняты в забавном недоумении. Движения родителей подчеркнуто...
Video
Папа судорожно разворачивает подгузник, случайно роняет его и быстро наклоняется, чтобы поднять, исчезая из кадра на секунду. Камера плавно переводит фокус от папы к лицу Алисы на переднем плане. Малышка издает тихий звук, похожий на вздох, сохраняя полное олимпийское спокойствие и глядя на суету...
Video
Папа судорожно разворачивает подгузник, случайно роняет его и быстро наклоняется, чтобы поднять, исчезая из кадра на секунду. Камера плавно переводит фокус от папы к лицу Алисы на переднем плане. Малышка издает тихий звук, похожий на вздох, сохраняя полное олимпийское спокойствие и глядя на суету...
Een aanvraag samenstellen
Besturingselementen worden gegenereerd op basis van het modelschema. De code en de prijs worden bijgewerkt terwijl je ze wijzigt.
/run/bytedance/seedance-2.5/draft/complete?wait=20
prijsopgave → $ 9,15
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/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://api.doitong.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/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://api.doitong.com/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
}
}
}
Deze request uitvoeren
Je sleutel blijft in deze browser: hij wordt alleen naar de Doitong API verzonden en alleen in localStorage opgeslagen als je Onthouden aanvinkt. API-sleutel ophalen
Over Seedance 2.5
Neemt een `draft_id` uit een eerdere Seedance 2.5-conceptrun en rendert de definitieve video. De id blijft zeven dagen geldig en alleen voor de oorspronkelijke aanroeper. De uitvoer is vast 1080p en de codec kan auto, H264 of H265 zijn. De respons bevat de video en seed.
Parameters
draft_idverplicht
resolutionoptioneel
codecoptioneel
Uitvoer
{
"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://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Velden van de uitvoer
- video
- object {url, content_type, file_name, file_size}Videobestand dat door de generatie is geproduceerd.
- seed
- integerSeedwaarde die tijdens de generatie wordt toegepast.
- draft_id
- string | nullConcept-ID voor voltooiing binnen hetzelfde account gedurende zeven dagen; het antwoord bevat in plaats daarvan null als de conceptmodus is uitgeschakeld.
Meer modellen: Video naar video
Voor AI-agents: deze pagina als Markdown staat op https://doitong.com/nl/developers/models/bytedance/seedance-2.5/draft/complete.md. Alle modellen en handleidingen: https://doitong.com/developers/llms.txt