Seedance 2.5
Intégrer
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/fr-FR/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"
}
}
Appelez le modèle Seedance 2.5 (bytedance/seedance-2.5/draft/complete) via la Doitong API. Documentation pour les agents : https://doitong.com/fr-FR/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"
}
Si le statut de la réponse est "queued" ou "running", interrogez GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 jusqu'à ce qu'il soit "succeeded" ; les fichiers se trouvent dans outputs[].url. POST https://api.doitong.com/v1/quote/bytedance/seedance-2.5/draft/complete avec le même corps renvoie le prix exact avant l'exécution.
Cette requête: ≈9,15 $ 9 150 crédits API L'exécuter sur cette page
Votre nouvelle clé API. Elle ne s'affiche que maintenant et figure déjà dans le code et dans le champ de clé API ci-dessous. Gardez-la secrète : ne la mettez jamais dans du code exécuté dans un navigateur.
Créé sur Doitong
Créations publiques réalisées avec Seedance 2.5 par la communauté Doitong. Réutilisez une invite en un clic.
Vidéo
Subject: Man in a bunny suit, frozen city crowd Context: Urban street, all people, vehicles, and trees are frozen mid-action Action: Only the bunny-suited man moves, walking and waving in front of an unresponsive man in a black suit Style: Cinematic, intense stillness, Quicksilver/X-Men, Matrix...
Vidéo
This is a cinematic scene filmed with a hand-held shaky camera. The entire world is completely frozen in time. Nothing moves. Absolutely nothing. All people are frozen, cars are frozen, bicycles are frozen, traffic lights are frozen, trees and leaves are frozen, wind is frozen, shadows are...
Vidéo
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...
Vidéo
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...
Vidéo
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...
Vidéo
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...
Vidéo
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...
Vidéo
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,...
Vidéo
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...
Vidéo
один непрерывный кинематографический план от кадра 1 к кадру 2 без падения стекол. Кристалл над белым креслом вначале неподвижно парит, внутри светится золотисто-белое ядро. По мере трансформации по граням распространяется сеть трещин, оболочка раскалывается на крупные стеклянные пластины,...
Vidéo
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...
Vidéo
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...
Vidéo
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:...
Vidéo
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...
Vidéo
Вертикальное видео 9:16, продолжительность 10 секунд. Кинематографичная реалистичная анимация, уютная кухня вечером, тёплое освещение. За небольшим столом сидят два красивых взрослых пушистых котика — влюблённая пара. Крупный рыжий кот с белой грудкой и густыми чёрными закрученными усами одет в...
Vidéo
Промпт для видео: трансформация 1 → 2 без падения стекол, один непрерывный план Исходные кадры Фото 1: точный первый кадр — кристалл парит над белым креслом, внутри негромко светится золотисто-белое ядро. Фото 2: точный последний кадр — человекоподобное кристаллическое существо по форме...
Créer une requête
Les contrôles sont générés à partir du schéma du modèle. Le code et le prix se mettent à jour lorsque vous les modifiez.
/run/bytedance/seedance-2.5/draft/complete?wait=20
devis → 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
}
}
}
Exécuter cette requête
Votre clé reste dans ce navigateur : elle est envoyée uniquement à la Doitong API et enregistrée dans localStorage uniquement si vous cochez Mémoriser. Obtenir une clé API
À propos de Seedance 2.5
Reçoit un `draft_id` issu d’une exécution précédente d’un brouillon Seedance 2.5 et génère la vidéo finale. L’identifiant reste valide pendant seven jours et uniquement pour l’appelant d’origine. La sortie est fixe en 1080p et le codec peut être auto, H264 ou H265. La réponse contient la vidéo et la graine.
Paramètres
draft_idobligatoire
resolutionfacultatif
codecfacultatif
Sortie
{
"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"
}
}
Champs de sortie
- video
- object {url, content_type, file_name, file_size}Fichier vidéo produit par la génération.
- seed
- integerValeur de graine appliquée pendant la génération.
- draft_id
- string | nullIdentifiant de brouillon pour finalisation avec le même compte dans un délai de sept jours ; la réponse contient null si le mode brouillon est désactivé.
Plus de modèles : Vidéo vers vidéo
Pour les agents IA : cette page au format Markdown est disponible à l'adresse https://doitong.com/fr-FR/developers/models/bytedance/seedance-2.5/draft/complete.md. Tous les modèles et guides : https://doitong.com/developers/llms.txt