Image Eraser
Playground
Try it on WavespeedAI!The Ultimate AI Image Eraser removes unwanted objects, people, or text from photos with stunning realism. Powered by WaveSpeedAI’s advanced reconstruction model, it intelligently fills missing areas with natural background detail and lighting consistency.
Features
WaveSpeedAI — Ultimate AI Image Eraser
The AI Image Eraser is a professional-grade inpainting model that removes unwanted objects, text, or people from your photos — while perfectly reconstructing the background with natural detail and texture. Built on WaveSpeedAI’s next-generation visual restoration engine, it ensures seamless results indistinguishable from the original image.
⚙️ Key Features
-
Precision Object Removal
Erase unwanted subjects, logos, or blemishes with pixel-perfect accuracy. -
Context-Aware Reconstruction
Rebuilds erased regions using AI-driven scene understanding to restore lighting, shadows, and depth. -
Multi-Region Editing
Remove several areas at once — ideal for complex photo cleanups. -
High-Resolution Support
Works with HD, 2K, and 4K images without visible loss in quality. -
Fast & Reliable
Optimized for WaveSpeedAI’s accelerated inference clusters for near-instant output.
💡 Recommended Use Cases
- Removing people or objects from travel and portrait photos
- Cleaning up AI-generated images or artwork
- Erasing unwanted text, timestamps, or blemishes
- Preparing product or marketing visuals for reuse
💰 Pricing
Each run costs $0.025 — pay only for what you erase.
📝 Notes
- Works best when the selected area has enough surrounding context.
- For large-scale reconstructions or artistic expansions, try the AI Image Zoom-Out model.
- Outputs are available in JPEG, PNG, or WEBP format.
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/image-eraser" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"output_format": "jpeg",
"enable_base64_output": false,
"enable_sync_mode": 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 | Yes | - | The image to generate an image from. | |
| mask_image | string | No | - | The mask image to indicate the area to be erased. The area to be erased should be in white color and the area to be kept should be in black color. | |
| prompt | string | No | - | The text prompt for specifying the objects or areas to be removed from the image. | |
| output_format | string | No | jpeg | jpeg, png, webp | 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. |
| enable_sync_mode | boolean | No | false | - | If set to true, the function will wait for the result to be generated and uploaded before returning the response. It allows you to get the result directly in the response. 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 |