Remove Image Background Programmatically via the API
Except the online version, PhotoScissors offers the API for removing image backgrounds with just few lines of code.
How to integrate background removal capabilities into any app or website:
- Step 1: Get your API Key.
- Step 2: Use the following code samples to get started quickly
cURL
curl -H 'X-API-Key: INSERT_YOUR_API_KEY_HERE' \ -F '[email protected]/path/to/file.jpg' \ -F 'mode=image' \ -F 'format=jpg' \ -F 'background_color=#FFFFFF' \ -f https://api.photoscissors.com/v1/change-background \ -o result.jpg
Node.js
const axios = require('axios'); const FormData = require('form-data'); const fs = require('fs'); const formData = new FormData(); formData.append('mode', 'image'); formData.append('format', 'jpg'); formData.append('backround_color', '#FFFFFF'); formData.append('image', fs.createReadStream('/path/to/file.jpg')); axios({ method: 'post', url: 'https://api.photoscissors.com/v1/change-background', data: formData, responseType: 'arraybuffer', headers: { ...formData.getHeaders(), 'X-Api-Key': 'INSERT_YOUR_API_KEY_HERE', } }).then((response) => { if (response.status != 200) return console.error('Error:', response.status, response.statusText); fs.writeFileSync("result.jpg", response.data); }).catch((error) => { return console.error('Request failed:', error); });
Python
# Requires "requests" to be installed (see python-requests.org) import requests response = requests.post( 'https://api.photoscissors.com/v1/change-background', files={'image': ('image.jpg', open('/path/to/file.jpg', 'rb'), 'image/jpeg')}, data={'mode': 'image', 'format': 'jpg', 'background_color': '#FFFFFF'}, headers={'X-Api-Key': 'INSERT_YOUR_API_KEY_HERE'}, ) if response.status_code == requests.codes.ok: with open('result.jpg', 'wb') as out: out.write(response.content) else: print("Error:", response.status_code, response.text)
PHP
// Requires "guzzle" to be installed (see guzzlephp.org) $client = new GuzzleHttp\Client(); $res = $client->post('https://api.photoscissors.com/v1/change-background', [ 'multipart' => [ [ 'name' => 'image', 'contents' => fopen('/path/to/file.jpg', 'r') ], [ 'name' => 'mode', 'contents' => 'image' ], [ 'name' => 'format', 'contents' => 'jpg' ], [ 'name' => 'background_color', 'contents' => '#FFFFFF' ] ], 'headers' => [ 'X-Api-Key' => 'INSERT_YOUR_API_KEY_HERE' ] ]); $fp = fopen("result.jpg", "wb"); fwrite($fp, $res->getBody()); fclose($fp);
.NET
using (var client = new HttpClient()) using (var formData = new MultipartFormDataContent()) { var inFileStream = new FileStream("/path/to/file.jpg", FileMode.Open); StreamContent imageContent = new StreamContent(inFileStream); imageContent.Headers.ContentType = new MediaTypeHeaderValue("image/jpeg"); formData.Headers.Add("X-Api-Key", "INSERT_YOUR_API_KEY_HERE"); formData.Add(imageContent, "image", "image.jpg"); formData.Add(new StringContent("image"), "mode"); formData.Add(new StringContent("jpg"), "format"); formData.Add(new StringContent("#FFFFFF"), "backround_color"); var response = client.PostAsync("https://api.photoscissors.com/v1/change-background", formData).Result; if (response.IsSuccessStatusCode) { FileStream fileStream = new FileStream("result.jpg", FileMode.Create, FileAccess.Write, FileShare.None); response.Content.CopyToAsync(fileStream).ContinueWith((copyTask) => { fileStream.Close(); }); } else { Console.WriteLine("Error: " + response.Content.ReadAsStringAsync().Result); } }
API Reference
POST: https://api.photoscissors.com/v1/change-background
Removes the background of a JPG/PNG image.
Output resolutions available: up to 4 megapixels
Parameters:
-
image
Source image file (binary). -
mode (image or alpha)
image - returns image without background
alpha - returs alpha mask. -
format (jpg or png)
Result image format -
background_color
hex color code -
background_fit_to_result (true or false)
Crop result image to the content rectangle