Inpaint (Vary Region)
Redraw a selected area of an image. Of course you first need to Upscale 1x.
POST
https://api.apiframe.pro/inpaint
Headers
Content-Type
application/json
Authorization*
Your APIFRAME API Key
Body
parent_task_id
*
string
The task ID of the original task
mask
*
string
Base64 encoding of the image corresponding to the selected area
prompt
string
Drawing prompt for selected areas
webhook_url
string
The final result and updates of this task will be posted at this URL.
webhook_secret
string
Will be passed as x-webhook-secret
in the webhook call headers for authentication.
Response
// Success, the task has been submitted
{
"task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a"
}
This endpoint doesn't generate images instantly, you can use the Fetch endpoint to fetch the result or use webhooks.
You can use our Inpaint Mask Tool to get the base64 mask.
The result (posted to the webhook_url
or retrieved with the Fetch endpoint) looks like this:
{
"task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
"task_type": "inpaint",
"original_image_url": "https://.../xxxxxxxx.png", // grid image
"image_urls": [
"https://.../xxxx1.png",
"https://.../xxxx2.png",
"https://.../xxxx3.png",
"https://.../xxxx4.png"
]
}
If the job is not completed, you will get a result like this:
{
"task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
"task_type": "inpaint",
"status": "processing",
"percentage": "80"
}
Code samples
const axios = require('axios');
let data = JSON.stringify({
"parent_task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
"mask": "data:image/png;base64,...........",
"prompt": "a bird"
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://api.apiframe.pro/inpaint',
headers: {
'Content-Type': 'application/json',
'Authorization': 'YOUR_API_KEY'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Last updated
Was this helpful?