The Wan Image-to-Video model accepts multimodal input (text, image, or audio) and generates videos up to 15 seconds long at 1080P resolution.
- Basic Settings: Supports integer video durations from 2 to 15 seconds, configurable video resolution (480P, 720P, or 1080P), smart prompt rewriting, and optional watermarking.
- Audio Capabilities: Supports automatic dubbing or uploading an audio file to achieve audio-visual synchronization.(Supported by Wan 2.5 and Wan 2.6)
- Multi-shot Narrative: Generates multi-shot videos while preserving subject consistency across shot transitions. (Supported by Wan 2.6 only)
Getting Started
| Input Prompt | Input First Frame Image | Output Video (Multi-shot, Audio Video) |
| The camera slowly moves up from below the turtle, which swims gracefully, its belly details clearly visible. | ![]() |
{WorkspaceId} with your actual Workspace ID.
- Python SDK
- Java SDK
- curl
video_url is valid for 24 hours. Download the video promptly.
Scope
- Supported models vary by region. Resources are isolated between regions. For supported models in each region, see the Model Studio console.
- When making a call, make sure your model, endpoint URL, and API key all belong to the same region. Cross-region calls fail.
Core Capabilities
Create Multi-shot Videos
Supported Models: Wan 2.6 series models.
Function Introduction: The model automatically switches between shots—such as from wide to close-up—making it ideal for music video production.
Parameters Setting:
shot_type: Must be set to"multi".prompt_extend: Must be set totrue(enables smart rewriting to optimize shot descriptions).
| Input Prompt | Input First Frame Image | Output Video (Wan 2.6, Multi-shot Video) |
| An urban fantasy art scene. A dynamic graffiti art character. A boy made of spray paint comes to life from a concrete wall. He raps an English song at a very fast pace, striking a classic, energetic rapper pose. The scene is set at night under an urban railway bridge. The lighting comes from a single street lamp, creating a cinematic atmosphere, full of high energy and amazing detail. The audio part of the video consists entirely of rap, with no other dialogue or background noise. | Input Audio: |
{WorkspaceId} with your actual Workspace ID.
- Python SDK
- Java SDK
- curl
Ensure that the DashScope SDK for Python version is at least 1.25.8. For instructions on how to update, see Installing the SDK.
Achieve Audio-Visual Synchronization
Supported Models: wan2.5 and wan2.6 series models.
Function Introduction: Makes characters in photos speak or sing with lip movements synchronized to the audio. For more examples, see Video Sound Generation.
Parameters Setting:
- Input Audio File: Provide an
audio_url. The model synchronizes lip movements based on the audio file. - Automatic Dubbing: Do not provide an
audio_url. By default, the output is a video with sound. The model automatically generates background sound effects, music, or vocals based on the visuals.
| Input Prompt | Input First Frame Image | Output Video (Video with Sound) |
| A scene of urban fantasy art. A dynamic graffiti character. A teenager painted with spray paint comes to life from a concrete wall. He raps in English at a very fast pace, striking a classic, energetic rapper pose. The scene is set at night under an urban railway bridge. Light from a solitary streetlamp creates a cinematic atmosphere, full of high energy and stunning detail. The audio portion of the video consists entirely of rap, with no other dialogue or noise. | Input Audio: |
{WorkspaceId} with your actual Workspace ID.
- Python SDK
- Java SDK
- curl
Ensure that the DashScope SDK for Python version is at least 1.25.8. For instructions on how to update, see Installing the SDK.
Generate silent videos
Supported models: wan2.6-i2v-flash, wan2.2 series models, wan2.1 series models.
Function introduction: Use silent videos for visual-only scenarios that do not require audio, such as animated posters or short silent videos.
Parameters setting:
wan2.6-i2v-flash: Generates audio-enabled videos by default. To generate a silent video, explicitly setaudio=false. Even if you pass anaudio_url, the output remains silent whenaudio=false. You are billed for silent videos.wan2.2 and earlier models: Generate silent videos by default. No extra configuration is needed.
| Prompt | Input first-frame image | Output video (silent video) |
| A cat runs on grass | ![]() |
{WorkspaceId} with your actual Workspace ID.
- Python SDK
- Java SDK
- curl
Ensure that the DashScope SDK for Python version is at least 1.25.8. For instructions on how to update, see Installing the SDK.
How to pass images and audio
Input Image
- Number of images: One.
- Input methods: Image URL, local file path, or Base64-encoded string.
Method 1: Image URL (HTTP interface and SDK) Recommended
Method 1: Image URL (HTTP interface and SDK) Recommended
-
Public URL: Supports HTTP or HTTPS protocols.
- Example value: https://help-static-aliyun-doc.aliyuncs.com/xxx.png.
Method 2: Local file path (SDK only)
Method 2: Local file path (SDK only)
Operating system | Input file path | Example (absolute path) | Example (relative path) |
|---|---|---|---|
Linux / macOS | file://{absolute_or_relative_path_of_the_file} | file:///home/images/test.png | file://./images/test.png |
Windows | file://D:/images/test.png | file://./images/test.png |
Operating system | Input file path | Example (absolute path) |
|---|---|---|
Linux / macOS | file://{absolute_path_of_the_file} | file:///home/images/test.png |
Windows | file:///{absolute_path_of_the_file} | file:///D:/images/test.png |
Method 3: Base64-encoded string (HTTP interface and SDK)
Method 3: Base64-encoded string (HTTP interface and SDK)
-
Example value:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABDg......(The example is truncated for demonstration purposes only). -
Format requirements: Follow the
data:{MIME_type};base64,{base64_data}format, where:- {base64_data}: The Base64-encoded string of the image file.
-
{MIME_type}: The Multipurpose Internet Mail Extensions (MIME) type of the image. It must correspond to the file format.
Image format
MIME type
JPEG
image/jpeg
JPG
image/jpeg
PNG
image/png
BMP
image/bmp
WEBP
image/webp
Example code: Three input methods
Input Audio
- Number of audio files: One.
-
Input methods:
- Public URL: Supports the HTTP or HTTPS protocol.
Output video
- Number of videos: 1.
- Output video specifications: Output specifications vary by model. For more information, see Scope.
- Output video URL validity period: 24 hours.
-
Output video dimensions: Dimensions depend on the input image and the configured
resolution.- The model attempts to maintain the input image’s aspect ratio while scaling it to a total pixel count near the target value. To comply with encoding standards, the width and height must be multiples of 16. The model automatically fine-tunes the dimensions.
- For example: For an input image of 750 × 1000 pixels (aspect ratio 3:4 = 0.75) with resolution set to “720P” (target pixel count of about 920,000), the final output might be 816 × 1104 pixels (aspect ratio ≈ 0.739, total pixels ≈ 900,000). Both the width and height are multiples of 16.
Billing and throttling
- For the model’s free quota and pricing, see Model pricing.
- For model throttling, see Wan series.
-
Billing details:
- Inputs are not billed. Outputs are billed based on the duration in seconds of successfully generated videos.
- Failed model invocations or processing faults do not incur any fees and do not consume the free quota for new users.
- Image-to-video also supports savings plans.
API reference
Image-to-video (first frame) API reference
FAQ
Q: Why can’t I set the video aspect ratio directly (such as 16:9)?
A: The current API does not support setting the video aspect ratio directly. You can only configure the video resolution using the resolution parameter.
The resolution parameter controls the total number of pixels—not a fixed aspect ratio. The model preserves the original aspect ratio of the first input frame (approximately) and then fine-tunes it to meet video encoding requirements. Specifically, both the width and height must be multiples of 16.
Q: Why does the SDK code return “url error, please check url!”?
A: Make sure that:
- Your DashScope Python SDK version is at least
1.25.8. - Your DashScope Java SDK version is at least
2.22.6.


