Photorealistic fill
The service rebuilds the layout under the mask and then refines the texture, so removed objects are replaced with believable, photorealistic detail — automatically, on every request.
Send an image URL and one or more masks marking the areas you want gone. The service
Learn more about Image InpaintingBefore / after shows up here
Upload → detect objects → click them → erase.
Send an image URL and one or more masks marking the areas you want gone. The service fills each masked area so the result looks like the object was never there — first rebuilding the underlying layout, then refining the texture for a photorealistic finish. Masks can be bounding boxes, COCO RLE (straight from the Segmentation service), or polygons, and you can pass several at once to remove multiple objects in one go. Edges are blended seamlessly so the fill is invisible. Images larger than 4096 px on a side are resized automatically. This is an async job: submit it, poll until it's ready, then download the result.
The service rebuilds the layout under the mask and then refines the texture, so removed objects are replaced with believable, photorealistic detail — automatically, on every request.
Accepts bbox ([x, y, w, h]), COCO RLE (straight from the Segmentation service), or polygon ([[x,y], ...]) masks. Pass several at once to remove multiple objects together.
Masks are expanded slightly (dilate_px, default 15) to fully cover edges, and the fill is feathered into the original (feather_px, default 45) so the transition is invisible.
Add a custom prompt and negative prompt to steer the fill. The defaults produce a seamless continuation of the background.
Object removal
Segment objects first (via the Segmentation service), let users pick which to remove, then feed the selected RLE masks here.
Photo retouching
Remove blemishes, watermarks, or unwanted text from images.
Scene cleanup
Clean up wires, construction, or distracting elements from real estate or landscape photos.
input
Image URL and array of mask definitions (bbox, rle, or polygon)
output
Inpainted image URL and processing metadata (async job result)
imageUrlrequiredstringPublic URL of the image to inpaint
masksrequiredarrayArray of mask objects. Each mask has 'type' and 'data'.
typerequiredstringMask format
enum: bbox, rle, polygon
datarequiredanybbox: [x,y,w,h]. rle: {size,counts}. polygon: [[x,y],...]
dilate_pxintegerHow many pixels to expand each mask (default: 15), so edges are fully covered.
promptstringCustom prompt to steer the fill. Default: a seamless continuation of the background.
negative_promptstringCustom negative prompt for things to avoid in the fill. Default: objects, artifacts, blur.
feather_pxintegerHow softly the fill blends into the original (default: 45). Larger values feather the edge more.
data.urlstringPublic URL of the inpainted image.
data.masks_appliedintegerHow many masks were applied.
Billed per image processed, regardless of mask count.
| Service | Unit | Price |
|---|---|---|
| Image Inpainting | item | 10 credits/image |
Mask count, dilation, or feather values do not affect pricing.