Wan 2.2 VACE Fun A14B · Reframe
Integrera
wan-22-vace-fun-a14b/reframe
# 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-22-vace-fun-a14b/reframe?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}'
# 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-22-vace-fun-a14b/reframe?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}),
});
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 = {
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/wan-22-vace-fun-a14b/reframe", 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/sv/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-22-vace-fun-a14b/reframe",
"input": {
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}
}
Anropa modellen Wan 2.2 VACE Fun A14B · Reframe (wan-22-vace-fun-a14b/reframe) via Doitong API. Dokumentation för agenter: https://doitong.com/sv/developers/models/wan-22-vace-fun-a14b/reframe.md
POST https://api.doitong.com/v1/run/wan-22-vace-fun-a14b/reframe?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}
Om svarsstatusen är "queued" eller "running" ska du polla GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 tills den är "succeeded"; filerna finns i outputs[].url. POST https://api.doitong.com/v1/quote/wan-22-vace-fun-a14b/reframe med samma body returnerar det exakta priset före körningen.
Filer som exemplet: 1,875 $ 1 875 API-krediter dina filer mäts innan körningen Kör den på den här sidan
Din nya API-nyckel. Den visas bara nu och finns redan i koden och i API-nyckelfältet nedan. Håll den hemlig: lägg aldrig in den i kod som körs i en webbläsare.
Skapat på Doitong
Offentliga verk skapade med Wan 2.2 VACE Fun A14B av Doitong-communityt. Återanvänd en prompt med ett klick.
Video
Create a highly realistic UGC-style smartphone video inside a modern commercial airplane during a daytime flight. Natural cabin lighting, subtle handheld camera movement, authentic airplane ambience, realistic passengers and natural acting. The video must feel like a real spontaneous phone...
Video
**SORA 2 PROMPT — 20 seconds, vertical 9:16** Create a highly realistic UGC-style smartphone video inside a modern commercial airplane during a daytime flight. Natural cabin lighting, subtle handheld camera movement, authentic airplane ambience, realistic passengers and natural acting. The video...
Video
Create a realistic cinematic 20-second video, filmed like a high-budget modern commercial with natural acting, realistic lighting and believable facial expressions. All dialogue is spoken naturally in French. **SCENE 1 — EXPENSIVE RESTAURANT, EVENING — 0–5 sec** A young man in his late 20s is...
Video
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...
Video
TITLE: Santa's Secret Christmas Selfie with Dasha 🎄 VIDEO FORMAT: 15–20 seconds, vertical 9:16, cinematic Christmas short film, high-quality realistic 3D animation. REFERENCE IMAGE — DASHA_001 Use the uploaded image as the exact character reference for Dasha. Preserve her recognizable face,...
Skapa en begäran
Kontrollerna genereras från modellschemat. Koden och priset uppdateras när du ändrar dem.
/run/wan-22-vace-fun-a14b/reframe?wait=20
pris → 1,875 $
# 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-22-vace-fun-a14b/reframe?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}'
# 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-22-vace-fun-a14b/reframe?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
}),
});
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 = {
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/wan-22-vace-fun-a14b/reframe", 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-22-vace-fun-a14b/reframe",
"input": {
"video": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
},
"wait_seconds": 20
}
}
}
Kör den här begäran
Din nyckel stannar i den här webbläsaren: den skickas endast till Doitong API och sparas endast i localStorage om du markerar Kom ihåg. Hämta en API-nyckel
Om Wan 2.2 VACE Fun A14B · Reframe
Tar en källvideo via `video_url` och genererar om den med ett annat bildutsnitt. `aspect_ratio` kan vara auto, 16:9, 1:1 eller 9:16 och `resolution` sträcker sig från 240p till 720p. Som standard matchar antal bildrutor och bildfrekvens indata; annars används `num_frames` och `frames_per_second` (5 till 30). `first_frame_url` och `last_frame_url` kan förankra resultatet och `zoom_factor` beskär inåt.
Parametrar
Skicka antingen det kanoniska namnet eller det inbyggda namnet, inte båda. Kanoniska namn
promptvalfritt
negative_promptvalfritt
match_input_num_framesvalfritt
num_framesvalfritt
match_input_frames_per_secondvalfritt
frames_per_secondvalfritt
seedvalfritt
resolutionvalfritt
aspect_ratiovalfritt
num_inference_stepsvalfritt
guidance_scalevalfritt
samplervalfritt
shiftvalfritt
video_urlobligatoriskt
video
first_frame_urlvalfritt
image
last_frame_urlvalfritt
end_image
enable_safety_checkervalfritt
enable_prompt_expansionvalfritt
accelerationvalfritt
video_qualityvalfritt
video_write_modevalfritt
num_interpolated_framesvalfritt
temporal_downsample_factorvalfritt
enable_auto_downsamplevalfritt
auto_downsample_min_fpsvalfritt
interpolator_modelvalfritt
transparency_modevalfritt
return_frames_zipvalfritt
zoom_factorvalfritt
trim_bordersvalfritt
Filparametrar tar emot en offentlig https://-URL, en data:-URI på upp till 10 MB eller file_url från en uppladdning. Filer
Resultat
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "wan-22-vace-fun-a14b/reframe",
"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": 1875,
"usd": "1.875",
"charged": 1875,
"refunded": 0
},
"input": {
"video_url": "https://content.doitong.com/video/showcase/v3/gen_fox_cartoon.mp4"
},
"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
},
"prompt": "string",
"seed": 42,
"frames_zip": {
"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
}
},
"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"
}
}
Resultatets fält
- video
- object {url, content_type, file_name, file_size, width, height, fps, duration, num_frames}Omramad videofil som producerats av modellen.
- prompt
- stringPrompten som användes för att generera utdata.
- seed
- integerSeed-värde som tillämpas under genereringen.
- frames_zip
- object {url, content_type, file_name, file_size} | nullZIP-arkiv som innehåller varje videobildruta och returneras när det begärs.
Andra Wan 2.2 VACE Fun A14B-varianter
Fler modeller: Video till video
För AI-agenter: den här sidan som Markdown finns på https://doitong.com/sv/developers/models/wan-22-vace-fun-a14b/reframe.md. Alla modeller och guider: https://doitong.com/developers/llms.txt