Clarity Ai Crystal Video Upscaler
Playground
Try it on WavespeedAI!Clarity AI Crystal Video Upscaler is a fast AI video super-resolution model that increases video resolution with target megapixel control and Clarity AI crystal-video processing. Ready-to-use REST inference API for enhancing low-resolution videos, restoring details, improving visual clarity, upscaling creative clips, product videos, social media content, and professional video enhancement workflows with simple integration, no coldstarts, and affordable pricing.
Features
Clarity AI Crystal Video Upscaler
Clarity AI Crystal Video Upscaler enhances and enlarges video content with a simple megapixel-based target control. Upload a source video, choose the desired target megapixels, and generate a cleaner, sharper upscaled result for higher-quality delivery, presentation, or archival workflows.
Why Choose This?
-
Video upscaling workflow Improve the visual quality of existing video content with a simple upload-and-upscale process.
-
Megapixel-based output control Use
target_megapixelsto choose the intended output size more directly. -
Simple pricing logic Cost scales with both target megapixels and video duration, with a minimum charge for very small jobs.
-
Suitable for restoration and delivery Useful for sharpening low-resolution clips for presentations, publishing, or asset reuse.
-
Production-ready API Suitable for enhancement pipelines, archival cleanup, and commercial video preparation workflows.
Parameters
| Parameter | Required | Description |
|---|---|---|
| video | Yes | Input video to upscale. |
| target_megapixels | No | Target output size in megapixels. Higher values produce larger and more detailed upscaled frames. |
How to Use
- Upload your video — provide the source video you want to enhance.
- Choose target megapixels — set the desired output size based on your delivery needs.
- Submit — run the model and download the upscaled video.
Example Use Case
Upscale a low-resolution talk-show or interview clip to a cleaner, sharper version for reuse in presentations, publishing, or social distribution.
Pricing
Pricing is based on video duration and target_megapixels.
Billing Rules
- Base price is $0.10
- Standard rate is $0.10 × target_megapixels × video duration (seconds)
- The final charge is the greater of:
- $0.10 minimum
- $0.10 × target_megapixels × duration
Example Costs
| Target Megapixels | 1s | 5s | 10s |
|---|---|---|---|
| 1 MP | $0.10 | $0.50 | $1.00 |
| 2 MP | $0.20 | $1.00 | $2.00 |
| 4 MP | $0.40 | $2.00 | $4.00 |
| 8 MP | $0.80 | $4.00 | $8.00 |
Best Use Cases
- Low-resolution video enhancement — Improve the clarity of older or compressed video clips.
- Presentation and publishing prep — Generate cleaner upscaled outputs for decks, demos, and public distribution.
- Archival restoration workflows — Prepare sharper versions of legacy footage for reuse.
- Commercial asset improvement — Upgrade visual quality for marketing, social, and branded content.
- General video cleanup — Increase perceived quality for clips that need a higher-resolution presentation.
Pro Tips
- Start with a lower
target_megapixelsvalue first to validate cost and output quality. - Use clean source video whenever possible for better enhancement results.
- Higher megapixel targets can increase cost quickly on longer clips.
- Short clips are a good way to test the workflow before processing longer footage.
Notes
videois required.- Pricing depends on both
target_megapixelsand source video duration. - A minimum charge of $0.10 applies.
- Longer videos and larger target sizes increase cost proportionally.
Related Models
- Other Clarity AI upscaling and enhancement models may be useful when you need image-first workflows or different restoration trade-offs.
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/clarity-ai/crystal-video-upscaler" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"target_megapixels": 2
}'
# 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 |
|---|---|---|---|---|---|
| video | string | Yes | - | Input video to upscale. | |
| target_megapixels | number | No | 2 | 1 ~ 200 | Requested output size in megapixels. Range: 1-200 MP. |
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.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 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, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | string | 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.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 |