BackgroundRemover.app API belgelerine hoş geldiniz
Bir geliştirici anahtarı almak için lütfen şu adrese gidin: geliştirici portalı
Authorization: <api_key>
Görüntü arka planını kaldır
Görüntü arka planını kaldır
import requests
import time
import shutil
import json
headers = {'Authorization': 'f134382194a844c8bb589af58ef283e9'}
file_list = ['testfiles/blah.jpeg', 'testfiles/blah.jpeg', 'testfiles/blah.jpeg']
params = {
'lang': 'en',
'convert_to': 'image-backgroundremover',
'ocr': False
}
api_url = 'https://api.backgroundremover.app/v1/convert/'
results_url = 'https://api.backgroundremover.app/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.backgroundremover.app/%s" % 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]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
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)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Request:
curl -F "lang=en" -F "convert_to=image-backgroundremover" -F "files=@testfiles/blah.jpeg" -F "files=@testfiles/blah.jpeg" -F "files=@testfiles/blah.jpeg" -H "Authorization: <api_key>" https://api.backgroundremover.app/v1/convert/
Response:
{uuid: <conversion_uuid>}
Request:
curl -F "uuid=<conversion_uuid>" -H "Authorization: <api_key>" https://api.backgroundremover.app/v1/results/
Response:
{"files": [{"url": <url>, filename: <filename>}], "failed": [], "finished": true, "queue_count": 0, "errors": []}
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$headers = array("Authorization: <api_key>");
$file_list = ['testfiles/blah.jpeg', 'testfiles/blah.jpeg', 'testfiles/blah.jpeg'];
$api_url = 'https://api.backgroundremover.app/v1/convert/';
$results_url = 'https://api.backgroundremover.app/v1/results/';
$post_data = [];
function download_file($url, $filename){
$curl = curl_init();
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);
$file = fopen("./testfiles/$filename", "w+");
fputs($file, $data);
fclose($file);
}
function convert_files($file_list, $headers, $api_url) {
$post_data['lang'] = 'en';
$post_data['convert_to'] = 'image-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);
print($content);
return $content;
}
function get_results($params, $api_url, $headers) {
$error = json_decode($params);
print_r($params);
print_r($error);
if ($error->error) {
print_r($error->error);
return;
}
$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, $params);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$content = json_decode(curl_exec($curl));
curl_close($curl);
while (!$content->finished) {
if (intval($content->queue_count) > 0) {
print_r("queue: $content->queue_count");
}
sleep(5);
$results = get_results($params, $api_url, $headers);
}
foreach ($content->files as $f) {
download_file($f->url, $f->filename);
}
}
get_results(convert_files($file_list, $headers, $api_url), $api_url, $headers);
?>
const request = require('request');
const fs = require('fs');
const { initParams } = require('request');
let file_list = ['testfiles/blah.jpeg']
const api_url = 'https://api.backgroundremover.app/v1/convert/'
const results_url = 'https://api.backgroundremover.app/v1/results/'
function convertFiles(file_list) {
let formData = {
'lang': 'en',
'convert_to': 'image-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': '<api_key>',
"Content-Type": "multipart/form-data",
}
}, function(e, r, body) {
getResults(JSON.parse(body));
});
}
function getResults(data) {
if (data.error) {
return data.error;
}
request({
url: results_url,
method: 'post',
formData: data
}, function(e, r, body) {
response = JSON.parse(body);
if (!response.finished) {
setTimeout(
function() {
getResults(data);
}, 1000
);
}
console.log(response);
})
}
convertFiles(file_list);
Geri dönücek
/path/to/local/file_processed.png
Birden çok dosya oluşturmak için listenize daha fazla dosya koymanız yeterlidir.
Video arka planını kaldır
Video arka planını kaldır
import requests
import time
import shutil
import json
headers = {'Authorization': 'f134382194a844c8bb589af58ef283e9'}
file_list = ['testfiles/blah.mp4', 'testfiles/blah.mp4', 'testfiles/blah.mp4']
params = {
'lang': 'en',
'convert_to': 'video-backgroundremover',
'ocr': False
}
api_url = 'https://api.backgroundremover.app/v1/convert/'
results_url = 'https://api.backgroundremover.app/v1/results/'
def download_file(url, local_filename):
with requests.get("https://api.backgroundremover.app/%s" % 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]
print(files)
r = requests.post(
url=api_url,
files=files,
data=params,
headers=headers
)
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)
print(results)
results = json.dumps(results)
if results:
break
if finished:
print(data.get('files'))
for f in data.get('files'):
print(f.get('url'))
download_file("%s" % f.get('url'), "%s" % f.get('filename'))
return {"finished": "files downloaded"}
return r.json()
get_results(convert_files(api_url, params, headers))
Request:
curl -F "lang=en" -F "convert_to=video-backgroundremover" -F "files=@testfiles/blah.jpeg" -F "files=@testfiles/blah.jpeg" -F "files=@testfiles/blah.jpeg" -H "Authorization: <api_key>" https://api.backgroundremover.app/v1/convert/
Response:
{uuid: <conversion_uuid>}
Request:
curl -F "uuid=<conversion_uuid>" -H "Authorization: <api_key>" https://api.backgroundremover.app/v1/results/
Response:
{"files": [{"url": <url>, filename: <filename>}], "failed": [], "finished": true, "queue_count": 0, "errors": []}
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$headers = array("Authorization: <api_key>");
$file_list = ['testfiles/blah.mp4', 'testfiles/blah.mp4', 'testfiles/blah.mp4'];
$api_url = 'https://api.backgroundremover.app/v1/convert/';
$results_url = 'https://api.backgroundremover.app/v1/results/';
$post_data = [];
function download_file($url, $filename){
$curl = curl_init();
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);
$file = fopen("./testfiles/$filename", "w+");
fputs($file, $data);
fclose($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);
print($content);
return $content;
}
function get_results($params, $api_url, $headers) {
$error = json_decode($params);
print_r($params);
print_r($error);
if ($error->error) {
print_r($error->error);
return;
}
$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, $params);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$content = json_decode(curl_exec($curl));
curl_close($curl);
while (!$content->finished) {
if (intval($content->queue_count) > 0) {
print_r("queue: $content->queue_count");
}
sleep(5);
$results = get_results($params, $api_url, $headers);
}
foreach ($content->files as $f) {
download_file($f->url, $f->filename);
}
}
get_results(convert_files($file_list, $headers, $api_url), $api_url, $headers);
?>
const request = require('request');
const fs = require('fs');
const { initParams } = require('request');
let file_list = ['testfiles/blah.mp4']
const api_url = 'https://api.backgroundremover.app/v1/convert/'
const results_url = 'https://api.backgroundremover.app/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': '<api_key>',
"Content-Type": "multipart/form-data",
}
}, function(e, r, body) {
getResults(JSON.parse(body));
});
}
function getResults(data) {
if (data.error) {
return data.error;
}
request({
url: results_url,
method: 'post',
formData: data
}, function(e, r, body) {
response = JSON.parse(body);
if (!response.finished) {
setTimeout(
function() {
getResults(data);
}, 1000
);
}
console.log(response);
})
}
convertFiles(file_list);
Geri dönücek
/path/to/local/file_processed.mov
/path/to/local/file_processed.gif
Birden çok dosya oluşturmak için listenize daha fazla dosya koymanız yeterlidir.