Replace Background
curl --request POST \
--url https://api.novita.ai/v3/replace-background \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"extra": {
"response_image_type": "<string>",
"enterprise_plan": {
"enabled": true
}
},
"image_file": "<string>"
}
'import requests
url = "https://api.novita.ai/v3/replace-background"
payload = {
"extra": {
"response_image_type": "<string>",
"enterprise_plan": { "enabled": True }
},
"image_file": "<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({
extra: {response_image_type: '<string>', enterprise_plan: {enabled: true}},
image_file: '<string>'
})
};
fetch('https://api.novita.ai/v3/replace-background', 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/replace-background",
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([
'extra' => [
'response_image_type' => '<string>',
'enterprise_plan' => [
'enabled' => true
]
],
'image_file' => '<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/replace-background"
payload := strings.NewReader("{\n \"extra\": {\n \"response_image_type\": \"<string>\",\n \"enterprise_plan\": {\n \"enabled\": true\n }\n },\n \"image_file\": \"<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/replace-background")
.header("Content-Type", "<content-type>")
.header("Authorization", "<authorization>")
.body("{\n \"extra\": {\n \"response_image_type\": \"<string>\",\n \"enterprise_plan\": {\n \"enabled\": true\n }\n },\n \"image_file\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.novita.ai/v3/replace-background")
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 \"extra\": {\n \"response_image_type\": \"<string>\",\n \"enterprise_plan\": {\n \"enabled\": true\n }\n },\n \"image_file\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"image_file": "<string>",
"image_type": "<string>"
}Image Editor
Replace Background
POST
/
v3
/
replace-background
Replace Background
curl --request POST \
--url https://api.novita.ai/v3/replace-background \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"extra": {
"response_image_type": "<string>",
"enterprise_plan": {
"enabled": true
}
},
"image_file": "<string>"
}
'import requests
url = "https://api.novita.ai/v3/replace-background"
payload = {
"extra": {
"response_image_type": "<string>",
"enterprise_plan": { "enabled": True }
},
"image_file": "<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({
extra: {response_image_type: '<string>', enterprise_plan: {enabled: true}},
image_file: '<string>'
})
};
fetch('https://api.novita.ai/v3/replace-background', 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/replace-background",
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([
'extra' => [
'response_image_type' => '<string>',
'enterprise_plan' => [
'enabled' => true
]
],
'image_file' => '<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/replace-background"
payload := strings.NewReader("{\n \"extra\": {\n \"response_image_type\": \"<string>\",\n \"enterprise_plan\": {\n \"enabled\": true\n }\n },\n \"image_file\": \"<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/replace-background")
.header("Content-Type", "<content-type>")
.header("Authorization", "<authorization>")
.body("{\n \"extra\": {\n \"response_image_type\": \"<string>\",\n \"enterprise_plan\": {\n \"enabled\": true\n }\n },\n \"image_file\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.novita.ai/v3/replace-background")
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 \"extra\": {\n \"response_image_type\": \"<string>\",\n \"enterprise_plan\": {\n \"enabled\": true\n }\n },\n \"image_file\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"image_file": "<string>",
"image_type": "<string>"
}Replace the background of images according to your prompt.
HTTP status codes in the 2xx range indicate that the request has been successfully accepted. A status code of 400 means there is an error with the request parameters, while status codes in the 5xx range indicate internal server errors.
You can obtain the image URL in the

Request Headers
Enum:
application/jsonBearer authentication format, for example: Bearer {{API Key}}.
Request Body
Optional extra parameters for the request.
Show properties
Show properties
The returned image type. Default is png.Enum:
png, webp, jpegDedicated Endpoints settings, which only take effect for users who have already subscribed to the Dedicated Endpoints Documentation.
Show properties
Show properties
Set to true to schedule this task to use your Dedicated Endpoints’s dedicated resources. Default is false.
The base64 of original image, with a maximum resolution of 2048 x 2048 and a maximum file size of 30 Mb (width <= 4096, height <= 4096).
Response
The Base64-encoded content of the returned image.
The returned image type.
Enum:
Enum:
png, webp, jpegExample
This API allows you to replace the background of images according to your prompt. Try it in playground.Request:
curl --location --request POST 'https://api.novita.ai/v3/replace-background' \
--header 'Authorization: Bearer {{API Key}}' \
--header 'Content-Type: application/json' \
--data-raw '{
"prompt":"in a warehouse",
"image_file":"{{Base64 encoded image}}"
}'
image_file field of the response in base64 format.
Response:
{
"image_file": "{{Base64 encoded image}}",
"image_type": "png"
}


Last modified on February 19, 2025
Was this page helpful?
⌘I