1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
const axios = require('axios');
const fs = require('fs');
const path = require('path');
async function toB64(imgPath) {
const data = fs.readFileSync(path.resolve(imgPath));
return Buffer.from(data).toString('base64');
}
const api_key = "YOUR API-KEY";
const url = "https://api.segmind.com/v1/inpaint-mask-maker";
const data = {
"prompt": "white horse",
"image": "toB64('https://segmind-sd-models.s3.amazonaws.com/display_images/inpaint-mask-maker-input.jpg')",
"invert_mask": false,
"confidence_thresh": 0.5,
"iou_thresh": 0.2,
"return_mask": false,
"grow_mask": 10,
"base64": false
};
(async function() {
try {
const response = await axios.post(url, data, { headers: { 'x-api-key': api_key } });
console.log(response.data);
} catch (error) {
console.error('Error:', error.response.data);
}
})();
Prompt to render
Upload your input image
Refers to inverting the mask.
Lowering it reduces false positives and increases sensitivity to desired objects. Increasing it minimizes false positives and prevents identifying undesired objects.
min : 0,
max : 1
Lowering the value reduces bounding box overlap, making detection more stringent. Increasing it allows more overlap and adapts to a wider detection range.
min : 0,
max : 1
Check this to obtain the mask as the output.
Selectively expand image regions
min : 0,
max : 100
Base64 encoding of the output image.
To keep track of your credit usage, you can inspect the response headers of each API call. The x-remaining-credits property will indicate the number of remaining credits in your account. Ensure you monitor this value to avoid any disruptions in your API usage.
Inpaint Mask Maker leverages a two-stage deep learning pipeline to generate high-fidelity masks for image inpainting tasks. This approach combines the object detection capabilities of You Only Look Once (YOLO) with the precise segmentation abilities of the Segment Anything Model (SAM) to achieve robust mask creation.
The model first identifies and classify objects within an input image by dividing the image into a grid and predicting bounding boxes and class probabilities for each grid cell. This process effectively localizes and classifies all objects present in the image. Following successful object identification, the pipeline leverages semantic segmentation based on the object detections. The model then segments the image based on the identified object classes, generating a binary mask for each object. This binary mask isolates the specific region of the image occupied by the corresponding object, providing a precise delineation of its boundaries.
This two-stage approach is particularly well-suited for scenarios where both accurate object localization/classification and precise object boundary delineation are crucial. This includes applications such as:
Content removal and image restoration: Precise masks facilitate the removal of unwanted objects while preserving surrounding image details during inpainting.
Object manipulation: Accurate masks enable targeted manipulation of specific objects within an image for tasks like image editing or object replacement.