Wan 2.2 VACE Reframe is a state-of-the-art video generation and editing model designed for advanced video-to-video transformations. It supports fine granular control over video style and motion dynamics while preserving subject identity and video quality. Built on the VACE architecture and paired with Wan 2.2 T2V A14B weights, this model empowers creators to generate, reframe, and modify videos locally or via API with efficiency and precision.
vs Wan 2.1 VACE: Wan 2.2 offers improved video quality with higher frame rates (81 fps vs ~30 fps) and supports more precise control conditions such as trajectory and MLSD. It also benefits from a more efficient VAE compression, enabling faster and higher resolution video reframing while preserving spatial coherence better than Wan 2.1.
vs Wan 2.2-T2V-A14B (Text-to-Video): While Wan 2.2-T2V is optimized for text-to-video semantic grounding and cinematic scene generation, Wan 2.2 VACE Fun A14B specializes in video-to-video reframing with multi-condition control, making it better suited for motion and subject preservation in existing footage versus synthetic scene creation.
vs Wan 2.2-I2V-A14B (Image-to-Video): The VACE Fun model is tailored for video reframing with fine trajectory and pose controls, whereas Wan 2.2-I2V focuses on turning still images into videos with expert-guided detail enhancement. This makes VACE Fun preferable for editing and restyling existing videos, while I2V excels in animation from images.
Accessible via AI/ML API. Documentation: available here.
import requests, time headers = {"Authorization": "Bearer " + AIMLAPI_KEY} job = requests.post( "https://api.aimlapi.com/v2/video/generations", headers=headers, json={ "model": "wan-22-vace-fun-a14b/reframe", "prompt": "A serene timelapse of clouds over a mountain range" }, ).json() gid = job["id"] while True: res = requests.get(f"https://api.aimlapi.com/v2/video/generations?generation_id={gid}", headers=headers).json() if res.get("status") in ("completed", "error"): break time.sleep(5) print(res["video"]["url"])
const headers = { Authorization: `Bearer ${process.env.AIMLAPI_KEY}`, "Content-Type": "application/json", }; const job = await (await fetch("https://api.aimlapi.com/v2/video/generations", { method: "POST", headers, body: JSON.stringify({ "model": "wan-22-vace-fun-a14b/reframe", "prompt": "A serene timelapse of clouds over a mountain range" }), })).json(); let res; do { await new Promise((r) => setTimeout(r, 5000)); res = await (await fetch(`https://api.aimlapi.com/v2/video/generations?generation_id=${job.id}`, { headers })).json(); } while (!["completed", "error"].includes(res.status)); console.log(res.video.url);
# submit the generation — the response contains the job "id" curl -X POST https://api.aimlapi.com/v2/video/generations \ -H "Authorization: Bearer $AIMLAPI_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"wan-22-vace-fun-a14b/reframe","prompt":"A serene timelapse of clouds over a mountain range"}' # then poll until status is "completed" — video.url holds the result curl "https://api.aimlapi.com/v2/video/generations?generation_id={id}" -H "Authorization: Bearer $AIMLAPI_KEY"
OpenAI-compatible — swap the base URL and it works with your existing SDK.
| Type | Price |
|---|---|
| Output | |
| Model | Input | Output | Context | Best for |
|---|---|---|---|---|
Wan 2.2 Vace Reframe This page | Video generation |
Wan 2.2 Vace Reframe takes text, video as input and returns video.
Wan 2.2 Vace Reframe is priced at $0.065 / gen.
Wan 2.2 Vace Reframe is billed per generation — a fixed charge per output rather than by prompt length.
Wan 2.2 Vace Reframe was built by Alibaba Cloud.
Send a request to v2/video/generations with wan-22-vace-fun-a14b/reframe as the model id.
Yes. Wan 2.2 Vace Reframe is served through AI/ML API, so the same key and endpoint format used for other models applies.
It is accessed via the v2/video/generations endpoint.