Animate a character image by transferring actions from a reference video.
-
Feature summary: Transfer actions and expressions from a reference video to a character image to generate an animated video.
-
Scenarios: Replicate dances, complex body movements, and facial expressions from film and television performances. A low-cost alternative to motion capture.
Model effects
The wan2.2-animate-move model supports two service modes: standard mode wan-std and professional mode wan-pro, which differ in output quality and pricing. For more information, see Wanx-Image-to-Motion.
|
Character image |
Reference video |
Output video (standard mode |
Output video (professional mode |
|
|
Prerequisites
Obtain an API key and export the API key as an environment variable.
The China (Beijing) and Singapore regions have separate API keys and request endpoints. They cannot be used interchangeably. Cross-region calls lead to authentication failures or service errors.
Model Studio has released a workspace-specific domain for the Singapore region: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com. The new dedicated domain delivers superior performance and higher stability for inference requests. We recommend migrating from https://dashscope-intl.aliyuncs.com to the new domain.
{WorkspaceId} is your workspace ID, which can be found on the Workspace Details page in the Model Studio console. The existing domain remains fully functional.
HTTP
Video generation uses asynchronous calls. The process has two steps: create a task, then poll for results.
Step 1: Create a task and get the task ID
Singapore: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/image2video/video-synthesis
Replace WorkspaceId with your actual Workspace ID.
Beijing: POST https://dashscope.aliyuncs.com/api/v1/services/aigc/image2video/video-synthesis
-
After the task is created, use the returned
task_idto query the result. Thetask_idis valid for 24 hours. Do not create duplicate tasks. Instead, use polling to retrieve the result. -
For guidance for beginners, see Call APIs with Postman or cURL.
Request parameters |
Image to actionThe following is the Singapore region URL. Replace WorkspaceId with your actual Workspace ID. URLs vary by region.
|
Request headers |
|
|
Content-Type The content type of the request. Must be |
|
|
Authorization Authenticates the request with a Model Studio API key. Example: Bearer sk-xxxx. |
|
|
X-DashScope-Async Enables asynchronous processing. HTTP requests support only asynchronous calls. Must be Important
If this request header is missing, the error "current user api does not support synchronous calls" is returned. |
|
Request body |
|
|
model The model name. Set this parameter to |
|
|
input The input parameters. Contains the following fields: |
|
|
parameters |
Response parameters |
Successful responseSave the
Error responseTask creation failed. See Error codes.
|
|
output The task output. |
|
|
request_id Unique request identifier for tracing and troubleshooting. |
|
|
message Detailed error message. Returned only for failed requests. See Error codes. |
|
|
code Error code. Returned only for failed requests. See Error codes. |
Step 2: Query the result by task ID
Singapore
GET https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/tasks/{task_id}
When calling, replace WorkspaceId with your actual workspace ID.
China (Beijing)
GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}
-
Polling recommendation: Video generation takes several minutes. Use a polling mechanism with a reasonable interval, such as 15 seconds.
-
Task state transition: PENDING → RUNNING → SUCCEEDED or FAILED.
-
Result link: After a task succeeds, a video URL valid for 24 hours is returned. Download and save the video to permanent storage, such as OSS.
-
task_idvalidity: 24 hours. After this period, queries return the task status asUNKNOWN.
Request parameters |
Query task resultReplace The following is the Singapore region URL. Replace WorkspaceId with your actual Workspace ID. URLs vary by region.
|
Request headers |
|
|
Authorization Authenticates the request with a Model Studio API key. Example: Bearer sk-xxxx. |
|
URL path parameters |
|
|
task_id The ID of the task. |
Response parameters |
Task successfulVideo URLs are valid for only 24 hours and then automatically purged. Save generated videos promptly. Task failedWhen a task fails,
|
|
output The task output. |
|
|
usage Output statistics. Only successful results are counted. |
|
|
request_id Unique request identifier for tracing and troubleshooting. |
Limitations
Data validity: Task IDs and video URLs expire after 24 hours. Download videos promptly.
Content moderation: All inputs and outputs are automatically moderated. Non-compliant content returns an IPInfringementSuspect or DataInspectionFailed error. For more information, see Error codes.
Billing and rate limiting
-
For free quota and pricing, see Wanx-Image-to-Motion.
-
For rate limits, see Wan series.
-
Billing details:
-
Only output is billed, based on video duration in seconds.
-
Failed calls are free and do not consume the new user free quota.
-
Error codes
If a model call fails and returns an error message, see Error codes.
FAQ
How can I improve output video quality?
-
Ensure the character occupies a similar portion of the frame in both the input image and the reference video.
-
Keep body proportions consistent between the image and the video.
-
Use high-definition source materials. Blurry images or low-frame-rate videos reduce output quality.
How can I convert a temporary video link to a permanent one?
The link cannot be converted directly. Download the video from your backend and upload it to permanent object storage (such as OSS) to get a permanent URL.
Can I play the returned video link directly in a browser?
Not recommended. The link expires after 24 hours. Download and save the video from your backend, then serve it via a permanent link.
How do I get the domain name whitelist for video storage?
A: Videos generated by models are stored in OSS. The API returns a temporary public URL. To configure a firewall whitelist for this download URL, note the following: The underlying storage may change dynamically. This topic does not provide a fixed OSS domain name whitelist to prevent access issues caused by outdated information. If you have security control requirements, contact your account manager to obtain the latest OSS domain name list.
