WaveSpeedAI APIWavespeed AIVideo Upscaler Pro

Video Upscaler Pro

Video Upscaler Pro

Playground

Try it on WavespeedAI!

The AI Video Upscaler Pro is our flagship model that redefines video enhancement. This cutting-edge AI technology transforms low-resolution, low-quality videos into stunning 4K cinematic masterpieces with seamless motion dynamic and perfect frame consistency. Get ready for unparalleled video quality that outperforms all other AI upscalers.

Features

AI Video Upscaler

Upscale videos to 720p, 1080p, 2K, or 4K with a simple upload. This is the most advanced video upscaler in the world, delivering the highest output quality and exceptional frame-to-frame consistency. If you want a cheaper option, try our Standard Video Upscaler instead. No local setup required.

Why it looks great

  • Temporal consistency: minimizes flicker and ghosting across frames for stable motion.
  • Detail reconstruction: restores fine textures (hair, fabric, foliage) and sharp edges without over-sharpening.
  • Artifact cleanup: reduces compression blocks, ringing, and shimmering in challenging shots.
  • Motion-aware upscaling: preserves fast action and camera pans with fewer motion artifacts.
  • Natural look: balances perceptual quality with crispness to avoid plastic or overprocessed outputs.

Limits and Performance

  • Max clip length per job: up to 10 minutes
  • Processing speed: approximately 10–30 seconds of wall time to process 1 second of video (varies by resolution and queue load)

Pricing

Per-second billing with a 5-second minimum. The table below lists prices per 5 seconds for easy comparison.

Output ResolutionCost per 5 seconds
720p$0.10
1080p$0.15
2K$0.20
4K$0.25

Billing Rules

  • Minimum charge: 5 seconds
  • Per-second rate = (price per 5 seconds) ÷ 5
  • Billed duration = video length in seconds (rounded up), with a 5-second minimum
  • Total cost = billed duration × per-second rate (by output resolution)

Examples

  • 3.2s @ 1080p → billed as 5s minimum → 5 × $0.03 = $0.15
  • 12s @ 1080p → 12 × $0.03 = $0.36
  • 23s @ 2K → per-second $0.04 → 23 × $0.04 = $0.92
  • 2m01s (121s) @ 4K → per-second $0.05 → 121 × $0.05 = $6.05

How to Use

  1. Choose the target resolution and parameters.
  2. Upload your video (≤ 10 minutes).
  3. Submit the job and wait for processing.
  4. Preview and download the result.

Pro tips for best quality

  • Upload the highest-quality source you have; avoid heavily compressed inputs when possible.
  • Keep original frame rate; avoid unnecessary re-encoding before upload.
  • Pick the lowest resolution that meets your delivery needs (1080p = speed/cost, 2K/4K = maximum detail).
  • For long videos, process in segments to parallelize and then merge.

Notes

  • Actual processing time may vary based on resolution, model choice, and current queue.
  • For videos longer than 10 minutes, split into multiple segments, process separately, and merge afterward.

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/video-upscaler-pro" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "video": "",
    "target_resolution": "1080p"
}'

# 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

ParameterTypeRequiredDefaultRangeDescription
videostringYes-The video to upscale.
target_resolutionstringNo1080p720p, 1080p, 2k, 4kTarget resolution to upscale to.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Query Parameters

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction, the ID of the prediction to get
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2025 WaveSpeedAI. All rights reserved.