Batch Process Entire Catalogs
Loop through your product image folder and send each file to the API. Process 1,000 images in minutes with parallel requests. Integrate directly into your Shopify upload pipeline.
Automate clean product images for marketplaces and storefronts without manual Photoshop work. FAPIhub helps e-commerce teams process entire catalogs with API-first workflows and predictable cost per image.
Selling products on Amazon, eBay, Etsy, or your own Shopify store requires clean white or transparent background images. Amazon explicitly requires pure white backgrounds (#FFFFFF) for main product images. Etsy recommends clean backgrounds to improve click-through rates. Without this, your listings look unprofessional and convert poorly.
Manual editing in Photoshop takes 5–15 minutes per image. For a store with 500 SKUs — each needing 3–5 images — that's 37 to 62 hours of editing before you can even list your products. Outsourcing to a photo editor costs $1–3 per image, which adds up to $1,500–7,500 for that same catalog.
The only scalable solution is API automation. But most background removal APIs charge $0.02–$0.20 per image — at 10,000 images per month, that's $200 to $2,000 on top of your other costs. If your product catalog changes weekly, those costs become a permanent tax on operations.
Loop through your product image folder and send each file to the API. Process 1,000 images in minutes with parallel requests. Integrate directly into your Shopify upload pipeline.
At 10,000 images/month you pay $20 on FAPIhub vs $200 on PhotoRoom or $2,000 on remove.bg. No monthly minimum — pay only for what you actually process.
Get PNG with transparency for overlays, or use the color endpoint to get Amazon-ready pure white backgrounds in a single API call. No post-processing needed.
This example processes an entire folder of product images and saves them with transparent backgrounds.
import requests
from pathlib import Path
import time
API_KEY = "YOUR_API_KEY"
INPUT_FOLDER = Path("product_images")
OUTPUT_FOLDER = Path("processed_images")
OUTPUT_FOLDER.mkdir(exist_ok=True)
def remove_background(image_path):
with open(image_path, "rb") as image_file:
response = requests.post(
"https://fapihub.com/v2/rembg/",
headers={"token": API_KEY},
files={"image": image_file},
timeout=30
)
if response.status_code == 200:
output_path = OUTPUT_FOLDER / (image_path.stem + "_nobg.png")
with open(output_path, "wb") as f:
f.write(response.content)
print(f"✓ {image_path.name} → {output_path.name}")
return True
else:
print(f"✗ {image_path.name} — Error {response.status_code}")
return False
images = list(INPUT_FOLDER.glob("*.jpg")) + list(INPUT_FOLDER.glob("*.png"))
print(f"Processing {len(images)} images...")
success = sum(remove_background(img) for img in images)
print(f"\nDone: {success}/{len(images)} images processed successfully.")