Topaz Image Sharpen
Playground
Try it on WavespeedAI!Topaz Image Sharpen brings clarity and crisp definition to soft or out-of-focus images. Perfect for fixing lens blur, motion blur, and general softness. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
Topaz Image Sharpen
Topaz Image Sharpen is a professional-grade image sharpening model powered by Topaz Labs’ industry-leading AI technology. Upload your image and select from multiple specialized sharpening models — each optimized for different scenarios like portraits, wildlife, motion blur recovery, and more.
Why Choose This?
-
Multiple sharpening models 9 specialized models optimized for different use cases — from general sharpening to specific scenarios like portraits, wildlife, and motion blur.
-
Professional quality Powered by Topaz Labs’ AI, trusted by professional photographers and content creators worldwide.
-
Blur recovery Specialized models for lens blur and motion blur can recover detail from out-of-focus or motion-blurred images.
-
Multiple output formats Export as JPEG, PNG, or TIFF based on your workflow needs.
Parameters
| Parameter | Required | Description |
|---|---|---|
| image | Yes | Source image to sharpen (upload or URL) |
| model | No | Sharpening model to use (default: Standard) |
| output_format | No | Output format: jpeg, jpg, png, tiff, or tif |
Model Options
| Model | Best For |
|---|---|
| Standard | General-purpose sharpening (default) |
| Strong | More aggressive sharpening for soft images |
| Lens Blur | Recovering detail from out-of-focus images |
| Lens Blur V2 | Improved lens blur recovery with better edge handling |
| Motion Blur | Recovering detail from motion-blurred images |
| Natural | Subtle, natural-looking sharpening |
| Refocus | Bringing soft areas back into focus |
| Wildlife | Optimized for animal fur, feathers, and textures |
| Portrait | Optimized for skin, hair, and facial features |
Output Format Options
- jpeg / jpg — Compressed format, smaller file size
- png — Lossless format, supports transparency
- tiff / tif — Professional format, highest quality preservation
How to Use
- Upload your image — drag and drop or paste a URL.
- Select model — choose the sharpening model that matches your image type.
- Choose output format — select based on your quality and file size needs.
- Run — submit and download the sharpened image.
Pricing
| Item | Cost |
|---|---|
| Per image | $0.07 |
Simple flat-rate pricing regardless of image size or model selected.
Best Use Cases
- Photo Enhancement — Sharpen photos for print or digital display.
- Blur Recovery — Recover detail from slightly out-of-focus shots.
- Wildlife Photography — Enhance fur, feathers, and fine textures.
- Portrait Retouching — Sharpen facial features while maintaining natural skin.
- Motion Blur Correction — Improve images affected by camera shake or subject movement.
Pro Tips
- Start with Standard model for general use, switch to specialized models for specific content.
- Use Portrait mode for headshots to avoid over-sharpening skin texture.
- Use Wildlife mode for animals to enhance fur and feather details.
- Lens Blur V2 often produces better results than the original Lens Blur.
- Use PNG or TIFF for maximum quality preservation in professional workflows.
Notes
- Different models are optimized for different content types — experiment to find the best match.
- For best results, use high-resolution source images.
- Over-sharpening can introduce artifacts — start with Standard or Natural for subtle enhancement.
Related Models
- Topaz Image Enhance — AI-powered image upscaling.
- Topaz Image Denoise — AI-powered noise reduction.
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/topaz/image/sharpen" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"model": "Standard",
"output_format": "jpeg",
"enable_base64_output": false
}'
# 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 | No | - | The image file to be processed. Supported formats (png jpg jpeg tiff tif) | |
| model | string | No | Standard | Standard, Strong, Lens Blur, Lens Blur V2, Motion Blur, Natural, Refocus, Wildlife, Portrait | The sharpen model to use. Standard: Balanced sharpening. Strong: Aggressive sharpening. Lens Blur: Fix lens blur. Lens Blur V2: Enhanced lens blur correction. Motion Blur: Reduce motion blur. Natural: Natural-looking sharpness. Refocus: Bring back focus. Wildlife: Optimized for wildlife. Portrait: Optimized for portraits. |
| output_format | string | No | jpeg | jpeg, jpg, png, tiff, tif | The format of the output image. |
| enable_base64_output | boolean | No | false | - | If enabled, the output will be encoded into a BASE64 string instead of a URL. This property is only available through the API. |
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 |
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 |