બેકગ્રાઉન્ડ રીમુવર API તમને તમારી એપ્લિકેશનોમાં AI-સંચાલિત બેકગ્રાઉન્ડ રીમુવલને એકીકૃત કરવાની મંજૂરી આપે છે. સરળ REST API કોલ્સનો ઉપયોગ કરીને પ્રોગ્રામેટિકલી છબીઓ અને વિડિઓઝમાંથી બેકગ્રાઉન્ડ દૂર કરો.
શરૂ કરવા માટે, API કી માટે સાઇન અપ કરો ડેવલપર પોર્ટલ
Authorization: <api_key>
API પરિમાણો સંદર્ભ
તમારી API વિનંતીઓમાં નીચેના પરિમાણોનો સમાવેશ કરી શકાય છે. બધી ફાઇલ અપલોડ કોઈ વ્યવહારુ કદ મર્યાદા વિના મોટી ફાઇલોને સપોર્ટ કરે છે.
છબી પ્રક્રિયા પરિમાણો
| પરિમાણ | પ્રકાર | ડિફોલ્ટ | વર્ણન |
|---|---|---|---|
convert_to | string | જરૂરી | ઇમેજ-બેકગ્રાઉન્ડ રીમુવર પર સેટ કરો |
model | string | u2net | AI મોડેલ: u2net (સામાન્ય વસ્તુઓ/માનવો/વસ્તુઓ), u2net_human_seg (લોકો માટે ઑપ્ટિમાઇઝ કરેલ), u2netp (ઝડપી/હળવા) |
alpha_matting | boolean | false | વાળ પર તીક્ષ્ણ ધાર અને બારીક વિગતો માટે આલ્ફા મેટિંગ સક્ષમ કરો |
alpha_fg | int | 240 | ફોરગ્રાઉન્ડ થ્રેશોલ્ડ (0-255). ઉચ્ચ = કડક ફોરગ્રાઉન્ડ શોધ |
alpha_bg | int | 10 | પૃષ્ઠભૂમિ થ્રેશોલ્ડ (0-255). નીચું = કડક પૃષ્ઠભૂમિ શોધ |
alpha_erode | int | 10 | ધાર ધોવાણનું કદ (1-25). ધારની તીક્ષ્ણતાને નિયંત્રિત કરે છે |
alpha_base_size | int | 1000 | આલ્ફા મેટિંગ પ્રોસેસિંગ માટે બેઝ સાઈઝ. ઉચ્ચ = સારી ગુણવત્તા પરંતુ ધીમી |
only_mask | boolean | false | પારદર્શક છબીને બદલે કાળો/સફેદ માસ્ક પાછો આપો |
bg_type | string | transparent | પૃષ્ઠભૂમિ પ્રકાર: પારદર્શક, રંગીન અથવા છબી |
bg_color_value | string | #ffffff | હેક્સ ફોર્મેટમાં પૃષ્ઠભૂમિ રંગ (જ્યારે bg_type=રંગ) |
વિડિઓ પ્રોસેસિંગ પરિમાણો
| પરિમાણ | પ્રકાર | ડિફોલ્ટ | વર્ણન |
|---|---|---|---|
convert_to | string | જરૂરી | વિડિઓ-બેકગ્રાઉન્ડ રીમુવર પર સેટ કરો |
model | string | u2net | AI મોડેલ: u2net (જનરલ), u2net_human_seg (લોકો), u2netp (ઝડપી) |
video_format | string | mov | આઉટપુટ ફોર્મેટ: mov (પારદર્શક), મેટકી (mp4 મેટ), gif (એનિમેટેડ), video_over_image, video_over_video, gif_with_bg, mp4_with_color |
alpha_matting | boolean | false | તીક્ષ્ણ ધાર માટે આલ્ફા મેટિંગ સક્ષમ કરો |
alpha_fg | int | 240 | ફોરગ્રાઉન્ડ થ્રેશોલ્ડ (0-255) |
alpha_bg | int | 10 | પૃષ્ઠભૂમિ થ્રેશોલ્ડ (0-255) |
alpha_erode | int | 10 | ધાર ધોવાણનું કદ (1-25) |
alpha_base_size | int | 1000 | આલ્ફા મેટિંગ પ્રોસેસિંગ માટે બેઝ સાઈઝ |
video_bg_color_enabled | boolean | false | સોલિડ કલર બેકગ્રાઉન્ડ સક્ષમ કરો (mp4_with_color ફોર્મેટ માટે) |
video_bg_color | string | #00ff00 | હેક્સ ફોર્મેટમાં પૃષ્ઠભૂમિ રંગ |
framerate | int | auto | કસ્ટમ આઉટપુટ ફ્રેમરેટ (1-60 FPS). ઇનપુટ વિડિઓ સાથે મેળ કરવા માટે ખાલી છોડી દો. |
frame_limit | int | none | પ્રક્રિયાને પહેલા N ફ્રેમ સુધી મર્યાદિત કરો. ક્લિપ્સનું પરીક્ષણ કરવા અથવા બનાવવા માટે ઉપયોગી. |
છબી પૃષ્ઠભૂમિ દૂર કરો
છબી પૃષ્ઠભૂમિ દૂર કરો
import requests
import time
import shutil
import json
headers = {'Authorization': 'YOUR_API_KEY'}
file_list = ['testfiles/image.jpeg']
params = {
'lang': 'en',
'convert_to': 'image-backgroundremover',
'model': 'u2net',
'alpha_matting': 'true',
'alpha_fg': '240',
'alpha_bg': '10',
'alpha_erode': '10',
}
api_domain = "api.backgroundremoverai.com"
port = "https"
api_url = f"{port}://{api_domain}/v1/convert/"
results_url = f"{port}://{api_domain}/v1/results/"
def download_file(url, local_filename):
with requests.get(f"{port}://{api_domain}{url}", stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
if r.status_code != 200:
print(r.status_code)
print(r.content)
return
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
results = json.dumps(results)
if results:
break
if finished:
for f in data.get('files'):
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
resp = convert_files(api_url, params, headers)
get_results(resp)
curl -F "lang=en" -F "convert_to=image-backgroundremover" -F "files=@image.jpeg" -H "Authorization: YOUR_API_KEY" https://api.backgroundremoverai.com/v1/convert/
{"uuid": "conversion_uuid"}
curl -F "uuid=conversion_uuid" https://api.backgroundremoverai.com/v1/results/
{"files": [{"url": "/path/to/file.png", "filename": "file.png"}], "failed": [], "finished": true, "queue_count": 0, "errors": []}
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ERROR | E_PARSE);
$headers = array("Authorization: YOUR_API_KEY");
$file_list = ['/path/to/files/image.jpeg'];
$api_url = "https://api.backgroundremoverai.com/v1/convert/";
$results_url = "https://api.backgroundremoverai.com/v1/results/";
function download_file($url, $filename){
$curl = curl_init();
$url = "https://api.backgroundremoverai.com" . $url;
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSLVERSION, 3);
$data = curl_exec($curl);
$error = curl_error($curl);
curl_close ($curl);
$destination_path = "/path/to/result/files/";
$destination_file = fopen($destination_path . $filename, "w+");
fwrite($destination_file, $data);
fclose($destination_file);
}
function convert_files($file_list, $headers, $api_url) {
$post_data['lang'] = 'en';
$post_data['convert_to'] = 'image-backgroundremover';
$post_data['model'] = 'u2net';
$post_data['alpha_matting'] = 'true';
foreach ($file_list as $index => $file) {
$post_data['file[' . $index . ']'] = curl_file_create(
realpath($file),
mime_content_type($file),
basename($file)
);
}
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $api_url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$content = curl_exec($curl);
curl_close($curl);
return json_decode($content);
}
function get_results($params, $results_url, $headers) {
if ($params->error) {
print_r($params->error);
return;
}
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $results_url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_decode(json_encode($params), true));
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$content = json_decode(curl_exec($curl));
curl_close($curl);
if ($content->finished == false) {
if (intval($content->queue_count) > 0) {
print_r("queue: $content->queue_count");
}
sleep(5);
$results = get_results($params, $results_url, $headers);
return;
}
foreach ($content->files as $f) {
download_file($f->url, $f->filename);
}
}
$resp = convert_files($file_list, $headers, $api_url);
get_results($resp, $results_url, $headers);
?>
const request = require('request');
const fs = require('fs');
let file_list = ['/testfiles/blah.jpeg']
const api_url = 'https://api.backgroundremoverai.com/v1/convert/'
const results_url = 'https://api.backgroundremoverai.com/v1/results/'
function convertFiles(file_list) {
let formData = {
'lang': 'en',
'convert_to': 'image-backgroundremover',
'model': 'u2net',
'alpha_matting': 'true'
};
for (var i = 0; i < file_list.length; i ++) {
formData['files'] = fs.createReadStream(file_list[i]);
}
request({
url: api_url,
method: 'post',
formData: formData,
headers: {
"Authorization": "YOUR_API_KEY",
"Content-Type": "multipart/form-data",
}
}, function(err, res, body) {
if (err) {
console.error(err);
return err;
}
getResults(JSON.parse(body));
});
}
function getResults(data) {
if (data.error) {
console.error(data);
return data.error;
}
request({
url: results_url,
method: 'post',
formData: data
}, function(e, r, body) {
response = JSON.parse(body);
console.log(response);
if (!response.finished) {
setTimeout(
function() {
getResults(data);
}, 1000
);
}
console.log(response);
})
}
convertFiles(file_list);
API પ્રોસેસ્ડ ફાઇલનો પાથ પરત કરશે.
/path/to/local/file_processed.png
બહુવિધ ફાઇલો પર પ્રક્રિયા કરવા માટે, એક જ વિનંતીમાં બહુવિધ ફાઇલોનો સમાવેશ કરો. દરેક ફાઇલ પર પ્રક્રિયા કરવામાં આવશે અને અલગથી પરત કરવામાં આવશે.
વિડિઓ પૃષ્ઠભૂમિ દૂર કરો
વિડિઓ પૃષ્ઠભૂમિ દૂર કરો
import requests
import time
import shutil
import json
headers = {'Authorization': 'YOUR_API_KEY'}
file_list = ['testfiles/video.mp4']
params = {
'lang': 'en',
'convert_to': 'video-backgroundremover',
'model': 'u2net',
'video_format': 'mov',
'alpha_matting': 'true',
}
api_domain = "api.backgroundremoverai.com"
port = "https"
api_url = f"{port}://{api_domain}/v1/convert/"
results_url = f"{port}://{api_domain}/v1/results/"
def download_file(url, local_filename):
with requests.get(f"{port}://{api_domain}{url}", stream=True) as r:
with open(local_filename, 'wb') as f:
shutil.copyfileobj(r.raw, f)
return local_filename
def convert_files(api_url, params, headers):
files = [eval(f'("files", open("{file}", "rb"))') for file in file_list]
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
if r.status_code != 200:
print(r.status_code)
print(r.content)
return
return r.json()
def get_results(params):
if params.get('error'):
return params.get('error')
r = requests.post(
url=results_url,
data=params
)
data = r.json()
finished = data.get('finished')
while not finished:
if int(data.get('queue_count')) > 0:
print('queue: %s' % data.get('queue_count'))
time.sleep(5)
results = get_results(params)
results = json.dumps(results)
if results:
break
if finished:
for f in data.get('files'):
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
resp = convert_files(api_url, params, headers)
get_results(resp)
curl -F "lang=en" -F "convert_to=video-backgroundremover" \
-F "files=@video.mp4" \
-H "Authorization: YOUR_API_KEY" https://api.backgroundremoverai.com/v1/convert/
{"uuid": "conversion_uuid"}
curl -F "uuid=conversion_uuid" https://api.backgroundremoverai.com/v1/results/
{"files": [{"url": "/path/to/file.mov", "filename": "file.mov"}], "failed": [], "finished": true, "queue_count": 0, "errors": []}
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ERROR | E_PARSE);
$headers = array("Authorization: api_key");
$file_list = ['/path/to/files/blah.mp4'];
$api_url = "https://api.backgroundremoverai.com/v1/convert/";
$results_url = "https://api.backgroundremoverai.com/v1/results/";
function download_file($url, $filename){
$curl = curl_init();
$url = "https://api.backgroundremoverai.com" . $url;
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSLVERSION, 3);
$data = curl_exec($curl);
$error = curl_error($curl);
curl_close ($curl);
$destination_path = "/path/to/result/files/";
$destination_file = fopen($destination_path . $filename, "w+");
fwrite($destination_file, $data);
fclose($destination_file);
}
function convert_files($file_list, $headers, $api_url) {
$post_data['lang'] = 'en';
$post_data['convert_to'] = 'video-backgroundremover';
foreach ($file_list as $index => $file) {
$post_data['file[' . $index . ']'] = curl_file_create(
realpath($file),
mime_content_type($file),
basename($file)
);
}
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $api_url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$content = curl_exec($curl);
curl_close($curl);
return json_decode($content);
}
function get_results($params, $results_url, $headers) {
if ($params->error) {
print_r($params->error);
return;
}
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $results_url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_decode(json_encode($params), true));
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$content = json_decode(curl_exec($curl));
curl_close($curl);
if ($content->finished == false) {
if (intval($content->queue_count) > 0) {
print_r("queue: $content->queue_count");
}
sleep(5);
$results = get_results($params, $results_url, $headers);
return;
}
foreach ($content->files as $f) {
download_file($f->url, $f->filename);
}
}
$resp = convert_files($file_list, $headers, $api_url);
get_results($resp, $results_url, $headers);
?>
const request = require('request');
const fs = require('fs');
let file_list = ['/testfiles/blah.mp4']
const api_url = 'https://api.backgroundremoverai.com/v1/convert/'
const results_url = 'https://api.backgroundremoverai.com/v1/results/'
function convertFiles(file_list) {
let formData = {
'lang': 'en',
'convert_to': 'video-backgroundremover'
};
for (var i = 0; i < file_list.length; i ++) {
formData['files'] = fs.createReadStream(file_list[i]);
}
request({
url: api_url,
method: 'post',
formData: formData,
headers: {
"Authorization": "YOUR_API_KEY",
"Content-Type": "multipart/form-data",
}
}, function(err, res, body) {
if (err) {
console.error(err);
return err;
}
getResults(JSON.parse(body));
});
}
function getResults(data) {
if (data.error) {
console.error(data);
return data.error;
}
request({
url: results_url,
method: 'post',
formData: data
}, function(e, r, body) {
response = JSON.parse(body);
console.log(response);
if (!response.finished) {
setTimeout(
function() {
getResults(data);
}, 1000
);
}
console.log(response);
})
}
convertFiles(file_list);
API પ્રોસેસ્ડ ફાઇલનો પાથ પરત કરશે.
/path/to/local/file_processed.mov
/path/to/local/file_processed.gif
બહુવિધ ફાઇલો પર પ્રક્રિયા કરવા માટે, એક જ વિનંતીમાં બહુવિધ ફાઇલોનો સમાવેશ કરો. દરેક ફાઇલ પર પ્રક્રિયા કરવામાં આવશે અને અલગથી પરત કરવામાં આવશે.
