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
Body
Response
// Success, the task has been submitted
{
"task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a"
}
// Bad request
{
"errors": [{ msg: "Invalid request" }]
}
// Invalid API Key
{}
// A server error occured
{}
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);
});
import requests
import json
url = "https://api.apiframe.pro/inpaint"
payload = json.dumps({
"parent_task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
"mask": "data:image/png;base64,...........",
"prompt": "a bird"
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'YOUR_API_KEY'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.apiframe.pro/inpaint',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"parent_task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
"mask": "data:image/png;base64,...........",
"prompt": "a bird"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: YOUR_API_KEY'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\r\n \"parent_task_id\": \"29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a\",\r\n \"mask\": \"data:image/png;base64,...........\",\r\n \"prompt\": \"a bird\"\r\n}");
Request request = new Request.Builder()
.url("https://api.apiframe.pro/inpaint")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.addHeader("Authorization", "YOUR_API_KEY")
.build();
Response response = client.newCall(request).execute();
var headers = {
'Content-Type': 'application/json',
'Authorization': 'YOUR_API_KEY'
};
var data = json.encode({
"parent_task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
"mask": "data:image/png;base64,...........",
"prompt": "a bird"
});
var dio = Dio();
var response = await dio.request(
'https://api.apiframe.pro/inpaint',
options: Options(
method: 'POST',
headers: headers,
),
data: data,
);
if (response.statusCode == 200) {
print(json.encode(response.data));
}
else {
print(response.statusMessage);
}
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.apiframe.pro/inpaint");
request.Headers.Add("Authorization", "YOUR_API_KEY");
var content = new StringContent("{\r\n \"parent_task_id\": \"29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a\",\r\n \"mask\": \"data:image/png;base64,...........\",\r\n \"prompt\": \"a bird\"\r\n}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
require "uri"
require "json"
require "net/http"
url = URI("https://api.apiframe.pro/inpaint")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request["Authorization"] = "YOUR_API_KEY"
request.body = JSON.dump({
"parent_task_id": "29e983ca-7e86-4017-a9e3-ef6fe9cd5f2a",
"mask": "data:image/png;base64,...........",
"prompt": "a bird"
})
response = https.request(request)
puts response.read_body
Last updated