Clarity Ai Crystal Upscaler
Playground
Try it on WavespeedAI!Clarity AI is a high-resolution upscaler that enhances images and adds detail. You can decide how much detail you want the AI to add. Use the latest AI technology to upscale your images, suitable for landscapes, portraits, illustrations, interior design, and many more.
Features
Crystal Upscaler — Clarity-AI (Image Super-Resolution)
Crystal Upscaler turns low-res photos into ultra-sharp, high-resolution images while preserving textures, edges, skin tones, text, and fine details. Scale for print, e-commerce, design comps, or archival work with controllable output size in megapixels.
Why creators use it
- High-fidelity upscaling with strong detail recovery and anti-haloing
- Robust on portraits, products, landscapes, and UI/text overlays
- Predictable file sizing via a single control: target_megapixels
Inputs
- image: your source photo.
- target_megapixels: target output size in megapixels (MP). Example: 12 MP ≈ 4000×3000; 50 MP ≈ 8680×5779 (approx; exact dims depend on aspect ratio).
How to use
- Upload an image.
- Choose a target_megapixels that matches your delivery needs (web, print, poster, etc.).
- Run and download the upscaled result.
Quick sizing guide
- Web/marketing: 6–12 MP
- Magazine/full-page print: 16–25 MP
- Large posters/retail signage: 25–50 MP
- Hero billboards/creative retouch: 50–100 MP
Pricing
Pricing is tiered purely by the target_megapixels you select.
- ≤ 4 MP — $0.05
- > 4 to ≤ 8 MP — $0.10
- > 8 to ≤ 16 MP — $0.20
- > 16 to ≤ 25 MP — $0.40
- > 25 to ≤ 50 MP — $0.80
- > 50 to ≤ 100 MP — $1.60
Tips for best results
- Start lower (e.g., 4), check sharpness, then push higher if needed.
- Feed the cleanest source you have (avoid heavy JPEG artifacts if possible).
- Keep aspect ratio as captured; Crystal Upscaler scales without cropping.
- For text/UI images, choose a slightly higher MP tier to reduce stair-stepping.
Notes
- Very noisy or heavily compressed sources may need light denoising before upscale.
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-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 |
|---|---|---|---|---|---|
| image | string | Yes | - | URL to the input image,mast be url encoded | |
| target_megapixels | number | No | 2 | 1 ~ 100 | Value between 1 and 100 |
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 |