Clarity Ai Crystal Upscaler
Playground
Try it on WavespeedAI!Clarity AI Crystal Upscaler boosts image resolution with AI upscaling and adjustable detail for portraits and landscapes. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
Clarity AI Crystal Upscaler
Clarity AI Crystal Upscaler enhances and enlarges images with a megapixel-based output target and adjustable creativity control. It is designed for photo restoration, product image enhancement, print preparation, archival cleanup, and other workflows where you want a sharper, larger final image with predictable output sizing.
Why Choose This?
-
Megapixel-based output control
Choose the target output size directly in megapixels for more predictable delivery planning. -
Clean high-resolution enhancement
Improve sharpness, detail, and overall clarity for photos, scans, product visuals, and creative assets. -
Creativity adjustment
Usecreativityto balance strict source preservation against more generated detail. -
Simple workflow
Upload one image, choose the target megapixels, optionally adjust creativity, and generate the result. -
Production-ready API
Suitable for restoration, publishing, e-commerce, design, and large-format image workflows.
Parameters
| Parameter | Required | Description |
|---|---|---|
| image | Yes | Input image to upscale. |
| target_megapixels | No | Requested output size in megapixels. Range: 1–1500 MP. Default: 4. |
| creativity | No | Negative values stay stricter to the source; positive values add more generated detail. Range: 0 to 10. Default: 0. |
How to Use
- Upload your image — provide the source image you want to enhance.
- Choose target megapixels — select the output size that best matches your delivery needs.
- Adjust creativity (optional) — keep it lower for more faithful restoration, or raise it for stronger generated detail.
- Submit — run the model and download the upscaled image.
Example Use Case
Upscale a product photo for print and marketing use while preserving clean edges, surface texture, and overall realism.
Pricing
Pricing is based on the selected target_megapixels tier.
| Target Megapixels | Cost |
|---|---|
<= 4 MP | $0.05 |
> 4 MP and <= 16 MP | $0.20 |
> 16 MP and <= 36 MP | $0.80 |
> 36 MP and <= 100 MP | $1.60 |
> 100 MP and <= 400 MP | $6.40 |
> 400 MP | $24.00 |
Billing Rules
- Pricing depends on the selected
target_megapixels - Cost uses fixed megapixel tiers rather than scaling linearly
- Crossing into a higher megapixel tier moves the request to the next price bracket
creativitydoes not affect pricing
Best Use Cases
- Photo upscaling — Improve clarity and output size for photography and scanned images.
- Product image enhancement — Prepare sharper visuals for listings, ads, and catalogs.
- Print preparation — Generate larger files for posters, signage, and premium print work.
- Archival restoration — Improve older or lower-resolution source images for reuse.
- Creative asset production — Produce larger, cleaner visuals for design and publishing workflows.
Pro Tips
- Start with a lower megapixel target first, then increase only if you need a larger final output.
- Keep
creativitynear0when you want a more natural, source-faithful result. - Lower
creativitywhen preserving structure, faces, logos, or product accuracy matters most. - Raise
creativitygradually when you want stronger generated texture or enhancement. - Use the cleanest source image available for better detail recovery.
Notes
imageis required.target_megapixelssupports values from1to1500.creativityranges from0to10.- Pricing depends only on the selected megapixel tier.
- Higher megapixel targets may be more suitable for print, presentation, or premium delivery workflows.
Related Models
- Clarity AI Pro Upscaler — A simpler upscaling workflow for clean high-resolution enhancement.
- Clarity AI Flux Upscaler — Upscale images with prompt guidance and optional LoRA style control.
- Clarity AI Creative Upscaler — Add more style-aware and generative control for portraits, illustrations, and creative workflows.
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": 4,
"creativity": 0
}'
# 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 | - | Input image to upscale. | |
| target_megapixels | number | No | 4 | 1 ~ 1500 | Requested output size in megapixels. Range: 1-1500 MP. |
| creativity | number | No | - | 0.0 ~ 10.0 | Controls generated detail strength. Crystal supports values from 0 to 10; higher values add more generated detail. |
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 |