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
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
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
A high-fashion cinematic video scene in slow motion, set on a wide white desert with fine rippled sand under a deep blue sky. A tall Black male model and a woman walk together in full-body view, directly toward the camera. The male model wears a dramatic flowing red trench coat, matching tailored...
Video
A fashionable young woman with black hair, walking confidently down a modern city street. She is wearing stylish everyday fashion — a black turtleneck top, oversized gray blazer, and wide-leg black trousers with chunky black boots. Her outfit is monochrome, mostly black and gray, with minimalist...
Video
Scene: On a large metal grill surface, miniature construction workers in orange safety vests and hard hats are preparing a giant steak. The raw meat, marbled and richly textured, rests across the hot grill. Some workers are spreading seasoning using tiny wheelbarrows filled with salt and pepper,...
Video
Subject: Young woman with closed eyes Context: Surrounded by goldfish swimming in the air Action: Portraiture in a dreamy aesthetic Style: Ethereal, artistic, reminiscent of fine art photography Camera motion (optional): Composition (optional): Shallow depth of field Ambiance (optional): Soft...
Video
A breathtaking cinematic aerial view of Craco, an abandoned medieval ghost town perched on a steep clay hilltop in Basilicata, Italy, at golden hour sunset. Crumbling stone buildings with empty window frames, a weathered watchtower rising above the ruins, narrow overgrown streets with grass...
Video
Придумай смешную сцену где баба Яга держит в руках лапа и разговаривает с ним как по телефону со своей подругой Кикиморой ударение на вторую и и она говорит что хочет кастрировать своего чёрного кота перчика если он не наберёт 1000 подписчиков тем временем перчик сидит в углу держав в руках...
Video
один непрерывный кинематографический план от кадра 1 к кадру 2 без падения стекол. Кристалл над белым креслом вначале неподвижно парит, внутри светится золотисто-белое ядро. По мере трансформации по граням распространяется сеть трещин, оболочка раскалывается на крупные стеклянные пластины,...
Video
Create a 6-second cinematic vertical science-fiction thriller video in 9:16 format. A 35-year-old male astronaut named Alex Rain lies unconscious on the metallic floor of a damaged spaceship emergency corridor. He has short dark hair, light stubble, tired blue-gray eyes, pale skin and an...
Video
Exterior shot: he is falling past NYC brick buildings and fire escapes. Wind gets louder. Just before dropping too low, he twists midair and shoots a web from his hand. The web catches onto a building or fire escape and pulls him forward with strong momentum. 6-13 sec: He swings and moves...
Video
photorealistic, live-action film, real actress, ARRI Alexa look, desaturated cold tones, soft natural lighting, subtle dust in air, volumetric haze, consistent city destruction young fragile woman, pale skin, long dark ash-blonde hair, slightly messy, dirty torn gray nightgown, barefoot, natural...
Video
Subject: Young man with a beard, large iridescent soap bubbles. Context: Outdoor park at sunset, blurred green foliage. Action: Man gently blows a large bubble from suds on his hand, bubbles float up in slow motion. Style: Cinematic, dreamlike, magical realism, ultra realistic. Camera motion:...
Video
A cute young woman with curly red hair and freckles, wearing a simple white t-shirt, sitting in a stylish, modern café. She is about to take a bite of a large juicy burger, holding it with both hands. The lighting is warm and cinematic, with soft ambient glows from hanging lights in the...
Video
Видео в стиле Дисней. ([0.0-4.0S] SCENE 1: PROBLEM SHOT SIZE: WIDE CAMERA: DOLLY IN ПО ОСИ КУШЕТКИ, EYE LEVEL, КАМЕРА СО СТОРОНЫ НОГ КУШЕТКИ, ОСТАЁТСЯ НА ОДНОЙ СТОРОНЕ ЛИНИИ ДЕЙСТВИЯ ACTION: ЗОЛУШКА с синяками под глазами и уставшим лицом ПОЧТИ ПЛЕТЁТСЯ ЧЕРЕЗ КАБИНЕТ ИЗ ОБЛАСТИ ОТКРЫТОЙ ДВЕРИ К...
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