Request parameters Content-Type string (Required) The content type of the request. Must be application/json. Authorization string (Required) Authenticates the request with a Model Studio API key. Example: Bearer sk-xxxx. X-DashScope-Async string (Required) Enables asynchronous processing. HTTP requests support only asynchronous calls. Must be enable. ImportantIf this request header is missing, the error "current user api does not support synchronous calls" is returned. Request body model string (Required) The model name. Valid values:
- pixverse/pixverse-c1-it2v
- pixverse/pixverse-v6-it2v
- pixverse/pixverse-v5.6-it2v
Model selection
- For dynamic scenarios such as fights, magic effects, and high-speed motion, use c1.
- For general scenarios, use v6. Upgrade directly from v5.6 to v6.
input object (Required) Basic input information, including prompts and media materials. Properties prompt string (Optional) The text prompt describes the elements and visual features you want in the generated video. Chinese and English are supported. Each Chinese character or letter counts as one character. Character encoding is UTF-8. Text exceeding the limit is automatically truncated.
- pixverse/pixverse-c1-it2v: Up to 5,000 characters.
- pixverse/pixverse-v6-it2v: Up to 5,000 characters.
- pixverse/pixverse-v5.6-it2v: Up to 2,048 characters.
media array (Required) A list of media materials specifying the images required for video generation. Each array element is a media object containing the type and url fields. Properties type string (Required) The type of media material. Valid value:
image_url: The URL of an image.
Material limits: Provide exactly one image.
If you provide multiple images, the system uses the last one. To ensure expected results, always provide only one image.
url string (Required) The URL of the image file. The URL must be publicly accessible over the internet. Image limits:
- Format: JPG, PNG, or WEBP.
- Resolution: Width and height cannot exceed 10,000 pixels.
- File size: Up to 20 MB.
parameters object (Optional) Video processing parameters, such as resolution, duration, audio generation, and watermarking. Properties resolution string (Required) ImportantResolution affects cost. Before calling the API, review the model pricing. Specifies the resolution level of the generated video. Valid values: 360P, 540P, 720P, and 1080P. duration integer (Required) ImportantDuration affects cost. Billing is per second. Before calling the API, review the model pricing. The duration of the generated video, in seconds.
-
pixverse/pixverse-c1-it2v: An integer from 1 to 15.
-
pixverse/pixverse-v6-it2v: An integer from 1 to 15.
-
pixverse/pixverse-v5.6-it2v:
- When resolution is set to any resolution corresponding to 360P, 540P, or 720P: Valid values are 5, 8, and 10.
- When resolution is set to any resolution corresponding to 1080P: Valid values are 5 and 8.
audio boolean (Optional) ImportantAudio setting affects cost. Before calling the API, review the model pricing. Specifies whether to generate a video with audio. If enabled, the model automatically generates matching background music or sound effects based on the video content.
false: Default. Outputs a silent video.
true: Outputs a video with audio.
watermark boolean (Optional) Specifies whether to add a watermark. The watermark appears in the lower-right corner of the video and displays the fixed text "Generated by AI".
false: Default. Does not add a watermark.
true: Adds a watermark.
shot_type string (Optional) Supported model: pixverse/pixverse-v6-it2v. Specifies the shot type of the generated video—single continuous shot or multiple shots.
single: Default. Generates a single-shot video.
multi: Multi-shot. The system performs intelligent shot segmentation.
Suggestion: The prompt parameter takes precedence over shot_type. For best results, ensure consistency between this parameter and the prompt description.
- To consistently output a single-shot video: Set
shot_type="single" and describe a single-shot scenario in the prompt.
- To consistently output a multi-shot video: Set
shot_type="multi" and describe a multi-shot scenario in the prompt.
seed integer (Optional) The random number seed must be an integer in the range [0, 2147483647]. If not specified, a random seed is generated. A fixed seed improves reproducibility. Because model generation is probabilistic, the same seed does not guarantee identical results. | Image-to-videoSupported models: pixverse/pixverse-c1-it2v, pixverse/pixverse-v6-it2v, and pixverse/pixverse-v5.6-it2v. # Replace {WorkspaceId} with your actual workspace ID.
curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
-H 'X-DashScope-Async: enable' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "pixverse/pixverse-c1-it2v",
"input": {
"media": [
{
"type": "image_url",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260121/zlpocv/wan-i2v-haigui.webp"
}
],
"prompt": "The camera slowly moves up from below the sea turtle. The sea turtle swims leisurely, and the details of its belly are clearly visible."
},
"parameters": {
"resolution": "720P",
"duration": 5,
"audio": false,
"watermark": true
}
}'
Python SDKfrom http import HTTPStatus
from dashscope import VideoSynthesis
import dashscope
import os
# If you have not configured environment variables, replace the following line with your API Key: api_key="sk-xxx"
# Get API Key: https://help.aliyun.com/en/model-studio/get-api-key
api_key = os.getenv("DASHSCOPE_API_KEY")
media = [{'type': 'image_url', 'url': 'https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260121/zlpocv/wan-i2v-haigui.webp'}]
def sample_async_call():
# Submit video generation task asynchronously
rsp = VideoSynthesis.async_call(api_key=api_key,
model='pixverse/pixverse-c1-it2v',
media=media,
prompt='The camera slowly moves up from below the sea turtle. The sea turtle swims leisurely, and the details of its belly are clearly visible.',
resolution='720P',
duration=5,
audio=False,
watermark=True)
print(rsp)
if rsp.status_code == HTTPStatus.OK:
print("task_id: %s" % rsp.output.task_id)
else:
print('Failed, status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))
# Query task status
status = VideoSynthesis.fetch(task=rsp, api_key=api_key)
if status.status_code == HTTPStatus.OK:
print(status.output.task_status)
else:
print('Failed, status_code: %s, code: %s, message: %s' %
(status.status_code, status.code, status.message))
# Wait for task to complete
rsp = VideoSynthesis.wait(task=rsp, api_key=api_key)
print(rsp)
if rsp.status_code == HTTPStatus.OK:
print(rsp.output.video_url)
else:
print('Failed, status_code: %s, code: %s, message: %s' %
(rsp.status_code, rsp.code, rsp.message))
if __name__ == '__main__':
sample_async_call()
Image-to-video (multi-shot)pixverse-c1Supported model: pixverse/pixverse-c1-it2v. Describe the multi-shot scenario in the prompt. Setting the shot_type parameter is not supported. # Replace {WorkspaceId} with your actual workspace ID.
curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
-H 'X-DashScope-Async: enable' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "pixverse/pixverse-c1-it2v",
"input": {
"media": [
{
"type": "image_url",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260121/zlpocv/wan-i2v-haigui.webp"
}
],
"prompt": "Shot 1: The camera slowly moves up from below the sea turtle. The sea turtle swims leisurely, and the details of its belly are clearly visible. Shot 2: A long shot of the sea turtle surrounded by seaweed, which is also swaying from side to side."
},
"parameters": {
"resolution": "720P",
"duration": 8,
"audio": false,
"watermark": true
}
}'
pixverse-v6Supported model: pixverse/pixverse-v6-it2v. Describe the multi-shot scenario in the prompt and set shot_type to multi to generate a multi-shot video with audio. # Replace {WorkspaceId} with your actual workspace ID.
curl --location 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis' \
-H 'X-DashScope-Async: enable' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "pixverse/pixverse-v6-it2v",
"input": {
"media": [
{
"type": "image_url",
"url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20260121/zlpocv/wan-i2v-haigui.webp"
}
],
"prompt": "Shot 1: The camera slowly moves up from below the sea turtle. The sea turtle swims leisurely, and the details of its belly are clearly visible. Shot 2: A long shot of the sea turtle surrounded by seaweed, which is also swaying from side to side."
},
"parameters": {
"resolution": "720P",
"duration": 8,
"shot_type": "multi",
"audio": false,
"watermark": true
}
}'
|