Image Eraser
curl --request POST \
--url https://api.novita.ai/v3/async/image-eraser \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"mask": "<string>",
"image": "<string>",
"prompt": "<string>",
"output_format": "<string>"
}
'import requests
url = "https://api.novita.ai/v3/async/image-eraser"
payload = {
"mask": "<string>",
"image": "<string>",
"prompt": "<string>",
"output_format": "<string>"
}
headers = {
"Content-Type": "<content-type>",
"Authorization": "<authorization>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': '<content-type>', Authorization: '<authorization>'},
body: JSON.stringify({
mask: '<string>',
image: '<string>',
prompt: '<string>',
output_format: '<string>'
})
};
fetch('https://api.novita.ai/v3/async/image-eraser', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.novita.ai/v3/async/image-eraser",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'mask' => '<string>',
'image' => '<string>',
'prompt' => '<string>',
'output_format' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.novita.ai/v3/async/image-eraser"
payload := strings.NewReader("{\n \"mask\": \"<string>\",\n \"image\": \"<string>\",\n \"prompt\": \"<string>\",\n \"output_format\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.novita.ai/v3/async/image-eraser")
.header("Content-Type", "<content-type>")
.header("Authorization", "<authorization>")
.body("{\n \"mask\": \"<string>\",\n \"image\": \"<string>\",\n \"prompt\": \"<string>\",\n \"output_format\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.novita.ai/v3/async/image-eraser")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = '<content-type>'
request["Authorization"] = '<authorization>'
request.body = "{\n \"mask\": \"<string>\",\n \"image\": \"<string>\",\n \"prompt\": \"<string>\",\n \"output_format\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"task_id": "<string>"
}Image Editor
Image Eraser
POST
/
v3
/
async
/
image-eraser
Image Eraser
curl --request POST \
--url https://api.novita.ai/v3/async/image-eraser \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"mask": "<string>",
"image": "<string>",
"prompt": "<string>",
"output_format": "<string>"
}
'import requests
url = "https://api.novita.ai/v3/async/image-eraser"
payload = {
"mask": "<string>",
"image": "<string>",
"prompt": "<string>",
"output_format": "<string>"
}
headers = {
"Content-Type": "<content-type>",
"Authorization": "<authorization>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': '<content-type>', Authorization: '<authorization>'},
body: JSON.stringify({
mask: '<string>',
image: '<string>',
prompt: '<string>',
output_format: '<string>'
})
};
fetch('https://api.novita.ai/v3/async/image-eraser', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.novita.ai/v3/async/image-eraser",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'mask' => '<string>',
'image' => '<string>',
'prompt' => '<string>',
'output_format' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.novita.ai/v3/async/image-eraser"
payload := strings.NewReader("{\n \"mask\": \"<string>\",\n \"image\": \"<string>\",\n \"prompt\": \"<string>\",\n \"output_format\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.novita.ai/v3/async/image-eraser")
.header("Content-Type", "<content-type>")
.header("Authorization", "<authorization>")
.body("{\n \"mask\": \"<string>\",\n \"image\": \"<string>\",\n \"prompt\": \"<string>\",\n \"output_format\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.novita.ai/v3/async/image-eraser")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = '<content-type>'
request["Authorization"] = '<authorization>'
request.body = "{\n \"mask\": \"<string>\",\n \"image\": \"<string>\",\n \"prompt\": \"<string>\",\n \"output_format\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"task_id": "<string>"
}AI-powered image erasing service. Supports object removal from images via mask and text prompts. Offers high-quality image processing: out-of-the-box REST inference API, top performance, no cold start, affordable pricing.
This is an asynchronous API; only the task_id will be returned. You should use the task_id to request the Task Result API to retrieve the video generation results.
Request Headers
Supports:
application/jsonBearer authentication format, for example: Bearer {{API Key}}.
Request Body
Mask image indicating the area to be erased. Areas to erase should be white; areas to keep should be black.
The original image to be processed.
Text prompt specifying the object or region to remove from the image, e.g., βdogβ or βhatβ.
Output image format.Optional values:
jpeg, png, webpResponse
Use the task_id to request the Task Result API to retrieve the generated outputs.
Last modified on December 10, 2025
Was this page helpful?
βI