Wan v2.2 A14B
ผสานการทำงาน
wan/v2.2-a14b/image-to-video
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/wan/v2.2-a14b/image-to-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"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.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/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/v2.2-a14b/image-to-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"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.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"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/v2.2-a14b/image-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/th/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.ru/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "wan/v2.2-a14b/image-to-video",
"input": {
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
}
เรียกใช้โมเดล Wan v2.2 A14B (wan/v2.2-a14b/image-to-video) ผ่าน Doitong API เอกสารสำหรับเอเจนต์: https://doitong.com/th/developers/models/wan/v2.2-a14b/image-to-video.md
POST https://api.doitong.ru/v1/run/wan/v2.2-a14b/image-to-video?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
หากสถานะการตอบกลับเป็น "queued" หรือ "running" ให้ส่งคำขอแบบสำรวจ GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 จนกว่าจะเป็น "succeeded" ไฟล์อยู่ใน outputs[].url การส่ง POST https://api.doitong.ru/v1/quote/wan/v2.2-a14b/image-to-video ด้วยบอดี้เดียวกันจะแสดงราคาที่แน่นอนก่อนเรียกใช้
ไฟล์เช่นเดียวกับตัวอย่าง: $0.405 405 เครดิต API · ≈ ₽43.57 ไฟล์ของคุณจะถูกวัดก่อนเรียกใช้ เรียกใช้ในหน้านี้
คีย์ API ใหม่ของคุณ คีย์นี้จะแสดงเฉพาะตอนนี้ และมีอยู่ในโค้ดและช่องคีย์ API ด้านล่างแล้ว เก็บเป็นความลับ: อย่าใส่คีย์นี้ไว้ในโค้ดที่ทำงานบนเบราว์เซอร์
สร้างบน Doitong
ผลงานสาธารณะที่สร้างด้วย Wan v22 Large โดยชุมชน Doitong นำพรอมต์กลับมาใช้ได้ในคลิกเดียว
วิดีโอ
Создай 30-секундный обучающий музыкальный ролик для детей 3–5 лет. Тема: транспорт. Яркая 2D-анимация, весёлый водитель в кепке, крупные машины, пастельные цвета. 0:00–0:10 приветствие под музыку; 0:10–0:30 песенка: "Машина едет би-би, би-би", "Поезд едет ту-ту, ту-ту". Бодрая детская музыка...
วิดีโอ
Создай 30-секундный обучающий музыкальный ролик для детей 3–5 лет. Тема: транспорт. Яркая 2D-анимация, тот же весёлый водитель в кепке, самолёт. 0:00–0:15 песенка: "Самолёт летит вж-ж-ж, вж-ж-ж"; 0:15–0:25 интерактивная пауза: водитель спрашивает "Как гудит машина?", пауза; 0:25–0:30 финальный...
สร้างคำขอ
ตัวควบคุมสร้างจากสคีมาของโมเดล โค้ดและราคาจะอัปเดตเมื่อคุณเปลี่ยนค่า
/run/wan/v2.2-a14b/image-to-video?wait=20
ใบเสนอราคา → $0.405
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/wan/v2.2-a14b/image-to-video?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"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.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/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/v2.2-a14b/image-to-video?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"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.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"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/v2.2-a14b/image-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/v2.2-a14b/image-to-video",
"input": {
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
},
"wait_seconds": 20
}
}
}
เรียกใช้คำขอนี้
คีย์ของคุณจะอยู่ในเบราว์เซอร์นี้ โดยส่งไปยัง Doitong API เท่านั้น และจะบันทึกใน localStorage ก็ต่อเมื่อคุณเลือกจดจำ รับคีย์ API
เกี่ยวกับ Wan v2.2 A14B
เปลี่ยน `image_url` เดียวพร้อมพรอมต์ข้อความให้เป็นวิดีโอ และสามารถใช้ `end_image_url` เสริมเพื่อกำหนดเฟรมสุดท้ายได้ เอาต์พุตเป็น 480p, 580p หรือ 720p ในอัตราส่วน auto, 16:9, 9:16 หรือ 1:1 โดยมี 17 ถึง 161 เฟรม และ 4 ถึง 60 เฟรมต่อวินาที ปรับการสุ่มตัวอย่างได้ผ่านขั้นตอนการอนุมาน, สเกลการชี้นำสองค่า, shift, พรอมต์เชิงลบ และซีด การอินเตอร์โพเลชันเฟรมใช้ได้กับตัวเลือก film หรือ rife
พารามิเตอร์
ส่งชื่อมาตรฐานหรือชื่อดั้งเดิมอย่างใดอย่างหนึ่งเท่านั้น ห้ามส่งทั้งสองชื่อ ชื่อมาตรฐาน
image_urlจำเป็น
image
promptจำเป็น
num_framesไม่บังคับ
frames_per_secondไม่บังคับ
negative_promptไม่บังคับ
seedไม่บังคับ
resolutionไม่บังคับ
aspect_ratioไม่บังคับ
num_inference_stepsไม่บังคับ
enable_safety_checkerไม่บังคับ
enable_output_safety_checkerไม่บังคับ
enable_prompt_expansionไม่บังคับ
accelerationไม่บังคับ
guidance_scaleไม่บังคับ
guidance_scale_2ไม่บังคับ
shiftไม่บังคับ
interpolator_modelไม่บังคับ
num_interpolated_framesไม่บังคับ
adjust_fps_for_interpolationไม่บังคับ
video_qualityไม่บังคับ
video_write_modeไม่บังคับ
end_image_urlไม่บังคับ
end_image
พารามิเตอร์ไฟล์รับ URL https:// สาธารณะ, data: URI ขนาดไม่เกิน 10 MB หรือ file_url ของไฟล์ที่อัปโหลด ไฟล์
เอาต์พุต
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "wan/v2.2-a14b/image-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": 405,
"usd": "0.405",
"charged": 405,
"refunded": 0
},
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
"image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg"
},
"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
},
"prompt": "The white dragon warrior stands still, eyes full of determination and strength. The camera slowly moves closer or circles around the warrior, highlighting the powerful presence and heroic spirit of the character.",
"seed": 42
},
"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.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
ฟิลด์ของเอาต์พุต
- video
- object {url, content_type, file_name, file_size}ไฟล์วิดีโอที่สร้างขึ้น
- prompt
- stringพรอมต์ข้อความที่ใช้สร้างวิดีโอ
- seed
- integerค่า Seed ที่ใช้ระหว่างการสร้าง
รูปแบบอื่นของ Wan v22 Large
โมเดลเพิ่มเติม: ภาพเป็นวิดีโอ
สำหรับเอเจนต์ AI: หน้า Markdown นี้อยู่ที่ https://doitong.com/th/developers/models/wan/v2.2-a14b/image-to-video.md. โมเดลและคู่มือทั้งหมด: https://doitong.com/developers/llms.txt