Skip to main content

Wan 2.2 Animate from Alibaba is a character animation endpoint that moves the person in one image with the motion of a driving video. The video must run 2 to 30 seconds, output matches its length, at 480p or 720p.

From $0.053/s

Workbench

Input

Character animation
0/2000
Optional, up to 2000 characters. It guides animation style and content — not identity, which belongs to the character image. at most 2000 characters
Animation mode
Animate the imageReplace in the video
Animate moves the character from your image using the motion of the driving video. Replace swaps the person in the driving video for the one in your image and keeps that video's scene.
1/1

Drop files or media links, paste, or browse · 1 file · Max 10 MB · JPG · PNG · WEBP

  • 1
1 / 1 files
The character image. The person here is the one that gets animated, so use a full-body plate with a clear silhouette and even light. If no face or person can be found in the image, the task is rejected with invalid_request. at least 1 characters
1/1

Drop a video here, or browse · 1 file · Max 90 MB · MP4

  • 1
1 / 1 files
The driving video, 2 to 30 seconds long: upload an MP4, or pass an MP4 or MOV URL. Its motion is transferred and its length sets the output length; a video outside that range is rejected before anything is charged. It has to be a direct link to the video file itself — a page that plays the video hands us HTML instead, the input check reads no duration from it, and the call fails with the charge refunded. Uploading the file is the most reliable route. at least 1 characters
affects price
480p or 720p, default 720p, and a price tier. Prove the transfer at 480p, then re-render the takes you intend to ship.
Seed
0 to 2147483647; zero requests a random seed. Fix it to compare two runs over the same driving video. no lower than 0 · no higher than 2147483647
Safety checkerOff

SpicyAPI does not run a safety checker on this model. Your prompt and media go to the model as written, and the model itself decides what comes back.

Checking your account before enabling submission and pricing.

Output

Ready for a new run
Example result

Related models and next tasks

Missing the model you need?

Tell us what to add and where you would use it. Requests go to the people who decide what gets onboarded next.

Transfer a driving video's motion onto one character image

The Wan 2.2 Animate API takes two required inputs on its character-animation endpoint, image_url and video_url, and moves the driving video's motion onto the person in the image. animation_mode picks the direction: animate keeps the image's own scene and moves that character, while replace keeps the driving video's scene and swaps its person for the one in the image. Output runs 2 to 30 seconds, matching the driving video, at 480p or 720p.

Open the playground
Transfer a driving video's motion onto one character image
Required inputs
image_url (character) and video_url (driving clip)
Modes
animation_mode: animate (default) or replace
Driving video length
2 to 30 seconds; output matches that length
Resolution tiers
480p or 720p, default 720p, also the price tier
Prompt
Optional, up to 2,000 characters, guides motion style and content
Video input
MP4 upload up to 90MB, or an MP4 or MOV URL
Modes
Animate keeps the image's scene, replace keeps the video'sanimation_mode decides which scene survives. animate holds the character image's own setting and moves that character with the driving video's motion; replace holds the driving video's background and drops the image's character into it in place of the original person.
Scoping
Identity comes from image_url, motion from video_urlBoth URLs are required, and each one owns a different part of the result. The optional prompt, up to 2,000 characters, guides the style and content of the motion. It does not decide who appears on screen, because identity belongs to the character image.
Duration
There is no duration field to setThe output is as long as the video in video_url, and that driving video must run 2 to 30 seconds. The file you upload is therefore also your length setting, so trim the source to the exact span you want animated before sending the request.

What the Wan 2.2 Animate API does well

One Alibaba model covers animation and replacement

One Alibaba model covers animation and replacement

Alibaba released Wan2.2-Animate-14B on September 19, 2025 as a single model for character animation and character replacement, with open weights. This API puts both behaviours behind one endpoint: animation_mode switches between them, and every other field, from resolution to seed, works the same way in either mode.

Body movement and facial expression both come from the driving video

Body movement and facial expression both come from the driving video

