Photoroom API Documentation
Ask or search…
K

Python Integration

In this tutorial, I will show you how you can integrate the PhotoRoom API into a Python codebase in just a few minutes.

Step 1: Get Your API Key

The first thing you need to do is get your API key. Here are the steps you'll need to follow:

Step 2: Use Our Sample Code

Visit PhotoRoom’s GitHub to find a sample code that's ready to use.
Simply copy and paste the code into your project, and update the placeholder with your own API key.
import http.client
import mimetypes
import os
import uuid
# Please replace with your own apiKey
apiKey = 'YOUR_API_KEY_HERE'
def remove_background(input_image_path, output_image_path):
# Define multipart boundary
boundary = '----------{}'.format(uuid.uuid4().hex)
# Get mimetype of image
content_type, _ = mimetypes.guess_type(input_image_path)
if content_type is None:
content_type = 'application/octet-stream' # Default type if guessing fails
# Prepare the POST data
with open(input_image_path, 'rb') as f:
image_data = f.read()
filename = os.path.basename(input_image_path)
body = (
f"--{boundary}\r\n"
f"Content-Disposition: form-data; name=\"image_file\"; filename=\"{filename}\"\r\n"
f"Content-Type: {content_type}\r\n\r\n"
).encode('utf-8') + image_data + f"\r\n--{boundary}--\r\n".encode('utf-8')
# Set up the HTTP connection and headers
conn = http.client.HTTPSConnection('sdk.photoroom.com')
headers = {
'Content-Type': f'multipart/form-data; boundary={boundary}',
'x-api-key': apiKey
}
# Make the POST request
conn.request('POST', '/v1/segment', body=body, headers=headers)
response = conn.getresponse()
# Handle the response
if response.status == 200:
response_data = response.read()
with open(output_image_path, 'wb') as out_f:
out_f.write(response_data)
print("Image saved to", output_image_path)
else:
print(f"Error: {response.status} - {response.reason}")
print(response.read())
# Close the connection
conn.close()

Step 3: Call the API

Now it's time to call the API in your code! Just use the function remove_background() and pass as arguments both the path of the original image and the path where the result image should be saved.
from remove_background import remove_background
# Example usage
input_path = "test.jpg"
output_path = "result.png"
remove_background(input_path, output_path)

You're done!

That's it! With just these three easy steps, you can integrate the PhotoRoom Background Removal API into your Python project and provide your users with high-quality images with clean backgrounds.
According to resellers who use the PhotoRoom app, this feature can increase sales by 20 up to 100%.
If you want to learn more about the PhotoRoom API and get your API key, visit https://www.photoroom.com/api.