ModelRushVideo

Wan Animate Spicy API

Transfer motion from a reference video to an image, or replace the character in the video.
Motion transferCharacter replacement

Input

async
50/5000
Estimated runReference video measured before confirmationCurrent rate: $0.109 Per second of output

Output preview

Actual Wan Animate generation using the image and motion reference shown here. animate · 480P · output 4.875s · 832 × 480.
animate480P4.875s

Animate a character from a reference video

Supply one character image and one motion video. Animate transfers the motion to the image character; Replace swaps the character in the reference video.
Character image
Character image
Motion reference
Wan 3 source clip, used only as the motion reference.
Wan Animate output
Actual Wan Animate generation using the image and motion reference shown here. animate · 480P · output 4.875s · 832 × 480.

Required inputs

Output

An MP4 at 480P or 720P whose duration follows the reference video. The API returns a job first, then a video_url when it completes.

Request and result

First POST the same image, video, mode and resolution to /v1/videos/generations/quote with a UUID x-request-id. Check the maximum charge, then submit to /v1/videos/generations with the same ID and x-modelrush-video-edit-quote token.Read poll_url from the HTTP 202 response and GET it with the same API key until status is completed or failed.On completed, use video_url. A failed job returns error details.

API example

Example URLs are placeholders. Set your own accessible media URLs and maximumAuthorizedCents budget. The quote is free and does not generate; the second POST authorizes a paid task.
wan-animate.ts — typescript
const input = {
"model": "modelrush/wan-animate",
"image": "https://cdn.example.com/character.png",
"video": "https://cdn.example.com/motion.mp4",
"mode": "animate",
"resolution": "720P"
};
const requestId = crypto.randomUUID();
const maximumAuthorizedCents = 100; // Example budget: USD 1.00. Choose your own limit.
const headers = {
Authorization: `Bearer ${process.env.MODELRUSH_API_KEY}`,
"Content-Type": "application/json",
"x-request-id": requestId,
};
const quoteResponse = await fetch("https://api.modelrush.ai/v1/videos/generations/quote", {
method: "POST", headers, body: JSON.stringify(input),
});
if (!quoteResponse.ok) throw new Error(await quoteResponse.text());
const quote = await quoteResponse.json();
if (!Number.isSafeInteger(quote.billing.maximum_charge_cents) || quote.billing.maximum_charge_cents > maximumAuthorizedCents) {
throw new Error("Quoted charge exceeds the authorized budget");
}
const response = await fetch("https://api.modelrush.ai/v1/videos/generations", {
method: "POST",
headers: { ...headers, "x-modelrush-video-edit-quote": quote.quote_token },
body: JSON.stringify(input),
});
if (!response.ok) throw new Error(await response.text());
const job = await response.json();
const pollUrl = new URL(job.poll_url, "https://api.modelrush.ai");
for (let attempt = 0; attempt < 30; attempt++) {
const statusResponse = await fetch(pollUrl, { headers: { Authorization: headers.Authorization } });
if (!statusResponse.ok) throw new Error(await statusResponse.text());
const result = await statusResponse.json();
if (result.status === "completed") { console.log(result.video_url); break; }
if (result.status === "failed") throw new Error(JSON.stringify(result.error));
if (attempt === 29) throw new Error("Video job timed out");
await new Promise((resolve) => setTimeout(resolve, 2000));
}

Moving from Wan 2.2 Animate Mix or Move?

Map your old workflow to this model's image, video and animate/replace fields before sending it. The old request body is not interchangeable. For direct video editing, check the Wan 2.7 VideoEdit contract separately.
Try Wan Animate in Playground

Model information

Capabilities and limits

Best for

Character animationMotion studies

Current customer pricing

For each Operation and price variant, the highest regional customer price is shown.
ModelCapabilityPrice variantCustomer price
Wan Animate Spicy · modelrush/wan-animateVideo generation480P$0.053 / second
Wan Animate Spicy · modelrush/wan-animateVideo generation720P$0.109 / second

Other recommended models

Reference-to-Video

Wan 2.7 R2V

Preserve a subject from image or video references in a new 2–10 second shot
Starting pricePricing pending
Text-to-Video

Wan 2.7 Text to Video

Turn a creative brief into a traceable asynchronous video job
Starting pricePricing pending
Text-to-VideoImage-to-VideoReference-to-Video
18+

Wan 3 Spicy

Create cinematic AI videos from text, images, or multimodal references
Starting pricePricing pending