Removit API v1 is a strong fit for API backend integration when teams need a predictable image processing API with explicit upload and polling steps.
Generate consistent output assets for product listings, marketplaces, and merchandising teams.
Use the API documentation to build secure upload, polling, and result retrieval flows in backend services or workers.
Plug the API into DAM, PIM, CMS, or orchestration layers that already manage remote assets and job queues.
Automate product image cleanup and output delivery for ecommerce listing workflows.
Trigger clipping jobs and recover final renders or intermediate variations for downstream pipelines.
Use a backend or proxy layer to integrate Removit API into your catalog and asset systems.
This API documentation example shows the two essential calls behind the asynchronous API contract: create the job, then poll the job status API.
curl -X POST "https://api.removit.eu/api/v1/upload" \
-H "Content-Type: application/json" \
-H "X-API-Key: <YOUR_API_KEY>" \
-d '{
"file_url": "https://example.com/image.jpg",
"mode": "background"
}'
curl "https://api.removit.eu/api/v1/status?job_id=<JOB_ID>" \
-H "X-API-Key: <YOUR_API_KEY>"const BASE_URL = "https://api.removit.eu";
const API_KEY = process.env.REMOVIT_API_KEY;
async function uploadAndPoll() {
const uploadRes = await fetch(`${BASE_URL}/api/v1/upload`, {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-API-Key": API_KEY,
},
body: JSON.stringify({
file_url: "https://example.com/image.jpg",
mode: "background",
}),
});
const upload = await uploadRes.json();
const jobId = upload.job_id;
return fetch(
`${BASE_URL}/api/v1/status?job_id=${encodeURIComponent(jobId)}`,
{ headers: { "X-API-Key": API_KEY } },
);
}$baseUrl = "https://api.removit.eu";
$apiKey = getenv("REMOVIT_API_KEY");
$uploadCh = curl_init("{$baseUrl}/api/v1/upload");
curl_setopt_array($uploadCh, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: {$apiKey}",
],
CURLOPT_POSTFIELDS => json_encode([
"file_url" => "https://example.com/image.jpg",
"mode" => "background",
]),
]);
$upload = json_decode(curl_exec($uploadCh), true);
curl_close($uploadCh);
$statusCh = curl_init("{$baseUrl}/api/v1/status?job_id=" . rawurlencode($upload["job_id"]));
curl_setopt_array($statusCh, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["X-API-Key: {$apiKey}"],
]);
$status = json_decode(curl_exec($statusCh), true);
curl_close($statusCh);import os
import requests
base_url = "https://api.removit.eu"
api_key = os.environ["REMOVIT_API_KEY"]
upload = requests.post(
f"{base_url}/api/v1/upload",
headers={
"Content-Type": "application/json",
"X-API-Key": api_key,
},
json={
"file_url": "https://example.com/image.jpg",
"mode": "background",
},
).json()
status = requests.get(
f"{base_url}/api/v1/status",
headers={"X-API-Key": api_key},
params={"job_id": upload["job_id"]},
).json()