According to Alibaba's Wan-Animate paper, the model uses spatially-aligned skeleton signals to replicate body motion and implicit facial features extracted from source images to reenact expressions. A driving video that keeps the performer's body and face in view for its whole length gives the model both signals to work from.

  • Replace mode reuses footage you already have

    Setting animation_mode to replace swaps the person in video_url for the character in image_url while the video's background and camera movement stay. A location filmed once can then carry different characters, each supplied as its own image, without reshooting the scene for every version.

  • Only resolution and delivered seconds move the price

    Billing is per second of output, and resolution is the single field that selects the rate, with 480p and 720p as the two tiers. animation_mode, prompt and seed leave the rate unchanged. Each task is quoted at the 30-second maximum, and the difference is refunded when it settles against the real length.

  • The character image has to contain a face or person

    When no face or person can be found in image_url, the task is rejected with invalid_request. The character image is also where the whole look comes from, so the endpoint's own guidance is a full-body plate with a clear silhouette and even light, which gives the model an unambiguous person to animate.

  • A seed for side-by-side takes

    seed accepts any integer from 0 to 2,147,483,647, and 0 requests a random seed. Holding one value while changing a single other input, such as prompt or animation_mode, makes it simpler to compare two takes built on the same driving video.

Who Wan 2.2 Animate is for

  • Give an approved character new moves

    Character and IP owners

    Give an approved character new moves

    A team with a finished character design can pair that still with a recorded performance in animate mode. The plate can be drawn or rendered as long as a person is visible in it. The look stays with image_url while timing and gestures come from the driving video, so a new clip needs no fresh render of the character.

  • Recast the person in a shot you already filmed

    Video editors

    Recast the person in a shot you already filmed

    Set animation_mode to replace to put a different character into an existing take. The background and camera movement come from the driving video, so one location shot can carry several characters. Consent from the people in the footage and in the character image still has to be in place.

  • Drive a character through a full routine

    Dance and fitness creators

    Drive a character through a full routine

    Pair a full-body character image with up to 30 seconds of choreography or a workout sequence in animate mode. The output lasts as long as the routine, so a longer driving video returns a longer clip billed at the same per-second rate for its resolution.

  • Offer motion templates inside a product

    App developers

    Offer motion templates inside a product

    An app can keep a library of short driving clips and ask users for a single character image of themselves or a character they have rights to. Each request then needs only the two URLs and an animation_mode, with prompt and seed added when a template calls for them.

How to call the Wan 2.2 Animate API

  1. Choose animate or replace before anything else

    animation_mode determines which scene the output keeps: animate for the character image's own scene, replace for the driving video's scene. It defaults to animate if the field is left unset.

  2. Supply a character image and a driving video

    image_url takes the character as a JPEG, PNG or WebP upload. video_url takes the driving clip as an MP4 upload of up to 90MB or as an MP4 or MOV URL. Both fields are required.

  3. Keep the driving video inside 2 to 30 seconds

    Trim footage to the span you want animated before uploading, because the output is exactly as long as the input. A driving video shorter than 2 seconds or longer than 30 is rejected with invalid_request before any charge.

  4. Pick a resolution tier

    Set resolution to 480p or 720p, or leave it out to get 720p. It is the only field that changes the per-second rate, so a 480p pass is an inexpensive way to check a new pairing of image and video.

  5. Add a prompt only if the motion needs steering

    Leave prompt out for a plain transfer, or add up to 2,000 characters on the style of the movement, such as pace or energy. Keep appearance out of it, since the character's look is read from image_url.

  6. Set a seed, submit, and collect the result

    Give seed a fixed value from 1 to 2,147,483,647 when you plan to compare takes, or 0 for a random seed. The task runs asynchronously, so keep the returned task id and poll it or register a callback URL.

Wan 2.2 Animate worked examples

  • Put a full-body character through a dance routine

    Pair a full-body character image with a driving video of a dance routine in animate mode. The character performs the choreography, the backdrop from the character image stays in place, and the clip runs exactly as long as the dance video.

    Smooth, energetic dance movement with confident posture and fluid arm gestures
  • Replace a performer in an existing shot

    Set animation_mode to replace to swap the person in a driving video for the character in image_url. The driving video's location and camera work remain, so the new character appears inside footage that was filmed for someone else.

    Natural, expressive movement matching the pace of the original performance
  • Compare two seeds on the same driving video

    Run the same image_url and video_url twice with animation_mode set to animate, changing only seed, to see how much the result varies before choosing one value for the final render.

    Subtle, natural motion with relaxed shoulders and a steady gaze toward camera

Wan 2.2 Animate API questions

Treat image_url and video_url as the two inputs that decide the result: the character image supplies identity and, in animate mode, the background; the driving video supplies motion and, in replace mode, the scene. Keep prompt for notes on pacing or mood and leave appearance to the image. Trim the driving video to the shortest span that shows the movement you need, since a shorter clip costs less to test and is easier to judge.

All Wan models22

Video models18