Wan I2V 720p
Wan2.1 I2V-14B model is capable of generating 720P high-definition videos from images
Features
Wan2.1-i2v-720p is an open-source AI video generation model developed by Alibaba Cloud, designed for image-to-video tasks. The 14-billion-parameter professional version excels in generating complex motions and simulating physical dynamics, delivering exceptional performance. Built upon a causal 3D Variational Autoencoder (VAE) and Video Diffusion Transformer architecture, Wan2.1-i2v-720p efficiently models spatiotemporal dependencies. In the authoritative VBench evaluation, the 14B version achieved a leading score of 86.22%, surpassing models like Sora, Luma, and Pika, and securing the top position. The model is available on Wavespeed AI, providing convenient access for developers.
Key Features
- High-Resolution Video Output: Specifically engineered to transform images into sharp 720p videos, delivering superior visual quality and enhanced motion diversity.
- State-of-the-Art Performance: Consistently outperforms existing open-source and commercial solutions across multiple benchmarks, setting a new standard in video generation.
- Consumer-Grade GPU Compatibility: Optimized for efficiency, the model runs effectively on widely available hardware, ensuring broad accessibility for creative developers.
- Accelerated Inference: Our innovative acceleration technology drastically reduces latency and computational overhead, enabling very fast video generation without compromising quality.
ComfyUI
wan-2.1/i2v-720p is also available on ComfyUI, providing local inference capabilities through a node-based workflow, ensuring flexible and efficient image generation on your system.
Limitations
- Creative Focus: wan-2.1/i2v-720p is designed for creative video synthesis from images and is not intended to generate factually reliable content.
- Inherent Biases: As with any data-driven model, it may reflect biases present in the training dataset.
- Input Sensitivity: The quality and consistency of the generated videos depend significantly on the quality of the input image; subtle variations in the source material may result in output variability.
- Task Scope: This model is exclusively built for image-to-video conversion at high resolution and does not support additional video generation tasks such as text-to-video or video editing.
Out-of-Scope Use
The model and its derivatives may not be used in any way that violates applicable national, federal, state, local, or international law or regulation, including but not limited to:
- Exploiting, harming, or attempting to exploit or harm minors, including solicitation, creation, acquisition, or dissemination of child exploitative content.
- Generating or disseminating verifiably false information with the intent to harm others.
- Creating or distributing personal identifiable information that could be used to harm an individual.
- Harassing, abusing, threatening, stalking, or bullying individuals or groups.
- Producing non-consensual nudity or illegal pornographic content.
- Making fully automated decisions that adversely affect an individual’s legal rights or create binding obligations.
- Facilitating large-scale disinformation campaigns.
Accelerated Inference
Our accelerated inference approach leverages advanced optimization technology from WavespeedAI. This innovative fusion technique significantly reduces computational overhead and latency, enabling rapid image generation without compromising quality. The entire system is designed to efficiently handle large-scale inference tasks while ensuring that real-time applications achieve an optimal balance between speed and accuracy. For further details, please refer to the blog post.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/wan-2.1/i2v-720p" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"image": "https://d2g64w682n9w0w.cloudfront.net/media/images/1745147168756911752_14ZWSNLG.jpg",
"prompt": "The family of three just took a selfie. They lean in together, smiling and relaxed. The daughter holds the phone and shows the screen. All three look at it with interest. They laugh softly, pointing at the photo. Their faces are close, full of warmth. The background is still the same scenic place. Candid, joyful, cinematic style",
"negative_prompt": "",
"size": "1280*720",
"num_inference_steps": 30,
"duration": 5,
"guidance_scale": 5,
"flow_shift": 5,
"seed": -1,
"enable_safety_checker": true
}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
Parameter | Type | Required | Default | Range | Description |
---|---|---|---|---|---|
image | string | Yes | https://d2g64w682n9w0w.cloudfront.net/media/images/1745147168756911752_14ZWSNLG.jpg | - | The image for generating the output. |
prompt | string | Yes | The family of three just took a selfie. They lean in together, smiling and relaxed. The daughter holds the phone and shows the screen. All three look at it with interest. They laugh softly, pointing at the photo. Their faces are close, full of warmth. The background is still the same scenic place. Candid, joyful, cinematic style | - | The prompt for generating the output. |
negative_prompt | string | No | - | - | The negative prompt for generating the output. |
size | string | No | 1280*720 | 1280*720, 720*1280 | The size of the output. |
num_inference_steps | integer | No | 30 | 1 ~ 40 | The number of inference steps. |
duration | integer | No | 5 | 5 ~ 10 | Generate video duration length seconds. |
guidance_scale | number | No | 5 | 1.01 ~ 10.00 | The guidance scale for generation. |
flow_shift | number | No | 5 | 1.0 ~ 10.0 | The shift value for the timestep schedule for flow matching. |
seed | integer | No | -1 | -1 ~ 9999999999 | The seed for random number generation. |
enable_safety_checker | boolean | No | true | - | Whether to enable the safety checker. |
Response Parameters
Parameter | Type | Description |
---|---|---|
code | integer | HTTP status code (e.g., 200 for success) |
message | string | Status message (e.g., “success”) |
data.id | string | Unique identifier for the prediction, Task Id |
data.model | string | Model ID used for the prediction |
data.outputs | array | Array of URLs to the generated content (empty when status is not completed ) |
data.urls | object | Object containing related API endpoints |
data.urls.get | string | URL to retrieve the prediction result |
data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
data.status | string | Status of the task: created , processing , completed , or failed |
data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
data.error | string | Error message (empty if no error occurred) |
data.timings | object | Object containing timing details |
data.timings.inference | integer | Inference time in milliseconds |
Result Query Parameters
Result Request Parameters
Parameter | Type | Required | Default | Description |
---|---|---|---|---|
id | string | Yes | - | Task ID |
Result Response Parameters
Parameter | Type | Description |
---|---|---|
code | integer | HTTP status code (e.g., 200 for success) |
message | string | Status message (e.g., “success”) |
data | object | The prediction data object containing all details |
data.id | string | Unique identifier for the prediction |
data.model | string | Model ID used for the prediction |
data.outputs | array | Array of URLs to the generated content (empty when status is not completed ) |
data.urls | object | Object containing related API endpoints |
data.urls.get | string | URL to retrieve the prediction result |
data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
data.status | string | Status of the task: created , processing , completed , or failed |
data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
data.error | string | Error message (empty if no error occurred) |
data.timings | object | Object containing timing details |
data.timings.inference | integer | Inference time in milliseconds |