Wan 2.5 Text to Video
Integra
wan-25-preview/text-to-video
# 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/wan-25-preview/text-to-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}'
# 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/wan-25-preview/text-to-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}),
});
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 = {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/wan-25-preview/text-to-video", 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/mt/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": "wan-25-preview/text-to-video",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
}
Ċempel il-mudell Wan 2.5 Text to Video (wan-25-preview/text-to-video) permezz tad-Doitong API. Dokumentazzjoni għall-aġenti: https://doitong.com/mt/developers/models/wan-25-preview/text-to-video.md
POST https://api.doitong.com/v1/run/wan-25-preview/text-to-video?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
Jekk l-istatus tar-rispons huwa "queued" jew "running", agħmel polling fuq GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 sakemm ikun "succeeded"; il-fajls jinsabu f’outputs[].url. POST https://api.doitong.com/v1/quote/wan-25-preview/text-to-video bl-istess body jirritorna l-prezz eżatt qabel it-tħaddim.
Din it-talba: $0.75 750 krediti tal-API Ħaddmu f’din il-paġna
Iċ-ċavetta API l-ġdida tiegħek. Jintwera biss issa u diġà jinsab fil-kodiċi u fil-qasam taċ-ċavetta API hawn taħt. Żommu sigriet: qatt tpoġġih f’kodiċi li jaħdem f’browser.
Magħmul fuq Doitong
Xogħlijiet pubbliċi magħmula b’Wan 2.5 mill-komunità ta’ Doitong. Uża prompt mill-ġdid bi klikk waħda.
Vidjo
Create a realistic cinematic UGC-style commercial video, exactly 30 seconds long. The entire scene takes place inside a modern passenger airplane during a daytime flight. Natural smartphone-like cinematography, realistic airplane cabin, authentic passengers, natural lighting, realistic skin...
Vidjo
Реалистичная бытовая сцена в советской одесской квартире зимним вечером. Женщина находится на кухне, мужчина — в комнате и прихожей. Атмосфера обычной советской семьи перед приходом гостей. Голоса: все персонажи говорят по-русски с естественным, выразительным одесским говором. Характерная...
Ibni talba
Il-kontrolli jiġu ġġenerati mill-iskema tal-mudell. Il-kodiċi u l-prezz jaġġornaw hekk kif tibdilhom.
/run/wan-25-preview/text-to-video?wait=20
kwotazzjoni → $0.75
# 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/wan-25-preview/text-to-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}'
# 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/wan-25-preview/text-to-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}),
});
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 = {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/wan-25-preview/text-to-video", 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": "wan-25-preview/text-to-video",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
},
"wait_seconds": 20
}
}
}
Ħaddem din it-talba
Iċ-ċavetta tiegħek tibqa’ f’dan il-browser: tintbagħat biss lid-Doitong API u tiġi ssejvjata (localStorage) biss jekk timmarka Ftakar. Ikseb ċavetta API
Dwar Wan 2.5 Text to Video
Joħloq vidjo minn `prompt` testwali ta' sa 1500 karattru, biċ-Ċiniż jew bl-Ingliż. Il-proporzjon jista' jkun 16:9, 9:16 jew 1:1, ir-riżoluzzjoni 480p, 720p jew 1080p, u `duration` 5 jew 10 sekondi. `audio_url` fakultattiv jissettja mużika fl-isfond, maqtugħa għat-tul tal-klipp. Jappoġġja l-espansjoni tal-prompt, `negative_prompt` u `seed`.
Parametri
Ibgħat jew l-isem kanoniku jew l-isem nattiv, mhux it-tnejn. Ismijiet kanoniċi
promptmeħtieġ
audio_urlmhux obbligatorju
audio
aspect_ratiomhux obbligatorju
resolutionmhux obbligatorju
durationmhux obbligatorju
negative_promptmhux obbligatorju
enable_prompt_expansionmhux obbligatorju
seedmhux obbligatorju
enable_safety_checkermhux obbligatorju
Il-parametri tal-fajls jaċċettaw URL pubbliku https://, URI data: sa 10 MB, jew file_url ta’ upload. Fajls
Output
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "wan-25-preview/text-to-video",
"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": 750,
"usd": "0.75",
"charged": 750,
"refunded": 0
},
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
},
"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,
"width": 1024,
"height": 768,
"fps": 1.0,
"duration": 5,
"num_frames": 1
},
"seed": 42,
"actual_prompt": "The white dragon warrior stands still in a grand cathedral-like structure, its glowing golden eyes fixed forward. The camera slowly moves closer, focusing on the warrior's armored chest and face. It then begins to circle around the warrior, capturing the intricate details of the white scale armor with gold accents. The warrior maintains a strong, determined posture. Ambient sounds and soft choral tones fill the background, enhancing the majestic atmosphere. The camera continues its slow circular motion, emphasizing the warrior's heroic presence before ending with a close-up of the face."
},
"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"
}
}
Oqsma tal-output
- video
- object {url, content_type, file_name, file_size, width, height, fps, duration, num_frames}Fajl tal-vidjo li jirriżulta.
- seed
- integerValur taż-żerriegħa użat waqt il-ġenerazzjoni.
- actual_prompt
- string | nullIl-prompt użat fil-fatt meta l-kitba mill-ġdid tkun attivata.
Varjanti oħra ta’ Wan 2.5
Aktar mudelli: Test għal vidjo
Għall-aġenti tal-AI: din il-paġna bħala Markdown tinsab fuq https://doitong.com/mt/developers/models/wan-25-preview/text-to-video.md. Il-mudelli u l-gwidi kollha: https://doitong.com/developers/llms.txt