Skip to main content

Inpainting

Inpainting API

To remove unwanted objects or defects from your pictures, you can use the API available at https://clipdrop-api.co/cleanup/v1.

The request must be an http POST and its body must be a multipart/form-data that has two images files:

  • image_file is the original image to process.
    • The original image should be a JPG or a PNG, with a maximum resolution of 16 megapixels and a max file size of 30 Mb.
  • mask_file is the mask image, defining the areas that need to be removed.
    • The mask image should be a PNG, and should have the same resolution as the original image and a max file size of 30 Mb.
    • The mask should be black and white with no grey pixels (e.g. values of only 0 or 255), the value of 0 indicating a pixel to keep as is and 255 a pixel to 'clean up'

In case of success:

  • the response mime-type is image/png and the response image is a PNG image with the same dimensions as the image_file.
  • the response headers will include a x-remaining-credits property to tell you how many credits you have left.

In case of an error:

  • the response mime-type is application/json, error type is indicated by the response status code and details are in the json body, ie
{ "error": "No api key provided" }

Authentication

Requests are authenticated with an API key. If you need one, please contact us at contact@clipdrop.co.

If your key has leaked, you can revoke it and request a new one in your account page.

Credits

1 successful inpainting API call = 1 credit.

Once logged in, you can claim 100 free ClipDrop APIs credits that you can use for development and debugging purposes. Once the 100 images have been consumed, further calls will be rejected.

If you need more credits, you can purchase packs of 500 to 50 000 credits.

Quota / Rate limiting

By default, each API key has a limit of 60 requests per minute for the inpainting API. Please let us know if you'd like higher values.

Examples

curl -X POST https://clipdrop-api.co/cleanup/v1 \
-H 'x-api-key: YOUR_API_KEY' \
-F 'image_file=@image.jpg' \
-F 'mask_file=@mask.png' \
-o result.png

Responses

The result image, e.g. 
Example result showing dunes images where the car has been removed

Tips and Tricks

The algorithm performs better if your mask is a bit larger than the object you want to remove. If your mask generation is automatic, expand the detected object mask a bit (15% has proven quite successful) to achieve the best results.

Example original image

Examples of input and outputs

image_file

photo.jpg

mask_file

mask.png

result

photo_cleanup.jpg

Sample integrations

Support

Any question ? Contact us at contact@clipdrop.co or join the Slack community.