Skip to content

digital human-wan2.2-s2v API reference

wan2.2-s2v generates videos of a person speaking, singing, or performing, with natural lip movements, expressions, and actions, from a single image and an audio file.

  • Audio-driven: An input audio file drives the character in a static image, synchronizing its lip movements, facial expressions, and body actions with the audio.

  • Rich scenarios: Supports three lip-sync scenarios: speaking, singing, and performing.

  • Diverse characters: Supports real people, including portraits, half-body, and full-body images, along with cartoon characters.

  • Output video resolution: Provides 480P and 720P resolution options.

Important

This document applies only to the China (Beijing) region. To use the model, you must use an API key from the China (Beijing) region.

Model and pricing

ModelUnit priceRate limiting (shared by Alibaba Cloud accounts and RAM users)
Task submission RPS limitConcurrent tasks
wan2.2-s2v480P: $0.071677/second 720P: $0.129018/second51

HTTP API

Prerequisites

  • Activate the service and get an API key.

  • Set the API key as environment variable.

Step 1: Create a task and get the task ID

HELPCODEESCAPE-http
POST https://dashscope.aliyuncs.com/api/v1/services/aigc/image2video/video-synthesis

Note

  • Because this model call takes a long time, the task is created through an asynchronous invocation.

  • After the task is created, the system immediately returns a task_id. In the next step, use this task_id to query the task result within 24 hours.

Request parameters

FieldTypePassing methodRequiredDescriptionExample
Content-TypeStringHeaderYesThe request type. Set the value to application/json.application/json
AuthorizationStringHeaderYesThe API key. The format is Bearer sk-xxx.Bearer sk-1a**2b
X-DashScope-AsyncStringHeaderYesA static field set to `enable`, which indicates that an asynchronous invocation is used.enable
modelStringBodyYesThe model to call.wan2.2-s2v
input.image_urlStringBodyYesThe URL of the uploaded image. - Image format: JPG, JPEG, PNG, BMP, and WEBP are supported. - Image resolution: The width and height of the image must be between 400 and 7,000 pixels. - Only HTTP/HTTPS links accessible over the Internet are supported.http://aaa/bbb.jpg
input.audio_urlStringBodyYesThe URL of the uploaded audio file. - Audio format: WAV and MP3 are supported. - Audio limits: The file size must be less than 15 MB, and the duration must be less than 20 seconds. - Audio content: The audio must contain clear and loud human speech. Remove interference such as ambient noise and background music. - Only HTTP/HTTPS links accessible over the Internet are supported.http://aaa/bbb.mp3
parameters.resolutionStringBodyNoThe video resolution level. Valid values are 480P and 720P. The default value is 480P. The model tries to keep the aspect ratio of the output video the same as the input image. It adjusts the total pixels of the video to be close to the selected level while keeping the aspect ratio unchanged. Example 480P: This resolution is typically 640 × 480 (about 310,000 pixels) with a 4:3 aspect ratio. 720P: This resolution is typically 1280 × 720 (about 920,000 pixels) with a 16:9 aspect ratio. Example: If the input image has a 4:5 aspect ratio and you select the 480P level, the output video will maintain the 4:5 aspect ratio. The resolution will be adjusted to be close to 310,000 pixels. For example, the output video resolution might be 480 × 600, for a total of 288,000 pixels. This data is for reference only. The actual output may vary.480P

Response parameters

FieldTypeDescriptionExample
output.task_idStringThe unique ID of the asynchronous task.a8532587-fa8c-4ef8-82be-0c46b17950d1
output.task_statusStringThe status of the job after the asynchronous task is submitted.PENDING
request_idStringThe unique ID of the request.7574ee8f-38a3-4b1e-9280-11c33ab46e51

Sample request

HELPCODEESCAPE-curl
curl 'https://dashscope.aliyuncs.com/api/v1/services/aigc/image2video/video-synthesis/' \
 --header 'X-DashScope-Async: enable' \
 --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
 --header 'Content-Type: application/json' \
 --data '{
     "model": "wan2.2-s2v",
     "input": {
            "image_url": "https://img.alicdn.com/imgextra/i3/O1CN011FObkp1T7Ttowoq4F_!!6000000002335-0-tps-1440-1797.jpg",
            "audio_url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250825/iaqpio/input_audio.MP3"
        },
        "parameters": {
            "resolution": "480P"
        }
    }'

Sample response

