PixVerse - Video Upscale API Reference

更新时间:
复制 MD 格式

The PixVerse - Video Upscale model enhances input video resolution using super-resolution processing, producing a fixed 4K (3840×2160) output video.

Important

This document applies only to the China (Beijing) region. Use an API key from this region.

Activate the service

  1. Go to the Alibaba Cloud Model Studio console, search for PixVerse, find the PixVerse model card, and click Activate Now.

  2. In the pop-up window, confirm the activation and authorization.

Applicable scope

To ensure a successful API call, make sure that the model, Endpoint URL, and API Key all belong to the same region. Cross-region calls will fail.

Note

The video upscale examples in this topic apply to the China (Beijing) region.

HTTP call

Since video upscale tasks take a relatively long time (typically 1-5 minutes), the API uses asynchronous calls. The entire process consists of two core steps: "Create task -> Poll for result", as follows:

Step 1: Create a task to obtain the task ID

Beijing region: POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis

Replace {WorkspaceId} with your actual workspace ID.

Note
  • After the task is created, use the returned task_id to query the result. The task_id is 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

Video Upscale

Submit a video file to produce a super-resolution enhanced video.

# 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-upscale",
    "input": {
        "media": [
            {
                "type": "video_url",
                "url": "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20250919/wqefue/mix_input_video.mp4"
            }
        ]
    },
    "parameters": {
        "seed": 12345,
        "watermark": true
    }
}'
Request headers

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.

Important

If 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. Fixed value: pixverse/pixverse-upscale.

input object (Required)

The basic input information, including the video to be upscaled.

Properties

media array (Required)

The media resource list. Must contain 1 video element.

Element properties

type string (Required)

The media type. Fixed value:

  • video_url: Video URL.

url string (Required)

The URL of the input video. Must be a publicly accessible URL.

  • Supports HTTP or HTTPS protocols.

  • Example: https://xxx/xxx.mp4.

Video limits:

  • Formats: MP4, MOV, WebM.

  • Resolution: 4K and above are not supported.

  • File size: Maximum 100 MB.

  • Duration: Up to 30 seconds.

parameters object (Optional)

Video generation parameters, such as watermark and random seed settings.

Properties

watermark boolean (Optional)

Whether to add a watermark. The watermark is located at the bottom-right corner of the video with the fixed text "AI-generated".

  • false: Default. No watermark is added.

  • true: Add watermark.

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.

Step 2: Query result by task ID

Beijing region: GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id}

Note
  • Polling recommendation: Video generation typically takes several minutes. Use a polling mechanism with a reasonable query interval (e.g., 15 seconds) to retrieve results.

  • Task status flow: PENDING (queued) → RUNNING (processing) → SUCCEEDED (success) / FAILED (failure).

  • task_id validity: 24 hours. After expiration, results cannot be queried, and the API will return task status as UNKNOWN.

  • RPS limit: The query API has a default RPS of 20. For higher-frequency queries or event notifications, consider Configure asynchronous task callbacks.

  • More operations: For batch queries, task cancellation, and other operations, see Manage asynchronous tasks.

Request parameters

Query task result

Replace {task_id} with the task_id value returned by the previous API call. The task_id is valid for queries for 24 hours, Replace {WorkspaceId} with your actual workspace ID.

curl -X GET https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/tasks/{task_id} \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

Request headers

Authorization string (Required)

Authenticates the request with a Model Studio API key. Example: Bearer sk-xxxx.

URL path parameters

task_id string (Required)

The ID of the task.

Response parameters

Task succeeded

{
    "request_id": "19171ea5-9efb-4d35-93a1-xxxxxx",
    "output": {
        "task_id": "7ed706b7-a9a9-4319-820c-xxxxxx",
        "task_status": "SUCCEEDED",
        "submit_time": "2026-07-14 10:34:41.630",
        "scheduled_time": "2026-07-14 10:34:41.655",
        "end_time": "2026-07-14 10:35:12.725",
        "video_url": "https://media.pixverseai.cn/xxxx.mp4"
    },
    "usage": {
        "duration": 6,
        "size": "3840*2156",
        "fps": 24,
        "video_count": 1,
        "SR": "4K"
    }
}

Task failed

When a task fails, task_status is FAILED with an error code and message. See Error codes.

{
    "request_id": "e5d70b02-ebd3-98ce-9fe8-759d7d7b107d",
    "output": {
        "task_id": "86ecf553-d340-4e21-af6e-a0c6a421c010",
        "task_status": "FAILED",
        "code": "InvalidParameter",
        "message": "Invalid field type or value. Please verify your input data."
    }
}

Task query expired

The task_id is valid for 24 hours. After this period, queries return the following error.

{
    "request_id": "a4de7c32-7057-9f82-8581-xxxxxx",
    "output": {
        "task_id": "502a00b1-19d9-4839-a82f-xxxxxx",
        "task_status": "UNKNOWN"
    }
}

output object

The task output information.

Properties

task_id string

The task ID. Valid for queries for 24 hours.

task_status string

The status of the task.

Enumeration values

  • PENDING

  • RUNNING

  • SUCCEEDED

  • FAILED

  • CANCELED

  • UNKNOWN: The task does not exist or its status is unknown.

State transitions during polling:

  • PENDING → RUNNING → SUCCEEDED or FAILED.

  • The initial query status is usually PENDING or RUNNING.

  • When the status changes to SUCCEEDED, the response contains the generated video URL.

  • If the status is FAILED, check the error message and retry the task.

submit_time string

The time when the task was submitted. format is YYYY-MM-DD HH:mm:ss.SSS.

scheduled_time string

The time when the task was executed. format is YYYY-MM-DD HH:mm:ss.SSS.

end_time string

The time when the task was completed. format is YYYY-MM-DD HH:mm:ss.SSS.

video_url string

The video URL. Only returned when task_status is SUCCEEDED.

The video format is MP4 (H.264 encoding). The video link currently has no expiration time, but it is not recommended for long-term storage. Please download promptly.

orig_prompt string

The original input prompt, corresponding to the request parameter prompt.

code string

Error code. Returned only for failed requests. See Error codes.

message string

Detailed error message. Returned only for failed requests. See Error codes.

usage object

Output statistics. Only counts successful results.

Properties

duration integer

Billing duration in seconds. Rounded up from the uploaded video duration.

size string

The resolution of the output video.

fps integer

The frame rate of the output video.

SR string

The resolution tier of the output video.

video_count integer

The number of videos. Fixed value: 1.

Error codes

If the model call fails and returns an error message, see Error codes for resolution.