NAV
shell python php javascript

Background Remover API က AI စွမ်းအားသုံး နောက်ခံဖယ်ရှားခြင်းကို သင့်အပလီကေးရှင်းများထဲသို့ ပေါင်းစပ်နိုင်စေပါသည်။ ရိုးရှင်းသော REST API ခေါ်ဆိုမှုများဖြင့် ရုပ်ပုံများနှင့် ဗီဒီယိုများမှ နောက်ခံများကို ပရိုဂရမ်ဖြင့် ဖယ်ရှားပါ။

စတင်ရန်အတွက် API key အတွက် စာရင်းသွင်းပါ ဆော့ဖ်ဝဲရေးသားသူ ပေါ်တယ်

Authorization: <api_key>

API ကန့်သတ်ချက်များ ရည်ညွှန်းချက်

အောက်ပါ parameter များကို သင်၏ API request များတွင် ထည့်သွင်းနိုင်ပါသည်။ ဖိုင်အပ်လုဒ်အားလုံးသည် လက်တွေ့တွင် အရွယ်အစားကန့်သတ်ချက်မရှိသော ကြီးမားသောဖိုင်များကို ပံ့ပိုးပေးပါသည်။

ရုပ်ပုံ စီမံဆောင်ရွက်ခြင်း ကန့်သတ်ချက်များ

ကန့်သတ်ချက်အမျိုးအစားမူရင်းဖော်ပြချက်
convert_tostringလိုအပ်သည်image-backgroundremover သို့ သတ်မှတ်ပါ
modelstringu2netAI မော်ဒယ်- u2net (ယေဘုယျအရာဝတ္ထုများ/လူများ/အရာဝတ္ထုများ)၊ u2net_human_seg (လူများအတွက် အကောင်းဆုံးဖြစ်အောင်ပြုလုပ်ထားသည်)၊ u2netp (မြန်ဆန်/ပေါ့ပါးသည်)
alpha_mattingbooleanfalseဆံပင်ပေါ်ရှိ အနားသတ်များကို ပိုမိုထက်မြက်စေပြီး အသေးစိတ်အချက်အလက်များအတွက် alpha matting ကို enable လုပ်ပါ
alpha_fgint240ရှေ့မျက်နှာပြင် ကန့်သတ်ချက် (၀-၂၅၅)။ ပိုမြင့် = ရှေ့မျက်နှာပြင် ထောက်လှမ်းမှု ပိုမိုတင်းကျပ်ခြင်း
alpha_bgint10နောက်ခံ ကန့်သတ်ချက် (၀-၂၅၅)။ ပိုနိမ့် = ပိုမိုတင်းကျပ်သော နောက်ခံရှာဖွေမှု
alpha_erodeint10အနားစွန်း တိုက်စားမှု အရွယ်အစား (၁-၂၅)။ အနားစွန်း ထက်မြက်မှုကို ထိန်းချုပ်ပေးသည်။
alpha_base_sizeint1000အယ်လ်ဖာ မတ်တင်း လုပ်ဆောင်မှုအတွက် အခြေခံအရွယ်အစား။ ပိုမြင့် = အရည်အသွေး ပိုကောင်းသော်လည်း ပိုနှေးသည်
only_maskbooleanfalseပွင့်လင်းမြင်သာသောပုံအစား အနက်ရောင်/အဖြူရောင်မျက်နှာဖုံးကို ပြန်သုံးပါ
bg_typestringtransparentနောက်ခံအမျိုးအစား- ဖောက်ထွင်းမြင်ရသော၊ အရောင် သို့မဟုတ် ရုပ်ပုံ
bg_color_valuestring#ffffffhex ဖော်မတ်ဖြင့် နောက်ခံအရောင် (bg_type=color ဖြစ်သည့်အခါ)

ဗီဒီယို စီမံဆောင်ရွက်မှု ကန့်သတ်ချက်များ

ကန့်သတ်ချက်အမျိုးအစားမူရင်းဖော်ပြချက်
convert_tostringလိုအပ်သည်ဗီဒီယို-နောက်ခံဖယ်ရှားခြင်းသို့ သတ်မှတ်ပါ
modelstringu2netAI မော်ဒယ်- u2net (ယေဘုယျ)၊ u2net_human_seg (လူများ)၊ u2netp (မြန်ဆန်)
video_formatstringmovအထွက်ဖော်မတ်- mov (ဖောက်ထွင်းမြင်ရသည်)၊ mattekey (mp4 matte)၊ gif (ကာတွန်းပုံ)၊ video_over_image၊ video_over_video၊ gif_with_bg၊ mp4_with_color
alpha_mattingbooleanfalseအနားသတ်များ ပိုမိုထက်မြက်စေရန်အတွက် အယ်လ်ဖာ မတ်တင်းကို ဖွင့်ပါ
alpha_fgint240ရှေ့မျက်နှာပြင် ကန့်သတ်ချက် (၀-၂၅၅)
alpha_bgint10နောက်ခံ ကန့်သတ်ချက် (၀-၂၅၅)
alpha_erodeint10အနားစွန်း တိုက်စားမှု အရွယ်အစား (၁-၂၅)
alpha_base_sizeint1000အယ်လ်ဖာ မတ်တင်း လုပ်ငန်းစဉ်အတွက် အခြေခံအရွယ်အစား
video_bg_color_enabledbooleanfalseအစိုင်အခဲအရောင်နောက်ခံကိုဖွင့်ပါ (mp4_with_color format အတွက်)
video_bg_colorstring#00ff00hex ဖော်မတ်ဖြင့် နောက်ခံအရောင်
framerateintautoစိတ်ကြိုက် output framerate (1-60 FPS)။ input video နှင့် ကိုက်ညီစေရန် ဗလာထားခဲ့ပါ။
frame_limitintnoneပထမဆုံး 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

ဖိုင်များစွာကို စီမံဆောင်ရွက်ရန်အတွက်၊ တစ်ခုတည်းသော တောင်းဆိုချက်တွင် ဖိုင်များစွာကို ထည့်သွင်းပါ။ ဖိုင်တစ်ခုစီကို သီးခြားစီ စီမံဆောင်ရွက်ပြီး ပြန်ပို့ပါမည်။