HELPCODEESCAPE-json
{
    "output": {
        "task_id": "a8532587-fa8c-4ef8-82be-xxxxxx",
    	"task_status": "PENDING"
    },
    "request_id": "7574ee8f-38a3-4b1e-9280-xxxxxx"
}

Step 2: Query the result by task ID

Send a GET request using the task_id from the previous step to query the task status and result. Replace {task_id} in the URL with the actual task ID.

HELPCODEESCAPE-http
GET https://dashscope.aliyuncs.com/api/v1/tasks/{task_id}

Note

  • Video generation tasks can take 5 to 10 minutes to complete. You can use a polling mechanism and set a reasonable query interval, such as 15 seconds, to retrieve the result.

  • The video_url returned for a successful task is valid for 24 hours. You should download and save the video promptly.

Request parameters

FieldTypePassing methodRequiredDescriptionExample
AuthorizationStringHeaderYesAPI key in the format Bearer sk-xxx.Bearer sk-xxx
task_idStringUrl PathYesTask ID to query.a8532587-fa8c-4ef8-82be-0c46b17950d1

Response parameters

FieldTypeDescriptionExample
output.task_idStringTask ID.a8532587-fa8c-4ef8-82be-0c46b17950d1
output.task_statusStringTask status. Possible values: - PENDING - RUNNING - SUCCEEDED - FAILED - UNKNOWN - CANCELEDSUCCEEDED
output.submit_timeStringTask submission time.2025-09-01 09:37:27.468
output.scheduled_timeStringTask start time.2025-09-01 09:37:34.885
output.end_timeStringTask completion time.2025-09-01 09:40:20.734
output.results.video_urlStringGenerated video URL (valid for 24 hours --- please download promptly).https://xxx/1.mp4?Expires=xxx
usage.durationFloatVideo duration in seconds (used for per-second billing).10.23
usage.video_countIntegerNumber of videos generated.1
usage.SRIntegerVideo resolution tier.480
usage.sizeStringVideo resolution."size": "640*480"
usage.fpsIntegerVideo frame rate."fps": 16
output.codeStringError code (returned only on failure).InvalidParameter
output.messageStringError details (returned only on failure).The request is missing required parameters or in a wrong format
request_idStringUnique request ID.7574ee8f-38a3-4b1e-9280-11c33ab46e51

Sample request

Replace 86ecf553-d340-4e21-xxxxxxxxx with your task ID.

HELPCODEESCAPE-curl
curl -X GET https://dashscope.aliyuncs.com/api/v1/tasks/86ecf553-d340-4e21-xxxxxxxxx \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

Note

Task results are retained for 24 hours and then automatically purged.

Sample responses

Successful response

Save task results within 24 hours before automatic purging.

HELPCODEESCAPE-json
{
    "output": {
        "task_id": "bcae8761-f242-4775-a11e-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2025-09-01 09:37:27.468",
        "scheduled_time": "2025-09-01 09:37:34.885",
        "end_time": "2025-09-01 09:40:20.734",
        "results": {
            "video_url": "http://dashscope-result-hz.oss-cn-hangzhou.aliyuncs.com/1d/xxx.mp4?Expires=xxxxxx"
        }
    },
    "usage": {
        "duration": 18.13,
        "size": "512*640",
        "fps": 16,
        "video_count": 1,
        "SR": 480
    },
    "request_id": "28cfedb1-cd60-9e0c-b920-xxxxxx"
}

Failed response

HELPCODEESCAPE-json
{
    "request_id": "8d49f522-f6a4-9eed-b322-xxxxxx",
    "output": {
        "task_id": "101ad32f-7653-4ae9-8f22-xxxxxx",
        "task_status": "FAILED",
        "submit_time": "2025-09-01 11:43:41.174",
        "scheduled_time": "2025-09-01 11:43:48.937",
        "end_time": "2025-09-01 11:43:49.802",
        "code": "InvalidURL",
        "message": "Required URL is missing or invalid, please check the request URL."
    }
}

Billing and rate limiting

  • For free quota and unit price, see Model invocation pricing.

  • For rate limits, see Wan series.

  • Billing details:

    • Billing covers output only (per video second successfully generated).

    • Failures do not incur charges or consume the free quota.

Error codes

If a model call fails and an error message is returned, see Error messages.

Mirror of Alibaba Cloud Model Studio docs for reference and RAG. Not affiliated with Alibaba Cloud.