Inpainting Endpoint
Overview
This endpoint generates and returns an image from an image and a mask passed with their URLs in the request.
Together with the image and the mask you can add your description of the desired result by passing prompt and negative prompt.
Request
--request POST 'https://modelslab.com/api/v6/image_editing/inpaint' \
Make a POST
request to https://modelslab.com/api/v6/image_editing/inpaint endpoint and pass the required parameters as a request body.
Watch the how-to video to see it in action.
Attributes
Parameter | Description | Values |
---|---|---|
key | Your API Key used for request authorization | string |
prompt | Text prompt describing the content you want in the generated image | string |
negative_prompt | Items you do not want in the image | string |
init_image | Link to the initial image | URL |
mask_image | Link to the mask image for inpainting | URL |
width | The width of the generated images. Maximum dimension: 1024 pixels | integer |
height | The height of the generated images. Maximum dimension: 1024 pixels | integer |
samples | Number of images to be returned in response. Maximum value is 4 | integer (max: 4) |
safety_checker | A checker for NSFW images. If such an image is detected, it will be replaced by a blank image | "yes" or "no" |
enhance_prompt | Enhance prompts for better results. Default is "yes". Options: "yes" or "no" | "yes" or "no" |
guidance_scale | Scale for classifier-free guidance. Minimum: 1, Maximum: 5 | integer (1 to 5) |
strength | Prompt strength when using the initial image. A value of 1.0 corresponds to full destruction of information in the initial image | float (0.0 to 1.0) |
instant_response | Set to "true" for an instant queue response before processing finishes. Default is "false" | "true" or "false" |
base64 | Set to "true" to get the response as a base64 string. Default is "false" | "true" or "false" |
seed | Seed used to reproduce results. Pass "null" for a random number | integral value or "null" |
webhook | URL to receive a POST API call once the image generation is complete | URL |
track_id | ID returned in the response to the webhook API call, used to identify the webhook request | integral value |
Example
Body
Body
{
"key": "",
"prompt": "a cat sitting on a bench",
"negative_prompt": null,
"init_image": "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png",
"mask_image": "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png",
"width": "512",
"height": "512",
"samples": 1,
"num_inference_steps": "30",
"safety_checker": "no",
"enhance_prompt": "yes",
"guidance_scale": 5,
"strength": 0.7,
"base64": false,
"seed": null,
"webhook": null,
"track_id": null
}
Request
- JS
- PHP
- NODE
- PYTHON
- JAVA
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"key": "",
"prompt": "a cat sitting on a bench",
"negative_prompt": null,
"init_image": "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png",
"mask_image": "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png",
"width": "512",
"height": "512",
"samples": "1",
"num_inference_steps": "30",
"safety_checker": "no",
"enhance_prompt": "yes",
"guidance_scale": 5,
"strength": 0.7,
"base64": false,
"seed": null,
"webhook": null,
"track_id": null
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://modelslab.com/api/v6/image_editing/inpaint", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
<?php
$payload = [
"key" => "",
"prompt" => "a cat sitting on a bench",
"negative_prompt" => null,
"init_image" => "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png",
"mask_image" => "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png",
"width" => "512",
"height" => "512",
"samples" => "1",
"num_inference_steps" => "30",
"safety_checker" => "no",
"enhance_prompt" => "yes",
"guidance_scale" => 5,
"strength" => 0.7,
"base64" => false,
"seed" => null,
"webhook" => null,
"track_id" => null
];
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://modelslab.com/api/v6/image_editing/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 => json_encode($payload),
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://modelslab.com/api/v6/image_editing/inpaint',
'headers': {
'Content-Type': 'application/json'
},
body: JSON.stringify({
"key": "",
"prompt": "a cat sitting on a bench",
"negative_prompt": null,
"init_image": "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png",
"mask_image": "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png",
"width": "512",
"height": "512",
"samples": "1",
"num_inference_steps": "30",
"safety_checker": "no",
"enhance_prompt": "yes",
"guidance_scale": 5,
"strength": 0.7,
"seed": null,
"webhook": null,
"track_id": null
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
import requests
import json
url = "https://modelslab.com/api/v6/image_editing/inpaint"
payload = json.dumps({
"key": "",
"prompt": "a cat sitting on a bench",
"negative_prompt": None,
"init_image": "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png",
"mask_image": "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png",
"width": "512",
"height": "512",
"samples": "1",
"num_inference_steps": "30",
"safety_checker": "no",
"enhance_prompt": "yes",
"guidance_scale": 5,
"strength": 0.7,
"seed": None,
"webhook": None,
"track_id": None
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"key\": \"\",\n \"prompt\": \"a cat sitting on a bench\",\n \"negative_prompt\": null,\n \"init_image\": \"https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png\",\n \"mask_image\": \"https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png\",\n \"width\": \"512\",\n \"height\": \"512\",\n \"samples\": \"1\",\n \"num_inference_steps\": \"30\",\n \"safety_checker\": \"no\",\n \"enhance_prompt\": \"yes\",\n \"guidance_scale\": 5,\n \"strength\": 0.7,\n \"seed\": null,\n \"webhook\": null,\n \"track_id\": null\n}");
Request request = new Request.Builder()
.url("https://modelslab.com/api/v6/image_editing/inpaint")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
Response
Example Response
{
"status": "success",
"generationTime": 1.9110066890716553,
"id": 12384052,
"output": [
"https://pub-8b49af329fae499aa563997f5d4068a4.r2.dev/generations/e67183ee-73c1-45c4-84e7-0dec6f657d33-0.png"
],
"meta": {
"H": 512,
"W": 512,
"file_prefix": "e67183ee-73c1-45c4-84e7-0dec6f657d33",
"guidance_scale": 5,
"init_image": "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo.png",
"mask_image": "https://raw.githubusercontent.com/CompVis/stable-diffusion/main/data/inpainting_examples/overture-creations-5sI6fQgYIuo_mask.png",
"n_samples": 1,
"negative_prompt": " ((out of frame)), ((extra fingers)), mutated hands, ((poorly drawn hands)), ((poorly drawn face)), (((mutation))), (((deformed))), (((tiling))), ((naked)), ((tile)), ((fleshpile)), ((ugly)), (((abstract))), blurry, ((bad anatomy)), ((bad proportions)), ((extra limbs)), cloned face, glitchy, ((extra breasts)), ((double torso)), ((extra arms)), ((extra hands)), ((mangled fingers)), ((missing breasts)), (missing lips), ((ugly face)), ((fat)), ((extra legs))",
"outdir": "out",
"prompt": "a cat sitting on a bench DSLR photography, sharp focus, Unreal Engine 5, Octane Render, Redshift, ((cinematic lighting)), f/1.4, ISO 200, 1/160s, 8K, RAW, unedited, symmetrical balance, in-frame",
"safetychecker": "no",
"seed": 3163825381,
"steps": 20,
"strength": 0.7
}
}